1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 23:28:02 +00:00
Files
til/elixir/expose-internal-representation.md
2016-02-14 11:25:10 -06:00

17 lines
585 B
Markdown

# Expose Internal Representation
Elixir is a language that has strong support for metaprogramming. It
provides easy access to an internal representation of the code in the form
of an Abstract Syntax Tree (AST) using maps and keyword lists. The `quote`
macro is used to expose this internal representation.
```elixir
> quote do: 2 * 2
{:*, [context: Elixir, import: Kernel], [2, 2]}
> quote do: 2 * 2 == 4
{:==, [context: Elixir, import: Kernel],
[{:*, [context: Elixir, import: Kernel], [2, 2]}, 4]}
```
[source](http://elixir-lang.org/getting-started/meta/quote-and-unquote.html)