Skip to content

A blazing fast language for the blazing fast world

License

Notifications You must be signed in to change notification settings

shaunstanislauslau/Peregrine

 
 

Peregrine

Peregrine is a compiled programming language currently under development. Docs coming soon.

-----------------------------------------------------

Why am I creating this language?

I am creating it as a fast alternative to Python and an easy one to C.

-----------------------------------------------------

Goals

  • Ease of use
  • Fast
  • Highly modular
  • Occupies less memory
  • Compiled

-----------------------------------------------------

How does it work?

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 memory leak.

-----------------------------------------------------

Requirements to build from source

Build instruction

  • 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

-----------------------------------------------------

Primary implementation language

It is written in V -----------------------------------------------------

Progress

Currently we are working on the codegen and some Peregrine programs are working :)

-----------------------------------------------------

Example

Here is a small example for you to understand:

def main():
    print("Hello, World!")

The main function is the entry point for the program.

-----------------------------------------------------

Have more questions?

Cool, you can contact me via mail.
Email: saptakbhoumik@gmail.com
Discord : https://discord.gg/CAMgzwDJDM

-----------------------------------------------------

Want to contribute?

Great, go ahead and make the changes you want.

Have a look at the open issues to find a mission that resonates with you.

Please check CONTRIBUTING.md to know 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

-----------------------------------------------------

Testing

The project has automatic tests which will run on any pull reuest and push to the project.
Tests which require user input wont run but they will still be compiled.
If you add new functionality to the project please create a test for it.

Its recommended to only use input when absolutly 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 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

-----------------------------------------------------

License

The Peregrine compiler is licensed under the Mozilla Public License

About

A blazing fast language for the blazing fast world

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • V 90.1%
  • C 8.0%
  • Other 1.9%