Then, of course, mapping language onto another complex system is perhaps seldom a good idea. Still, it is one way to create a new type of object. And, generic functions on such objects could still provide for a nice implementation of Smalltalk, even if you can't map the OOP systems onto eachother.
On Sat, Apr 20, 2024 at 11:49 AM Mikael Djurfeldt <mik...@djurfeldt.com> wrote: > Hi Ken, > > Have you looked at Guile's OOP system GOOPS? > > Chances are that you would get many required mechanisms for free. You get > classes that can be instantiated. You could possibly implement messages as > generic functions. The generic messages/generic functions already support > keyword arguments, etc. > > Best regards, > Mikael > > On Tue, Apr 16, 2024 at 11:15 PM <ken.dic...@whidbey.com> wrote: > >> Greetings, >> >> I am looking at porting a toy Smalltalk-in-Scheme implementation to >> Guile. >> >> [Note https://github.com/KenDickey/Crosstalk ]. >> >> The idea is for simplicity first, then making into a module and >> potentially evolving Smalltalk into a supported, compiled ",language" in >> the Guile way. >> >> The first bit of business is to get the mechanics working. For this I >> need to have an St-Object which is basically a Vector but which answers >> #false to vector? and #true to st-object? >> >> [Note https://github.com/KenDickey/Crosstalk/blob/master/st-kernel.scm ] >> >> I note that one might change the T7 type-tag from 0x0d (vector) to 0x6d >> (currently unused) with a quick bitwise-or, but would like some advice >> on the best way to do this or some alternate. I would prefer to work in >> Scheme, not C, BTW. >> >> Any hints appreciated. >> >> Thanks much, >> -KenD >> >>