[gambit-list] How to handle and access and interact with object members host code
Marc Feeley
feeley at iro.umontreal.ca
Mon Dec 7 11:13:19 EST 2015
At the Scheme level, you can express the OO style in various ways. Here are 2 that come to mind:
1) Your “new” operator could return a closure which receives as a first parameter the name of the method to be called. So you could:
(define o (new Lib))
(o print: "hello")
or
(define .print '.print)
(o .print "hello")
2) You could make .print a function that receives as a first parameter the object on which the method applies. For example:
(define .print (lambda (self text) …))
(define o (new Lib))
(.print o "hello")
You can of course use macros to automate these styles.
Marc
> On Dec 7, 2015, at 8:31 AM, ben yakawp <ben.lists at yakawp.com> wrote:
>
> hi
> Sorry if this too obvious, but I don't understand how gambit handles
> objects from the hosts backend.
>
>
> For example: if one would like to construct a 'Node' library for the JS
> backend, how would you do that? The whole node api seems to be object
> oriented. But also the Python standard libaries (batteries) are layed
> out class based. You had to do something like
>
> (define o (new Lib))
> (o.print "hello")
>
> This looks wrong. What am I missing?
>
> Regards
> ben
> _______________________________________________
> Gambit-list mailing list
> Gambit-list at iro.umontreal.ca
> https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
More information about the Gambit-list
mailing list