Compiler Statusby Mike Pavone
In the past couple of weeks I've made some good progress on the Rhope compiler. It can currently compile a number of simple Rhope programs to C. Here's what language features that are working:
- Worker definition
- Worker calls
- Blueprint definition
- Method definition
- Method calls
- Type annotations on both worker arguments and object fields
- Basic integer operations and literals(Int32 type only)
- Boolean literals (Yes,No) and the If method
- Blueprint literals and the Build worker
I haven't put together a proper release for this yet and I probably won't until the compiler can compile itself. For now you can checkout a copy from the repository. My current goal is to get the compiler compiling itself and make a proper release before the end of October. What follows is basically my todo list to get to that milestone.
- Add a basic type inference engine
- Add support for unboxed operations on primitive integers
- Add support for a simple Array type
- Write implementations of String and List using said Array type
- Add a mechanism for calling native C functions
- Write a basic implementation of File in Rhope
- Write an implementation of Dictionary in Rhope
Technically, Array support isn't required for String or List, but it useful for performance reasons and it will be needed for the FFI anyway. Once all that is done, my next goal will to get all the features this blog uses working (basically everything required for the compiler plus multi-threaded execution, transactions and networking support). I hope to have that done by the end of November.
My last post didn't generate any responses so if you have the itch to work on a compiler feel free to join in. Send me an email, leave a comment here or just clone the repository and get started if you want to help.