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)