Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/billhails/pyscheme
A small demo lambda-language written in Python
https://github.com/billhails/pyscheme
functional-programming language logic-programming pycharm python
Last synced: 2 months ago
JSON representation
A small demo lambda-language written in Python
- Host: GitHub
- URL: https://github.com/billhails/pyscheme
- Owner: billhails
- License: gpl-3.0
- Created: 2018-04-29T09:18:10.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-07-10T16:50:34.000Z (over 6 years ago)
- Last Synced: 2024-09-26T06:03:05.508Z (3 months ago)
- Topics: functional-programming, language, logic-programming, pycharm, python
- Language: Python
- Size: 350 KB
- Stars: 31
- Watchers: 6
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 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](https://github.com/billhails/PyScheme/wiki), then
read through the integration tests in [`pyscheme/tests/integration`](https://github.com/billhails/PyScheme/tree/master/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.
1. go to your pycharm projects root directory:
* `cd ~/PycharmProjects`
1. clone this repository to a temporary location alongside (not in) the PyScheme project:
* `git clone [email protected]:billhails/PyScheme.git pyscheme-tmp`
1. Copy everything from that temp location into the PyScheme directory (note the trailing slashes):
* `cp -R pyscheme-tmp/ PyScheme/`
1. delete the unneeded temporary clone:
* `rm -rf pyscheme-tmp`
1. 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 `coverage`
go 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 open
`htmlcov/index.html` in your browser.I believe that the PyCharm Professional edition has built-in coverage support.