Snap is Scheme disguised as Scratch, a web browser based visual programming language aiming to support a technically rigorous introductory CS curriculum at the college and high school level.
v4.0 completes Snap's core language features supporting, among others
- user-defined procedures ("Build Your Own Blocks")
- lambda, incl. full closures ("Rings")
- first-class continuations (call/cc)
- tail-call optimization