A Lisp variant for customizing [[Emacs]]. [My Emacs init file](https://www.const.no/init/) is written in [[Org-mode]] and *tangled* to Elisp by using its [[Literate programming]] capabilities. In [[Literate programming]] parlance, documents on creation are _woven_ with code and documentation, and on export, the code is tangled for execution by a computer. Org facilitates weaving and tangling for producing, maintaining, sharing, and exporting literate programming documents. Org provides extensive customization options for extracting source code.
> If our code is just a bunch of arrays, we can _do stuff_ to the code. We could write code that generates code!
Here is an example of a associative list (like a [[Python#Dictionaries|dictionary in Python]] and [[Golang#Maps|map in Go]]):
```elisp
((pine . cones)
(oak . acorns)
(maple . seeds))
```
Read [An Intuition for Lisp Syntax](https://stopa.io/post/265). Some nuggets:
> Having your code represented as data doesn’t just allow you to manipulate your code with ease. It also allows your editor to do it too.
> All of a sudden, instead of editing characters, you are editing the _structure_ of your code. This is called [[Structural editing]] (see [[Abstract syntax tree|AST]]). It can help you move with the speed of a potter, and is one of the many wins you’ll get when your code is data.
> How could we make manipulating code as intuitive as manipulating _data_ within _our code_? The answer sprouts out: Make the code data! What an exciting conclusion. If we care about manipulating source code, we glide into the answer: the code _must_ be data.
In computer programming, [[Symbolic programming]] is a programming paradigm in which the program can manipulate its own formulas and program components as if they were plain data.
> Lisp is _discovered_. It’s like the solution to an optimization problem: if you care about manipulating code, you gravitate towards discovering Lisp. There’s something awe-inspiring about using a tool that’s discovered: who knows, alien life-forms could use Lisp!
Read [The Nature of Lisp](https://www.defmacro.org/ramblings/lisp.html) after.
See the discussion at [An Intuition for Lisp Syntax](https://news.ycombinator.com/item?id=24892297).
Maybe even [You already use Lisp syntax](https://blog.danieljanus.pl/2014/05/20/you-already-use-lisp-syntax/).