One of my pet thought projects is actually to imagine what an immutable smalltalk look like. It seems to me that a simple DSL to provide a smalltalk veneer on top of clojure/datomic is worth exploring.. but I've already said too much.
> One of my pet thought projects is actually to imagine what an immutable smalltalk look like.
Honestly, Haskell as it stands comes pretty close.
I assume you're talking about pure immutability (for which Haskell is famous), and Smalltalk's message-passing is really just a way of currying functions (with a slightly different syntax).
You could probably stitch something simple together with Haskell + Parsec fairly easily.