5 ms·
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
by dochtman 12y ago
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.
- radioact1ve 12y agoAny links you can share?
- dochtman 12y agoNot quite yet, I want to bring it a little further along to a somewhat MVP stage.
- infraruby 12y agoYou 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/ http://infraruby.com/
- dmarble 12y agoIf 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/ http://nimrod-lang.org/ https://github.com/Araq/Nimrod 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 http://forum.nimrod-lang.org/t/480. Perhaps you can ask some questions of the main contributors; they're quite responsive.
- dochtman 12y agoYeah, 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.
- dmarble 12y agoVery cool. Good luck to you and look forward to checking it out!