1 unstable release
0.1.0 | Jul 23, 2024 |
---|
#317 in Profiling
Used in 3 crates
(2 directly)
5KB
58 lines
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
lib.rs
:
Basic tools and abstractions for profiling performance and timing data and then displaying it. TODO/wishlist: use a .with(fn) pattern to ensure starts and stops always match keep a stack to know which events are sub-events of others, and show that in the table with indentation
Dependencies
~3–10MB
~82K SLoC