From: Mikael Djurfeldt <mikael@djurfeldt.com>
To: ken.dickey@whidbey.com
Cc: guile-user@gnu.org, Mikael Djurfeldt <mikael@djurfeldt.com>
Subject: Re: Advice on ST-Object data-structure setup
Date: Sat, 20 Apr 2024 12:03:57 +0200 [thread overview]
Message-ID: <CAA2XvwJ2pJWuQfCQfFDfv4pWG61Q8-WAFohpC=96LKGBsCU+ig@mail.gmail.com> (raw)
In-Reply-To: <CAA2Xvw+7qVis-84m--FuKy4Nqkq-Qf6V1OTMS6hSJxsy6xw1VQ@mail.gmail.com>
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 <mikael@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.dickey@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
>>
>>
next prev parent reply other threads:[~2024-04-20 10:03 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-16 21:14 Advice on ST-Object data-structure setup ken.dickey
2024-04-17 7:10 ` Basile Starynkevitch
2024-04-17 7:14 ` Basile Starynkevitch
2024-04-17 16:34 ` Maxime Devos
2024-04-17 14:28 ` ken.dickey
2024-04-17 16:34 ` Maxime Devos
2024-04-17 18:29 ` ken.dickey
2024-04-20 9:49 ` Mikael Djurfeldt
2024-04-20 10:03 ` Mikael Djurfeldt [this message]
2024-04-20 15:08 ` ken.dickey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAA2XvwJ2pJWuQfCQfFDfv4pWG61Q8-WAFohpC=96LKGBsCU+ig@mail.gmail.com' \
--to=mikael@djurfeldt.com \
--cc=guile-user@gnu.org \
--cc=ken.dickey@whidbey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).