I'm working on a programming language. It's a reimagining of Python as a statically-typed, compiled language. The compiler is written in Python and targets LLVM IR. Currently working towards support for exceptions; raising already works, currently trying to work my way through all the stuff that needs to work for catching.
back
3 comments
If you haven't taken a look at Nimrod, it might give you some ideas, or perhaps inspire you to be a code contributor! As a python guy, I'm really liking it for some hobby work I'm doing. The compiler and standard library are MIT licensed.
http://nimrod-lang.org/ https://github.com/Araq/Nimrod
Also, there's a recent forum posting about the decision not to do LLVM codgen for now: http://forum.nimrod-lang.org/t/480. Perhaps you can ask some questions of the main contributors; they're quite responsive.
Yeah, Nimrod is somewhat close to what I'm working on, though my language is quite a bit closer to actual Python in many ways. Also, my language does not rely on GC, instead using annotated pointer types to get deterministic memory management (without requiring very explicit allocation and deallocation).
I don't really buy into their reasons that LLVM is harder than C; it's just a different environment, closer to assembler in some ways, but actually quite readable in my opinion.
Very cool. Good luck to you and look forward to checking it out!
You might like to check out InfraRuby for ideas. It's a compiler for statically typed Ruby, compatible with Ruby interpreters. Free download at http://infraruby.com/
Any links you can share?
Not quite yet, I want to bring it a little further along to a somewhat MVP stage.