A wonderful video from 1995 introducing the Self language.
It demonstrates a uniform evaluation model, "direct" programming where you can modify object inheritance live, break apart GUIs and build new ones from methods, and even a cheesy CGI finish!
https://youtu.be/Ox5P7QyL774
miniblog.
Related Posts
I'm still experimenting with UIs for live (sandboxed) evaluation of tests. I've realised that you really want to highlight the failing assertion, not just the failing test.
Feedback welcome :)
It's odd how lazy evaluation is generally seen as a niche design choice, yet the vast majority of languages treat `foo() || bar()` as short-circuiting.
Implementing type checking as another interpreter, with short, accessible examples: