• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

LispCast

Making the world safe for Functional Programming

  • Hire Eric
  • Podcast
  • Essays
  • About

clojure

Data-First Programming

Eric Normand · Published February 28, 2015

If something is important, you should deal with it sooner and more often. That’s the approach Clojure takes to data representations. It means serialization of internal data is a non-issue.

Data > Functions > Macros. But why?

Eric Normand · Updated August 23, 2018

“Prefer data over functions” is a common adage in Clojure circles. It is poorly debated because it is a terse statement in generalities. A valuable perspective is that data is transparent at runtime, while functions are not. This perspective gives a firm ground for discussion and design.

Token Buckets with core.async

Eric Normand · Updated August 2, 2018

Token Bucket is a simple algorithm for rate limiting a resource. It’s easy to understand because you can reason about it in terms of real-world objects. core.async makes this algorithm very clear and easy.

Pre-conj Prep 2014

Eric Normand · Published September 21, 2014

Prepare for the Clojure/conj with media from around the web.

Clojure is Imperative

Eric Normand · Updated August 17, 2018

Clojure is an imperative language. Its operations are defined in terms of concrete actions. But those actions are often the same actions available to the programmer at runtime. This makes it easy to bootstrap.

Complex Syntax

Eric Normand · Updated August 17, 2018

Lisps are revered for their simple syntax, but parens are complex. They complect function calls and macro calls, which have drastically different semantics.

Hindley-Milner in Clojure

Eric Normand · Published January 14, 2014

I wrote a lambda-calculus interpreter and an implementation of Hindley-Milner to type check it.

Nil Punning (Or Null Pointers Considered Not So Bad)

Eric Normand · Updated August 23, 2018

Null pointers are still a problem in Clojure, but several design decisions have made them less problematic than other languages.

  • « Go to Previous Page
  • Go to page 1
  • Go to page 2
  • Go to page 3

Primary Sidebar

                  Hire Eric

Professional Services

  • Speaking
  • Consulting
  • Training

KEEP IN TOUCH WITH ERIC NORMAND

  • Email
  • GitHub
  • LinkedIn
  • Phone
  • RSS
  • Twitter
  • YouTube

Footer

  • Email
  • GitHub
  • LinkedIn
  • Phone
  • RSS
  • Twitter
  • YouTube

Professional Services

  • Speaking
  • Consulting
  • Training

Content

  • Essays
  • Podcast
  • Presentations

Copyright © 2021 Eric Normand