A Clojure-like lisp written for Python
Project description
🐍 basilisp 🐍
A Lisp dialect inspired by Clojure targeting Python 3.
Disclaimer: Basilisp is a project I created to learn about Python, Clojure, and hosted languages generally. It should not be used in a production setting.
Getting Started
Basilisp is developed on GitHub and hosted on PyPI. You can fetch Basilisp using a simple:
pip install basilisp
Once Basilisp is installed, you can enter into the REPL using:
basilisp repl
Basilisp features many of the same functions and idioms as Clojure so you may find guides and documentation there helpful for getting started.
Developing on Basilisp
Requirements
This project uses pipenv to
manage the Python virtual environment and project dependencies. pipenv
can be installed using Homebrew (on OS X) or pip otherwise:
brew install pipenv
pip install --user pipenv
Additionally, pyenv is recommended to
manage versions of Python readily on your local development environment.
Setup of pyenv is somewhat more specific to your environment, so see
the documentation in the repository for more information.
Getting Started
To prepare your pipenv environment, you need to install dependencies
and install Basilisp as an editable dependency:
make setup-dev
Afterwards, you can start up the REPL for development with a simple:
make repl
If dependencies are added or changed afterwards, you may need to
make setup-dev again before attempting to start the REPL again or
run tests.
Linting, Running Tests, and Type Checking
Basilisp automates linting, running tests, and type checking using
Tox. All three steps can be performed
using a simple make target:
make test
Testing is performed using PyTest. Type checking is performed by MyPy. Linting is performed using Prospector.
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file basilisp-0.1.dev3.tar.gz.
File metadata
- Download URL: basilisp-0.1.dev3.tar.gz
- Upload date:
- Size: 132.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d10601a91b092ab81ae26f4ead48e005580a32ba2114c7af8c9580dc9badb598
|
|
| MD5 |
d0ad3dbe22937c479df4feb0e8ff1c75
|
|
| BLAKE2b-256 |
d16829fde514032e39baabe033c6a3b01d17704c070b2910aaec6fc909cb170d
|
File details
Details for the file basilisp-0.1.dev3-py2.py3-none-any.whl.
File metadata
- Download URL: basilisp-0.1.dev3-py2.py3-none-any.whl
- Upload date:
- Size: 155.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60fc0cc9d92846bfb3b2d59ca00325a4a1169d9ac4b7fce234bcb8eda781ba22
|
|
| MD5 |
425697c388fb8d82ee859c4626d2210c
|
|
| BLAKE2b-256 |
8064e08106dbe23c9fe9aa15e1db1e02a02ea8d98fc08cdd5a8a8da8302d77b1
|