unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
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
>>
>>


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