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
>
>

Reply via email to