Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/purefunctor/amalgam-lisp

LISP-like interpreted language implemented in Python.
https://github.com/purefunctor/amalgam-lisp

amalgam-lisp lisp pypi-package python python37 python38

Last synced: 4 months ago
JSON representation

LISP-like interpreted language implemented in Python.

Awesome Lists containing this project

README

        




LISP-like interpreted language implemented in Python.

















# Installation & Basic Usage
This package can be installed through PyPI:
```bash
$ pip install amalgam-lisp
```
This makes the `amalgam` command-line script available.
```bash
$ amalgam # To invoke the REPL
$ amalgam hello.am # To load and run a file
$ amalgam --expr="(+ 42 42)" # To evaluate an expression
```

# Development Setup
Install the following dependencies:
* Python 3.7 & 3.8
* [Poetry](https://python-poetry.org)
* [Nox](https://nox.thea.codes/en/stable/) (Optional)

Clone and then navigate to the repository:
```bash
$ git clone https://github.com/PureFunctor/amalgam-lisp.git
$ cd amalgam-lisp
```

Install the dependencies for the project:
```bash
$ poetry install
$ poetry run pre-commit install
```

## Running Tests / Coverage Reports / Building Documentation
This project uses `nox` for automating various tasks like running tests and building documentation.
```
$ nox
```

Alternatively, tests, coverage reports, and the documentation can be generated manually.
```bash
$ poetry run coverage run -m pytest
$ poetry run coverage report -m
$ poetry run coverage html
$ poetry run sphinx-build docs docs/build
```