Marcelle Rusu (they/them)01/04/2024, 5:31 PM
Mattia Fregola01/05/2024, 5:06 AM
Konrad Hinsen01/05/2024, 8:14 AM
I think we should expand the definition of code in a language to include some of the tools and conventions that currently surround it.That's pretty much the philosophy of Smalltalk-80 and its descendants, the quote by Dan Ingalls you cite is an illustration. So, not suprisingly, the Smalltalk community has come up with a very similar mechanism: beacons (https://github.com/pharo-project/pharo-beacon). This is a logging framework designed to make sure that emitting log entries is very cheap if there is no listener. You can leave the emitting code in production software. Beacons are even more powerful because they can be combined with all the other interactive and reflective features of Smalltalk. My favorite example is logging the call stack. You can collect the call stack for each iteration of a loop, and then run the debugger on, say, the 5th iteration.
Csongor Bartus01/08/2024, 10:48 AM