Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/byxor/limp
A general purpose programming language
https://github.com/byxor/limp
interpreter programming-language
Last synced: 14 days ago
JSON representation
A general purpose programming language
- Host: GitHub
- URL: https://github.com/byxor/limp
- Owner: byxor
- License: gpl-3.0
- Created: 2017-07-26T22:23:55.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-11-01T22:37:07.000Z (about 5 years ago)
- Last Synced: 2025-01-03T23:22:04.082Z (21 days ago)
- Topics: interpreter, programming-language
- Language: Python
- Homepage: https://byxor.xyz/try-limp
- Size: 430 KB
- Stars: 3
- Watchers: 3
- Forks: 2
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# limp
[![PyPI](https://img.shields.io/pypi/v/limp.svg)](https://pypi.python.org/pypi/limp) [![GitHub issues](https://img.shields.io/github/issues/byxor/limp.svg)](https://github.com/byxor/limp/issues) [![GitHub forks](https://img.shields.io/github/forks/byxor/limp.svg)](https://github.com/byxor/limp/network) [![GitHub license](https://img.shields.io/badge/license-GPLv3-blue.svg)](https://raw.githubusercontent.com/byxor/limp/master/LICENSE)
[![BCH compliance](https://bettercodehub.com/edge/badge/byxor/limp?branch=master)](https://bettercodehub.com/) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/d62bf84d8b6f45348847f791eae01690)](https://www.codacy.com/app/byxor/limp?utm_source=github.com&utm_medium=referral&utm_content=byxor/limp&utm_campaign=badger) [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/d62bf84d8b6f45348847f791eae01690)](https://www.codacy.com/app/byxor/limp?utm_source=github.com&utm_medium=referral&utm_content=byxor/limp&utm_campaign=Badge_Coverage)
[(View Codacy Stats)](https://www.codacy.com/app/byxor/limp/dashboard)
A general purpose programming language, built with the aim to materialise the following ideas:
1. Simplicity - There is very little syntax.
2. Immutability - Existing state cannot be modified.
3. Less Misdirection - Comments cannot be abused; the code should be self-documenting.
4. Granularity - Functions should remain small.
5. Reusability - Packages can be easily shared and installed._Disclaimer: Not all of these ideas have been fully realised yet._
## For users:
### Installation
Install globally: `sudo pip install limp`
Install for user: `pip install limp --user`### Try it out
#### In your browser
You can try the language out online! http://byxor.xyz/try-limp
#### Or run it locally
```python
$ limp
Welcome to LIMP! You're now in a REPL, have fun.
> 5
5
> (+ 1 2)
3
> if {(= 256 (** 2 8)): "You know it."}
You know it.
> (map (n -> (+ n 1)) [1 2 3 4])
[2 3 4 5]
```## For developers:
Dependencies:
```
* python3.6 (to run the code)
* pip (to download and install other python packages)
* virtualenv (makes development easier, helps with importing modules)
```### Setup
1. Clone the repository.
2. Create a virtual environment.
```bash
# From the root directory of the repository...
virtualenv venv -p /path/to/python3.6
```
3. Activate the virtual environment.
```bash
source venv/bin/activate
```
4. Update pip dependencies.
```bash
# Requires that you've activated the virtual environment.
pip install -r requirements.txt --upgrade
```
### Running the tests
```bash
# From the root directory of the repository...
nosetests
```If you haven't activated the virtual environment using the setup instructions, you will get plenty of import errors when running tests. This is because the virtualenvironment modifies the PYTHONPATH environment variable, which determines how imports behave.