Rather than using gensym with let, Nimrod can detect when code has side effects and can't be duplicated: http://t.co/PlX8KfRBq4 Clever.
miniblog.
Related Posts
I like the notion of "pac-man complete", the idea that your programming language needs enough effects/IO to do a 2D game: https://prog21.dadgum.com/23.html
We should have more levels of language capability. 'Can do Hello World' and 'can do fizzbuzz' are useful for a new language.
Effects and code as a database in Unison: https://jaredforsyth.com/posts/whats-cool-about-unison/
Unison is looking at changing their program representation to plain sqlite!
Rust is exploring ideas that allow it to generalise over effects, so you don't need foo and foo_async.
It's an unusual name, and potentially complicates error messages, but it's good problem to examine.