Metalinks in Pharo:
https://www.slideshare.net/mobile/MarcusDenker/lecture-advanced-reflection-metalinks
This is an elegant way of taking the AST of running code and attaching modifiers to it: logging, tracing, override (think advice or AOP).
Pharo feels like the most open, dynamic language I've seen outside of f-expression based PLs.
Related Posts
I have a bunch of open tasks on my GH repos, so I tried asking ChatGPT and Claude to write a card-based web UI that showed some random open issues.
ChatGPT gave me something that worked, but the Claude mock-ups look better (and render inline!).
Sometimes programming tools are so good that you miss them when using other languages. I see these mentioned the most frequently:
* IntelliJ (for Java)
* Slime+Emacs (for Common Lisp)
* Pharo (for Smalltalk)
I'm struck that they all have bespoke UIs.
"Example Driven Development" using Glamorous and Pharo Smalltalk: https://medium.com/feenk/an-example-of-example-driven-development-4dea0d995920
Tests returning values and composing is a really interesting model. It establishes structure and shows which test failure is the most 'fundamental'.