README.md


<!--
DO NOT EDIT THIS FILE
It has been generated from the template `README.md.eex` by Extractly (https://github.com/RobertDober/extractly.git)
and any changes you make in this file will most likely be lost
-->

# LixParser

**TODO: Add description**


## Table Of Content

- [Table Of Content](#table-of-content)
- [Documentation](#documentation)
  - [LixParser](#lixparser)
- [Literals](#literals)
- [LICENSE](#license)

Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at <https://hexdocs.pm/lix_parser>.

It is also included in the next chapter

## Documentation

### LixParser


# Abstract

Lix is a simple Lisp dialect which is parsed by `LixParser.parse` into an AST.

This AST can then be interpreted as seen fit. An example of a useful interpretation can
be found in [`LixEval`](https://hex.pm/packages/lix_eval) which defines a minimum of
special forms (`def`, `fn`, `defn`, `let` and `use`)

The syntax of Lix is defined by the following doctests

# Syntax

## Literals

```elixir
    iex(1)> parse("42")
    {:ok, {:literal, 42}}
```

As long as we get an `:ok` result we can use `parse!` too

```elixir
    iex(2)> parse!("43")
    {:literal, 43}
```




## LICENSE

Apache-2.0 see [for details](LICENSE)

<!--SPDX-License-Identifier: Apache-2.0-->