Skip to main content

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:

  1. Open the Extensions panel.
  2. Search for RFPL.
  3. Install the RFPL Syntax Highlighter extension, which provides highlighting for .rfpl files.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rfpl-1.0.0-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

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

Hashes for rfpl-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0c3e19358ef7858f228e3af8350216cd55d3aaf57b939ccfdad46368e15cdcc
MD5 0f4326a25605043003b0b59c5abeb0ab
BLAKE2b-256 4a73bf12d8eb69232ccf6ff53cb34b774908bcf3afbf0d35c00c2d7736dc48af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page