Announcing Raptor, a Perl5 subset of Raku
▲ 25 r/AIprogrammingLanguage+2 crossposts

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.

https://github.com/xyzzyapps/raptor

https://xyzzyapps.github.io/raptor/

u/No_Pianist1870 — 5 days ago

arli Arity-driven Lisp is a Forth-like Lisp dialect that eliminates parentheses through arity-driven parsing

Every time you define a function, the parser is aware of the number of arguments that is needed for the function, so we can skip the parens. I have been experimenting with forth when I had this idea because most forth operators use fixed two arguments . I have also tried to get features from obscure lisps like push and picolisp.

I quickly prototyped the lang to see if its feasible. Seems to work.

https://github.com/xyzzyapps/arli

reddit.com
u/No_Pianist1870 — 23 days ago