My name is Ethan, and I’m one of 12 Peregrine developers. Some of you may already know what Peregrine is, some of you don’t, but this article is going to explain the current state at where Peregrine is at.
If you know Python, you know how easy it is. However, it also comes with a big downgrade. Python is slow, and I’m pretty sure every python developer knows this by now. This is kind of annoying. That’s where Peregrine comes in. Me and 12 other friends have been working on Peregrine for the past few months, starting as a hobby project. Peregine’s syntax is very similar to Python’s, and it gets trans-compiled to C, thus making it as fast as C.
Peregrine’s name has been getting more popular ever since I posted my last article, and a lot of things has been changed. The most noticeable thing that has changed is the name. A lot of people recommended a name change from Swallow, so it is now called Peregrine which we think suits the language more.
You probably already know this from the title – Peregrine is getting a rewrite. The Lexer is already complete. We are going to rebuild the parser and codegen so it will be more efficient, and hopefully faster. This is all being done on a different branch.
Peregrine uses tcc as a secondary backend to allow it to be used as a scripting language. It uses vlibtcc which is a V wrapper for libtcc. It was implemented yesterday and is still at a very early stage. Some features do not work with it, so it is not recommended to use it at this stage, however it will be updated and fixed in the rewrite.
A: Peregrine is not in need of new Developers at the moment, however you can always contribute to the repository.
A: Yes, you can join it by clicking here
A: Peregrine has different goals than Nim and Julia. They also achieve different things in different ways.
A: Yes, that’s the plan. It will take a long time to implement as it is a difficult task, however it will be there.
Peregrine is planned to release version 0.0.1 sometime in March, so make sure to show some support by starring the repo and make sure to press on the “Watch” button so you don’t miss any updates.
We would greatly appreciate any contributions, so if you find something that you can improve, open a pull-request! You can also check out our open issues. Please make sure you contribute to the rewrite branch, as we are going to replace the main branch with the rewrite.
Thanks so much for reading <3!