News for hackers. Stuff that matters.
Re:Juice – Oberon JIT browser plugin (1996) by vidarh on Friday February 02, 2024 @07:26AM (#39227832)
On a phone and without a reference handy but search for Franz and "Protocol Extension". It's a very short paper, and basically proposed a mechanism similar to vtables, but w/an extra level of indirection to allow whole interfaces to be slotted in, and to have subsequent loaded implementations addressed propagated down the class hierarchy on load.

(I use a similar mechanism of propagating vtables updates down the class hierarchy, but without the extra indirection - at cost of more memory - in my prototype Ruby compiler)

Re:Juice – Oberon JIT browser plugin (1996) by abricq on Friday February 02, 2024 @07:32AM (#39227862)
Thank you, I got it: "Protocol extension, a technique for structuring large extensible software systems" [0] ! Hoping to find time to read it soon, and also to look at your ruby compiler !

[0]: https://www.research-collection.ethz.ch/bitstream/handle/20....

Re:Juice – Oberon JIT browser plugin (1996) by vidarh on Friday February 02, 2024 @09:50AM (#39229172)
My Ruby compiler is, I'm sad to say, languishing. I got it to a stage where it does compile itself successfully (to 32 bit x86 assembly - 32 bit was still a reasonable choice when I started...), but it has plenty of bugs (and only compiles itself due to workarounds for those in the compiler source to avoid triggering them) and doesn't support most newer Ruby syntax, nor Regexp's or Float's (other massively limitations too). I keep telling myself I should at least fix the bugs at some point and strip out the workarounds, but so many other projects at the moment.