Giter VIP home page Giter VIP logo

peregrine's Introduction

Note - We are rewriting the entire thing so please check the rewrite branch

Peregrine

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

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

Purpose and intent

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

Why am I creating this language?

I am creating it to have the simplicity of Python with the efficiency of 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 a memory leak.

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

Building/compiling Peregrine

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

Requirements to build from source

Compilation instructions

  1. Clone this repository using the following command: git clone https://github.com/Peregrine-lang/Peregrine.git
  2. Run cd Peregrine/Peregrine
  3. To build it, run v peregrine.v
  4. That's it. It's that simple

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

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 questions?

Cool, you can contact me via mail.
Email: [email protected]
Discord : https://discord.gg/CAMgzwDJDM

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

Want to contribute?

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

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

Testing

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

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

License

The Peregrine compiler is licensed under the Mozilla Public License, which is attached in this repository

peregrine's People

Contributors

saptakbhoumik avatar clientcrash avatar ethanolchik avatar mdgaziur avatar lainq avatar rechiekho avatar ccode-lang avatar mosacode avatar cyberflamego avatar g0g05arui avatar shravanasati avatar anirudhgray avatar dv8081 avatar gabriel-milan avatar mmvanheusden avatar shashankx86 avatar jammincoder avatar robotboyfriend avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.