Skip to main content

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

Metadata

Release files for rfpl 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for rfpl 1.0.0
File Interpreter ABI Platform Actions
rfpl-1.0.0-py3-none-any.whl Python 3 none any Details for rfpl-1.0.0-py3-none-any.whl

Release files / rfpl-1.0.0-py3-none-any.whl

Download URL rfpl-1.0.0-py3-none-any.whl
Size 35.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c0c3e19358ef7858f228e3af8350216cd55d3aaf57b939ccfdad46368e15cdcc
BLAKE2b-256 checksum
How to use checksums
4a73bf12d8eb69232ccf6ff53cb34b774908bcf3afbf0d35c00c2d7736dc48af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.1

Security for rfpl 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page