Recursive Functional Programming Language
Project description
RFPL: Recursive Functional Programming Language
RFPL is a recursive functional programming language designed primarily for educational purposes. It introduces the concept of primitive recursion—which you can read about on Wikipedia—and can also be used for non-educational purposes, such as for fun or challenges.
Usage
Installation
Easy Way
Install ANTLR4. Clone the repository and use make to run RFPL:
$ git clone https://github.com/AMBandariM/RFPL
$ cd RFPL
$ make # Launch RFPL's interactive console
$ make journey # Start "The RFPL Journey"
Easier Way
Alternatively, you can install RFPL using pip:
$ pip install rfpl
Then run:
$ rfpl # Launch RFPL's interactive console
$ journey # Start "The RFPL Journey"
$ # or run with `python -m rfpl` and `python -m journey` if there was PATH errors.
VSCode Syntax Highlighter
To enable syntax highlighting for RFPL files in VSCode:
- Open the Extensions panel.
- Search for
RFPL. - Install the RFPL Syntax Highlighter extension, which provides highlighting for
.rfplfiles.
Development and Contribution
Translating "The RFPL Journey"
You are welcome to translate the file ./journey/journey_en.json into your native language. Submit your translation, if the translation meets our quality standards, we will include it in future releases with your name and contact information.
Future Development
Although Version 1 of RFPL is complete and published, we have plans for future improvements:
- Refactoring: Extracting 'fundamental' functions from the interpreter.
- User Experience: Implementing a robust cache and function-guessing system.
- Dependency Management: Potentially removing ANTLR and other nonessential dependencies.
Documentation
You have to experience the language and read the source code. There is no additional documentation at this time—sorry about that.
Contact Information
-
Parsa Alizadeh [parsa.alizadeh1@gmail.com]
-
AmirMohammad Bandari Masoole [ambandarim@gmail.com]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rfpl-1.0.0-py3-none-any.whl.
File metadata
- Download URL: rfpl-1.0.0-py3-none-any.whl
- Upload date:
- Size: 35.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0c3e19358ef7858f228e3af8350216cd55d3aaf57b939ccfdad46368e15cdcc
|
|
| MD5 |
0f4326a25605043003b0b59c5abeb0ab
|
|
| BLAKE2b-256 |
4a73bf12d8eb69232ccf6ff53cb34b774908bcf3afbf0d35c00c2d7736dc48af
|