Progress update

1 view
Skip to first unread message

Alistair Turnbull

unread,
Feb 5, 2020, 8:45:23 PM2/5/20
to Welly Language
It's a while since we announced anything, so this is just a public affirmation that Tom and I are still working hard.

Since releasing version 0.0.0, which was written in Python, we have written no less than four new prototypes of Welly, one in Python and three in Rust. We have worked out a much better internal structure for the compiler, and we have proof-of-concept for macros and for non-reliance on the Python garbage collector and subroutine stack. All of the prototypes were feature-poor (imagine something like the lambda calculus with integers) so we didn't release them, but progress has been made.

The design of the language itself has changed a bit. Since Rust proved it was possible in a mainstream programming language, we're going to forbid mutable shared state. The benefits are large (safety, tractability, performance), and the cost is porting old code, so this decision is a good fit for Welly's project goals. We've also made some progress on macros and on type-based method dispatch.

We're currently experimenting with the virtual machine. In terms of well-known languages, our VM code looks less like a virtual machine code and more like the intermediate representation inside a compiler. This is because we expect a lot of optimization decisions to be made below the level of the virtual machine. Our design is based on https://github.com/rrthomas/mit/issues/276 .

It's difficult for us to predict when we might have a new release of Welly, or of some part of it. We have some good pieces, but we're still making more, and joining them all together will be a lot of work. Watch this space!

Alistair

Reply all
Reply to author
Forward
0 new messages