InfoQ Homepage LISP Content on InfoQ
-
Clojure: Towards The Essence Of Programming
Howard Lewis Ship talks about Clojure, a language more concise, testable, and readable than Java, letting the developer to focus on his work rather than a verbose syntax.
-
Clojure: The Art of Abstraction
Alex Miller presents some of the abstractions that make Clojure a great language: Collections, Sequence and Higher Order Functions, Multimethods, Protocols, Atoms, Macros, and others.
-
Perception and Action: An Introduction to Clojure's Time Model
Stuart Halloway discusses how we use a total control time model, proposing a different one that represents the world more accurately helping to solve some of the concurrency and parallelism problems.
-
Monads Made Easy
Jim Duey demystifies monads through code examples written in Clojure, explaining what monads are, how they are used and how to write one.
-
Clojure-Java Interop: A Better Java than Java
Stuart Dabbs Halloway reviews Clojure’s syntax and explains how Clojure-Java interop works. He then talks about simplicity, attempting to prove that Clojure is a simpler and better language than Java.
-
Panel: The Future of Programming Languages
Guy Steele, Douglas Crockford, Josh Bloch, Alex Payne, Bruce Tate, and Ted Neward (moderator) hold a discussion on the future of programming taking questions from the audience.
-
Clojure's Solutions to the Expression Problem
Chris Houser presents the expression problem showing how to solve it using multimethods and protocols in Clojure, mentioning pros and cons of each method.
-
Functional Approaches To Parallelism and Concurrency
Don Syme on functional languages features, showing why and when they are useful for parallel programming: simplicity, composability, immutability, lightweight reaction, translations, data parallelism.
-
Functional Languages 101: What’s All the Fuss About?
Rebecca Parsons makes an basic introduction to functional languages, explaining how to think in a functional language, why is there renewed interested in them, and some nifty things about them.
-
Evolving the Key/Value Programming Model to a Higher Level
Billy Newport discusses the ways that developers interact with key/value stores, entity vs column-oriented approaches, sync vs async operations, large data sets, and collocating closures and data.
-
Persistent Data Structures and Managed References
Rich Hickey talks on identity, state and values. He explains how to represent composite objects as values and how to deal with change and state, as it is implemented in Clojure.
-
The Evolution of Lisp
Guy L. Steele Jr. and Richard P. Gabriel reenact their presentation called “The Evolution of Lisp” which took place during ACM History of Languages Conference in 1993.