All Projects → peregrine-lang → Peregrine

peregrine-lang / Peregrine

Licence: MPL-2.0 license
A blazing fast language for the blazing fast world(WIP)

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
Meson
512 projects

Projects that are alternatives of or similar to Peregrine

CodeBucket
A beginner-friendly project to help you in open-source contributions. Made specifically for contributions in HACKTOBERFEST! Please leave a star ⭐ to support this project! ✨
Stars: ✭ 22 (-98.52%)
Mutual labels:  hacktoberfest2021
Hacktoberfest 21
No description or website provided.
Stars: ✭ 17 (-98.85%)
Mutual labels:  hacktoberfest2021
LuminousNewTab
Luminous New Tab is a beautiful 'new tab' browser extension that has an animated gradient background! New tabs will show your bookmarks, the time, weather and let you do searches too!
Stars: ✭ 18 (-98.79%)
Mutual labels:  hacktoberfest2021
wallet-adapter
Modular TypeScript wallet adapters and components for Solana applications.
Stars: ✭ 964 (-35%)
Mutual labels:  hacktoberfest2021
VCPlayerBot
Telegram bot to stream videos in telegram voicechat for both groups and channels. Supports live steams, YouTube videos and telegram media. Supports scheduling streams, recording and many more.
Stars: ✭ 432 (-70.87%)
Mutual labels:  hacktoberfest2021
backend
Cambiatus GraphQL API
Stars: ✭ 17 (-98.85%)
Mutual labels:  hacktoberfest2021
30-Days-Of-Code
This File Contains all solutions of: Hackerrank 30 day of code. You are welcome to add any other variants of them or in other language if you know, but DO NOT MAKE THIS REPO ACT LIKE A SOURCE OF +1.
Stars: ✭ 14 (-99.06%)
Mutual labels:  hacktoberfest2021
Hacktoberfest-2021
This repository dedicated to Hacktoberfest 2021. Hacktoberfest is a month long open source contribution program held in October every year by Digital Ocean. This is a beginner-friendly open source event.
Stars: ✭ 10 (-99.33%)
Mutual labels:  hacktoberfest2021
Hacktoberfest-Nepal-2020
A beginner-friendly open source repository to create your first pull request.
Stars: ✭ 15 (-98.99%)
Mutual labels:  hacktoberfest2021
Heel2Toe
A beginner-friendly repository to get started with HTML, CSS, and JS.
Stars: ✭ 22 (-98.52%)
Mutual labels:  hacktoberfest2021
controller-topology-project
The Controller Topology Project models how controllers connect to and map to each other for all gaming history
Stars: ✭ 17 (-98.85%)
Mutual labels:  hacktoberfest2021
Xpendi
iOS expense tracker
Stars: ✭ 13 (-99.12%)
Mutual labels:  hacktoberfest2021
nodejs-express-jwt
Node.js Express REST API boilerplate with JWT Authentication and support for MySQL and PostgreSQL.
Stars: ✭ 56 (-96.22%)
Mutual labels:  hacktoberfest2021
TruHealth
A website, which is wholly focused on Mental Health issues.
Stars: ✭ 16 (-98.92%)
Mutual labels:  hacktoberfest2021
hacktoberfest
www.sharjeelyunus.me/hacktoberfest/
Stars: ✭ 15 (-98.99%)
Mutual labels:  hacktoberfest2021
HacktoberFest2021
Beginner-friendly repository for Hacktober Fest 2021. Start your contribution to open source through baby steps. 💜
Stars: ✭ 33 (-97.77%)
Mutual labels:  hacktoberfest2021
CPCODES-Hacktoberfest2021
No description or website provided.
Stars: ✭ 11 (-99.26%)
Mutual labels:  hacktoberfest2021
mongo-express-node-template
This template is designed to help kick start Node.js applications that would use MongoDB as a database and Passport.js as an authentication middleware.
Stars: ✭ 19 (-98.72%)
Mutual labels:  hacktoberfest2021
cryostat
Secure JDK Flight Recorder management for containerized JVMs
Stars: ✭ 147 (-90.09%)
Mutual labels:  hacktoberfest2021
djangoReact-template
A perfect template for you to focus on starting your hack project or your deployed project. Leave all the gibberish of setup and just focus on innovating and creating amazing tech
Stars: ✭ 23 (-98.45%)
Mutual labels:  hacktoberfest2021


A Blazing-Fast Language for the Blazing-Fast world.




The Peregrine Programming Language

Peregrine is a Compiled, Systems Programming Language, currently under development.

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 dialect of python which compiles to clean C++. It will have no garbage collector because it is a system programming language.

Building/compiling Peregrine

Requirements to build from source

Compilation instructions

1) Clone the main branch of https://github.com/peregrine-lang/Peregrine.git

git clone https://github.com/peregrine-lang/Peregrine.git

2) Cd into the directory

cd Peregrine

3) Build it

meson builddir
cd builddir
ninja

This will create the binary of the compiler named ./peregrine.elf in the builddir folder

C++ backend To compile it using the c++ backing just run ./peregrine.elf compile path_to_file.pe .It will create the executable named ./path_to_file. Run it to see the result. Check the can_comp.pe file in the root directory to know what you can do with the c++ backend at this point

JS Backend To use the javascript backend use the following command ./peregrine.elf compile path_to_file.js.pe -js. It will create the javascript file named path_to_file.js. Run the generated javascript using node path_to_file.js. Check the can_comp.js.pe file in the root directory to know what you can do with the js backend at this point

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 fib(n:int) -> int :
    if n <= 0:
        return 1
    return fib(n-1) + fib(n-2)

def main():
    count:int = 0
    res:int = 0

    while count < 40:
        res = fib(count)
        count++

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.

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].