R has "first class environments + fexpr equivalents + almost lexical scope". Wow, newLisp was the only language I knew with fexprs.
miniblog.
Related Posts
NLL (non-lexical lifetimes) now landing in Rust!
Emacs tip: add lexical-binding: t to your elisp files. This makes closures easier to reason about and lets the byte compiler find more bugs.
Macros where you have to specify a var name are really clean. They have few hygiene issues, and work with both lexical and dynamic binding!