I have been experimenting a lot with LLMs and new ...
# share-your-work
x
I have been experimenting a lot with LLMs and new programming languages. Most of my experiments have been around extending C with multimethods and a better cpp. Minimal languages like tcl, lisp, forth are super easy to prototype with LLMs. 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. Yes, I am also working on a cgi script server. If you know Raku or Perl5 then you already know raptor. I think the future of programming will be to make languages with parsable grammars, good verification support and must include literate programming for humans. For verification I have implemented dynamic predicate checking - I am calling it predicate types. Basically you can attach an invariant to any variable and it will be checked at every assignment. 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. Perl has a had a cross-platform test harness since ages just like C does with all the distros. I wouldn't be surprised if LLM companies are not throwing the entire debian harness during RLVR. I think any serious organization will have to invest in literate programming (LP). React storybook, Jupyter notebook, wikis, documentation generators are types of LP. Most organizations have small DSLs running around. I think Raptor makes a good fit for that case. It's great for students, teachers, researchers, short devops scripts. With a little discipline it can be used for big projects as well I think. IME LLMs don't write good Literate programs but give you enough scaffolding for you to add your text and re-organize the code. 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. xyzzyapps.github.io/raptor github.com/xyzzyapps/raptor