From: Marko Rauhamaa <marko@pacujo.net>
To: Michael Tiedtke <michele.titke@o2online.de>
Cc: "guile-user@gnu.org" <guile-user@gnu.org>
Subject: Re: Message Passing with GOOPS
Date: Thu, 25 Jun 2015 12:07:42 +0300 [thread overview]
Message-ID: <87pp4kxijl.fsf@elektro.pacujo.net> (raw)
In-Reply-To: <558BA01C.9070208@o2online.de> (Michael Tiedtke's message of "Thu, 25 Jun 2015 08:30:52 +0200")
Michael Tiedtke <michele.titke@o2online.de>:
> Nice! What about (define-class <stack> (<list>) ...)? In GOOPS every
> primitive type is (or should be) a class that can be used with
> multiple inheritance. It's enough to (use-modules (oop goops)).
My "simpleton" doesn't have classes. It's *object* oriented, not *class*
oriented.
> Then you're missing /this/, too.
Not at all. It's very present in simpleton:
========================================================================
(define-public (<domain-client> .mux .peer-address)
(define .this
(let ((.super (<datagram-client> .mux .peer-address))
(.opmap (make-hash-table))
(.next-key 0))
(define (query domain-name record-type listener xid)
; ...
(define (handle-recv message)
; ...
(make-object .super query handle-recv)))
.this)
========================================================================
> But /super/ is missing in my implementation. What should it do with
> multiple inheritance? How should it know about the inherited
> definitions?
Multiple inheritance is there in simpleton, without classes.
> You're lookup table is just a table. You could use an environment or to
> keep the size of the structure to the ground:
In simpleton, each object has a unique dispatch table.
Marko
next prev parent reply other threads:[~2015-06-25 9:07 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-24 20:21 Message Passing with GOOPS Michael Tiedtke
2015-06-24 22:07 ` Marko Rauhamaa
2015-06-25 6:30 ` Michael Tiedtke
2015-06-25 9:07 ` Marko Rauhamaa [this message]
2015-06-25 10:59 ` Michael Tiedtke
2015-06-26 8:18 ` Ralf Mattes
2015-06-26 9:26 ` Marko Rauhamaa
2015-06-26 11:13 ` Pascal J. Bourguignon
2015-06-26 12:21 ` Marko Rauhamaa
2015-06-26 10:15 ` Michael Tiedtke
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=87pp4kxijl.fsf@elektro.pacujo.net \
--to=marko@pacujo.net \
--cc=guile-user@gnu.org \
--cc=michele.titke@o2online.de \
/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).