Next steps: Switching back to bootstrap

14 views
Skip to first unread message

Bill Cox

unread,
Mar 8, 2023, 4:53:59 PM3/8/23
to Rune language discussion
There are probably 2-ish more CLs to get things working well enough for writing new code in rune/bootstrap/database.  I think I've broken recursive destruction of all code owned by a template class which is never instantiated by calling the template class constructor.  Hopefully one CL should fix that, and likely get block.rn to pass binding.

The other thing we need is a change that requires the new binder, and was a main reason for writing it.  Most template classes have no template parameters, and can only ever have one class in any given Rune program (the instantiated classes can be different in different programs).  We delete template classes with no instantiated classes.  For those that havve exactly one (most cases), we can resolve the remaining null(Foo) non-concrete types to the concrete class nullable type.  The old binder would crap out with a bizarre error message asking you to provide type hints, such as adding a child to a parent's linked list.  The new binder can resolve those null references to the unique class created for that template class.

After these CLs, I think working on writing the bootstrap code should be smooth enough for anyone to jump in and contribute.

Bill

Aiden Hall

unread,
Mar 9, 2023, 7:28:08 AM3/9/23
to Bill Cox, Rune language discussion
🎉

All that work is paying off!

--
You received this message because you are subscribed to the Google Groups "Rune language discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rune-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rune-discuss/eeaca5c6-b2f1-4bd5-b7b0-547379e4be1cn%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Bill Cox

unread,
Mar 12, 2023, 6:21:40 PM3/12/23
to Aiden Hall, Rune language discussion
I wrote the code to resolve most null(Foo) types to specific nullable class types.  I've got a pull request here.  Aiden I sent you a request to join Rune as an admin on github.  Andrew, if you send me your github user ID, I'll invite you, too.  Ethan, if you're interested you are also welcome as an admin.
More CLs to follow.
Reply all
Reply to author
Forward
0 new messages