
Announcing Raptor, a Perl5 subset of Raku
I have been experimenting a lot with LLMs and new programming languages. Most of my experiments have been around extending C with multimethod and a better cpp. Minimal languages like tcl, lisp, forth are super easy to prototype with LLMs.
Because of the way RLVR works I think Perl5 makes an excellent language like go/C for LLM generation. LLMs learn to write code by making tests pass.
After experimenting with PEG grammars with pigeon in go, I decided to give moarvm a try. I like Raku but I like Perl5 even more. Although I never programmed in Perl professionally, it was my first language. I made the first port of Perl (miniperl) to asm.js back in the day.
Raptor is a dynamic language - roughly a Perl5 subset of Raku targeting Wasm, Go and MoarVM. It supports go FFI, C FFI, refinement types, predicate types, multimethods, defensive programming, literate programming and standalone binary packaging (raptor pack). These are the features I have always wanted in Perl. There's rudimentary wasm support. There's also PHP mode.
If you know Raku then you already know raptor. Raptor will never support OO like Raku or PyObject like Python. I intend it to support C FFI thoroughly and a strict procedural style along with universal function calling syntax. That's probably the main difference between Raptor and Raku.
I think the future of programming will be to make languages with parsable grammars, good verification support and must include literate programming for humans.
The language was mostly written by Anti Gravity - Gemini 3.6. Library bindings, podlit are written by Gemini 3.7 which was released today. My role was just in pushing it to implement more tests.
I have mostly built this on windows. It should work on Linux. Expect bugs, memory leaks and probably some wrong semantics. Future versions will make it closer to Raku.