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.3.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.3-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lispython-0.3.3.tar.gz
  • Upload date:
  • Size: 63.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for lispython-0.3.3.tar.gz
Algorithm Hash digest
SHA256 926cb786354f5ec060699b43820400f479a866ede75a2011d35b09d5403ce1a2
MD5 0c5be5417bac5964bc997f9c92b349d5
BLAKE2b-256 b528e6c6284bf3392cef1e0fff9875e43775443344bcbe0e71f47740303ef825

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lispython-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for lispython-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dd28f17fe659014194cda70696c49515ada599659f613a20678ab983294bce80
MD5 8b13fb09f619ed7d32b588eae979c335
BLAKE2b-256 41a183eaed1a98b08bc35a3a2599f5f6fd6b3c1027a237414253cfc0704a2427

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