CECS 524 -- Advanced Topics in Programming Languages
Course Details
Fall 2014 Syllabus
Fall 2014 Projects
Programming Clojure (Textbook)
The Joy of Clojure
General Programming Languages
The Revenge of the Nerds
Programming Paradigms for Dummies: What Every Programmer Should Know
FRACTRAN
Growing a Language
The Last Programming Language
Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs
Inheritance is evil, and must be destroyed
Functional Thinking for the Imperative Mind
Clojure Information
ClojureDocs
Clojure-powered Startups
Clojure (the site)
Mark Volkmann's Clojure page
Clojure Cheat Sheet (from Steve Tayon)
Clojure Concurrency (video)
Software Transactional Memory
Clojure Concurrency Tutorial Videos
Futures and promises in Clojure
Asynchronous concurrency in Clojure
Clojure 1.2 Protocols (video)
Clojure Success Stories
Clojure Videos
Clojure's approach to Identity and State
Understanding Clojure's PersistentVector implementation
Flowchart for choosing the right Clojure type definition form
Solving the Expression Problem with Clojure 1.2
Another Year of Clojure
Core.async Rich Hickey video
core.async and CSP Resources
Eric Meijer--The Lost Art of Denotational Semantics
Eric Meijer--What does it mean to be Reactive
Functional Reactive Programming - Cleanly Abstracted Interactivity
Unlocking Data-Driven Systems
Seven More Languages in Seven Weeks
Communicating Sequential Processes -- Hoare paper
core.async code for Hoare's CSP paper
The Theory and Practice of Concurrency (update of CSP)
Datomic by Rich Hickey
Rich Hickey: Deconstructing the Database
Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure
ClojureScript Release - Rich Hickey
ClojureScript: Lisp's Revenge
Designing Front End Applications with core.async
Core.Async video, Timothy Baldridge
Unlocking data-driven systems
Applying the paradigms of core.async in ClojureScript
Making Games at Runtime with Clojure
Exploring four hidden superpowers of Datomic
Intro to Datomic -- Rich Hickey
Datomic: up and running
Clojure/ClojureScript: One Language to Rule the Web
Clojure Examples
Insertion Sort
Leiningen
Vending Machine Specification
Vending Machine Code in Clojure
Krukow's Updated Ant Colony Code
Revised drawing the Mona Lisa using Clojure
Drawing the Mona Lisa using Clojure
Clojure application in the wild
Functional Fluid Dynamics in Clojure
Pong in Clojure
clojure.contrib.complex-numbers
Mire, a simple MUD
Alter and Commute
Lisp
The Roots of Lisp
On Lisp (for macros)