A small demo lambda-language written in Python

billhails billhails Last update: Dec 06, 2020

PyScheme

A small lambda-language interpreter written in Python

Syntax is very much in the javascript/C/Java style, and I'm currently parsing with a hand-written recursive descent parser,which isn't ideal.

First Impressions

To get a feel for the language, first check out the wiki, thenread through the integration tests in pyscheme/tests/integration

Cloning

I'm new to Python so if anyone has any better way of doing this please comment.

In order to get this running on my laptop after pushing to GitHub from my home computer I did the following:

  1. Use PyCharm to create a new project called PyScheme.
  2. go to your pycharm projects root directory:
    • cd ~/PycharmProjects
  3. clone this repository to a temporary location alongside (not in) the PyScheme project:
  4. Copy everything from that temp location into the PyScheme directory (note the trailing slashes):
    • cp -R pyscheme-tmp/ PyScheme/
  5. delete the unneeded temporary clone:
    • rm -rf pyscheme-tmp
  6. check that it worked:
    • cd PyScheme
    • git status

If, like me, you're using PyCharm CE, You'll additionally need to install coverage. To install coveragego to the root of the distro and do

$ source ./venv/bin/activate$ pip install coverage

Test Coverage

Once those packages are installed, to see test coverage just run the run_coverage.py script, then openhtmlcov/index.html in your browser.

I believe that the PyCharm Professional edition has built-in coverage support.

Subscribe to our newsletter