1 unstable release

0.1.0 Jul 23, 2024

#855 in Development tools

MIT license

135KB
3K SLoC

I've worked on languages professionally for many years, now. I've always had to worry about pesky things like user adoption, familiarity and similarity to other languages, and proprietary compilation targets.

This is what happens when I can do whatever I want -- petr seeks to be a low-level performant general purpose programming languages, with a sophisticated type and side-effects-tracking system. And weird syntax!

                  __         
    ____   ___   / /_   _____
   / __ \ / _ \ / __/  / ___/
  / /_/ //  __// /_   / /    
 / .___/ \___/ \__/  /_/     
/_/                         

Programmatic Effects Tracking

petr-ast                                                                                 
   │                                                                                     
   │                                                                                     
   ▼                                                                    ┌───►petr-codegen
petr-parse────►petr-bind────►petr-resolve────►petr-typecheck───► petr-ir│                
   │                                                                    ├───►petr-vm     
   │                                                                    │                 
   ▼                                                                    │                 
petr-fmt───────────────────────┬────────────────────────────────────────┘                                                      
                               │                                                         
                               │                                                         
                               │                                                         
                               ▼                                                         
petr-manifest────►petr-pkg────►pete                                                      

Dependencies

~20–30MB
~497K SLoC