A crust of code
  • Home
  • Subscribe (RSS)
Sign in Subscribe

compilation

A collection of 5 posts
macros

The How of Macros 5: Unquoting

As you now know [https://www.crustofcode.com/how4/], quote descends the syntax tree that is its argument and converts it into code that will, when executed, build the original syntax tree. quote is usually not useful unless the tree contains unquote or unquote_splicing nodes. This post explains how
12 Jul 2021 4 min read
macros

The How of Macros 4: `quote`

When the Elixir parser sees quote do: content, it produces a 3-tuple of the form {:quote, metadata, [[do: content]]}. Marick takes a deep breath. :quote is a special form that takes the abstract syntax tree content (which represents Elixir code) and turns it into an abstract syntax tree for
06 Jul 2021 3 min read
macros

The How of Macros 3: Syntax trees for literal data

The previous post showed how code is represented as syntax trees. This one shows how literal data like %{a: 3} are represented.
05 Jul 2021 2 min read
compilation

The How of Macros 2: Syntax trees

The last post looked mainly at the different binding maps that are created and used during bytecode generation. This post looks at the syntax trees that are parsed from Elixir text, then delivered to the bytecode generator.
04 Jul 2021 3 min read
elixir

The How of Macros 1: Elixir compilation

As Abraham Lincoln did not say: those who like this sort of thing (details of programming language implementation) will find this the sort of thing they like.
03 Jul 2021 10 min read
Page 1 of 1
A crust of code © 2026
Powered by Ghost