Note - We are rewriting the entire thing so please check the rewrite branch
Peregrine is a compiled programming language currently under development. Documentation is coming soon.
I am creating it to have the simplicity of Python with the efficiency of C.
- Ease of use
- Fast
- Highly modular
- Occupies less memory
- Compiled
You can consider it to be a superset of C which compiles to clean C. So valid C code is also valid Peregrine code (the language is named Peregrine). It will have no garbage collector because it is a system programming language but it will be very easy to use so there will be less chance of a memory leak.
- Clone this repository using the following command:
git clone https://github.com/Peregrine-lang/Peregrine.git
- Run
cd Peregrine/Peregrine
- To build it, run
v peregrine.v
- That's it. It's that simple
It is written in V
Currently we are working on the codegen and some Peregrine programs are working
Here is a small example for you to understand:
def main():
print("Hello, World!")
The main
function is the entry point for the program.
Cool, you can contact me via mail.
Email: saptakbhoumik@gmail.com
Discord : https://discord.gg/CAMgzwDJDM
Great, go ahead and make the changes you want, then submit a new pull request
Take a look at the open issues to find a mission that resonates with you.
Please check CONTRIBUTING.md to learn how you can contribute.
If you create any new file make sure to comment your name in the file as shown Original author: Your name
The project has automatic tests which will run on pull requests and pushes to the project.
Tests which require user input won't run but the code will still be compiled.
If you add new functionality to the project please run the appropriate tests for it, and create tests for your functionality if possible.
It is recommended to only use input when absolutely necessary (example: you test the input()
function)
This is the case because tests which require user input will only be compiled and can only be checked for syntax errors, and not issues with the functionality of the given test subject.
/Peregrine/tests/ci
- Tests which require no user input.
/Peregrine/tests/manual
- Tests which require user input and also include the tests you write for CI
The Peregrine compiler is licensed under the Mozilla Public License, which is attached in this repository