I realized today that with the nodes I have, with each being a meaty operation, I could never truly see what Truffle and Graal are capable of. For this reason, I’m implementing a miniature programming language without a parser. All programs are made through a series of invocations of Java constructors for various node classes. I don’t have much time to write about this language today, but it will feature booleans and longs as the only types for now (as well as void operations), as that’s all I need for my first real benchmark, a naive primality tester. As I create more tests and need more advanced nodes, I will make them, but so far I would like to implement a test fairly quickly.
The code, as well as everything else I try, is available at Bitbucket.