Skip to main content

Lisp-like Syntax for Python with Lisp-like Macros

Project description

LisPython

PyPI version

Documentation

You can find the documentation at https://jetack.github.io/lispython/.

Installation

Manual Installation (for development)

poetry install --no-root # for dependency
pip install -e . # for development

Using pip

pip install lispython

How to Run lispy code

Run from source

lpy {filename}.lpy

Run REPL

lpy
#or
lpy -t #if you want to print python translation.

Run translation

l2py {filename}.lpy

It just displays translation. (don't run it)

Run Tests

# in project root directory
python -m unittest
#or
lpy -m unittest

Todo

Environment

  • Test on more python versions
  • REPL should track history and arrow key navigation
  • REPL multi-line input support
  • Better compileation error messages

Macro System

  • as-> macro for syntactic sugar
  • gensym for avoiding name collision

Python AST

  • type_comment never considered. Later, it should be covered
  • Any missing AST nodes in the version 3.12+

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lispython-0.3.2.tar.gz (63.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lispython-0.3.2-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file lispython-0.3.2.tar.gz.

File metadata

  • Download URL: lispython-0.3.2.tar.gz
  • Upload date:
  • Size: 63.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for lispython-0.3.2.tar.gz
Algorithm Hash digest
SHA256 f70216e2d6250322c43e95e13c1ef3f76c3fd997c865dbfb2f7909f0d89054e9
MD5 75211b0647bd389fb68a37c25be4a270
BLAKE2b-256 fc53f0237ae58fe0e873619eff2716af016495752d59a5a4f1d649172a6b7d63

See more details on using hashes here.

File details

Details for the file lispython-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: lispython-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for lispython-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9d07ec3e538e43b50d55dc93af40f90a23a2e41e02c49dd88fd5b4750cdcb786
MD5 cae95498fcd97ce79d2f683afe975ded
BLAKE2b-256 c1039d20f630ada70ab074352790c07430b71b385a7a95722f7763db728a2ebd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page