macros-are-expressions-of-freedom

Metasyntactic levels give the user of a system freedom.

Soccer. There is one rule for casual play: do not touch the ball withyour hands. Everything else follows, and all of the rules are develoepdaround this beautiful, simple principle. The structured game falls outfrom this very simple idea.

Lisp

Everything is a list. Actually it turns out that even common lispdoesn't have proper homoionicity lol, but if your program has a list andyou have this wild 'eval' function that can evaluate a list, turns outyou can consdtruct the world. CPS is less important and actuallydistracting. CPS feels like a rule that builds complexity rather thanfreedom; tools like call/cc introduce another system of evaluation thatis quite difficult to handle in addition to the traditional one, andprogrammers wan the value in their head; they don't want to have tothink about all the continuations we have in the current context, theyjust want to think about what i can get from what I have right now andwhere it goes and to forget about the rest. "CPS is for old people". -Matthias Felleisen

The biggest thing I don't like about lisp is that it obscures detailsabout the underlying system; it assumes some model of infinite memory.

Forth

Eveyrthing is a stack adn we have this simple stack machine that can doanything. Insanely efficient, and unlike even lisp we don't needmultuple evaluation levels to properly metaprogram. We can just movefunctions around on the stack! This is not dissimilar to tactics, inthat tactics keep in mind some order of application of a list ofexpressions and allow you to rearrange how they're applied in ametaprogram when proving theorems. Is a metaprogram the right word? I'mnot sure.

I also like that stack langauges like forth, through their semantics,implicitly develop a memory model of the underlying system.

DJing

DJing is just a macro system for music. You have these completed tracksmade by these beautiful artists, and you can approach whole-trackmodification after these products can be completed, ev en adding in newsongs and ideas on top of them. You have this ver ysimple set of rules -you have control ovewr the position of the track and the volume of thewaveform at particular points. and so much beauty falls out from thatand from the music of others. djing is really a social event, aconversation with those around you. provide them the energy to hang out!

You can get "into the guts" of DJing as much as you want, and the samerules apply to every track! but it's this investigative, descriptiveprocess of breaking down the waveforms of a completed song andextracting imperfect information from them. you're taking completeproducts and dissecting them to form new thing

Prose

Writing is inherently unstructured and we can ascribe any structure wewant to it, which is beautiful. prose is unstructured conversation, andit's important for everything to be a conversation

Photography

reminds me of DJing; your role is only to highlight a particularperspective. you can control the "macro" elements but not the micro(photoshop can be avoided with better work and better practices!) and ilove the practice of using lightroom "macros" to adjust the environmentglobally, and having some level of local change, but not being able todirectly modify everything locally. ie if i'm taking a photo of abuilding i have no ability to modify the building, i must just observeit and try to frame it in the best way possible. this reminds me ofworshipping, and maybe djing is worshipping tracks, but it is alsohaving a conversation with the space you're inhabiting and with thecreators, like programming

Revisions
DateHash
2023-02-22
Navigation
Previouspublic
Nextwm
Uppages