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.1.tar.gz (61.5 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.1-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lispython-0.3.1.tar.gz
  • Upload date:
  • Size: 61.5 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.1.tar.gz
Algorithm Hash digest
SHA256 353b3d9178da9b83569388fe2a8321e72359ff988519a93eb01c82058c0c3c34
MD5 0178d65893e951dae0707ed9698962a6
BLAKE2b-256 3c6bc48d7272cef63f8f99aa2891c810507ec460ad3ea0cc8058a0a3d89c45f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lispython-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 22.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 69dbd72fbd6cae30be58a6ed7dab1214f5dc017ea8d19c696d48af989ab48d86
MD5 f026bb214306f3d5ec025962ef8786e5
BLAKE2b-256 7693d63ea0d005f629ee54f9906769dfea10d38264e217f25f5a7dac5e59a029

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