A general purpose programming language


Keywords
interpreter, programming-language
License
GPL-3.0
Install
pip install limp==0.13

Documentation

limp

PyPI GitHub issues GitHub forks GitHub license

BCH compliance Codacy Badge Codacy Badge

(View Codacy Stats)

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

$ 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.

# From the root directory of the repository...
virtualenv venv -p /path/to/python3.6
  1. Activate the virtual environment.
source venv/bin/activate
  1. Update pip dependencies.
# Requires that you've activated the virtual environment.
pip install -r requirements.txt --upgrade

Running the tests

# 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.