Re: Simplified slot access in goops

2010-08-28 Thread Andy Wingo
On Sat 28 Aug 2010 17:22, Panicz Maciej Godek writes: > If it comes to the performance issues, I've been wondering, > what is the current state of guile-vm? Merged into Guile :-) Cheers, Andy -- http://wingolog.org/

Re: Simplified slot access in goops

2010-08-28 Thread Panicz Maciej Godek
2010/8/28 Andy Wingo : > Hi Maciek, > > I know its been a couple years, but you raised an interesting point that > Guile wasn't really able to handle at that point. Your implementation of > `in' (commonly known as `with-slots', I believe) follows the mail. > > On Thu 27 Nov 2008 12:36, "Maciek Gode

Re: Simplified slot access in goops

2010-08-28 Thread Andy Wingo
Hi Maciek, I know its been a couple years, but you raised an interesting point that Guile wasn't really able to handle at that point. Your implementation of `in' (commonly known as `with-slots', I believe) follows the mail. On Thu 27 Nov 2008 12:36, "Maciek Godek" writes: > (use-modules (oop go

Re: Simplified slot access in goops

2008-12-02 Thread Clinton Ebadi
"Panicz Maciej Godek" <[EMAIL PROTECTED]> writes: >> with-slots uses symbol-macrolet[0] to bind each of the variable names to >> symbol macros within its body. I don't know of anything in Guile that is >> equivalent. > > R5RS pattern language allows to create syntactic aliases for practically > an

Re: Simplified slot access in goops

2008-12-02 Thread Panicz Maciej Godek
Neil wtote: >> I think this is a nice interface; but I'm less sure about the >> implementation. Why do you need to use primitive-eval at all? >> >> Isn't CL's with-slots a bit like this? It might help to look at how >> that is implemented. Well, I've been having similar doubts, so I came up with

Re: Simplified slot access in goops

2008-12-02 Thread Clinton Ebadi
"Neil Jerram" <[EMAIL PROTECTED]> writes: > 2008/11/27 Maciek Godek <[EMAIL PROTECTED]>: > >> Perhaps the possible inconvenience is that all variable >> names that happen to be the slot names of a given class >> are shadowed. In the long run it may also cause significant >> performance problems (o

Re: Simplified slot access in goops

2008-12-01 Thread Neil Jerram
2008/11/27 Maciek Godek <[EMAIL PROTECTED]>: > Perhaps the possible inconvenience is that all variable > names that happen to be the slot names of a given class > are shadowed. In the long run it may also cause significant > performance problems (or that's what I think), especially > when dealing

Re: Simplified slot access in goops

2008-11-28 Thread Panicz Maciej Godek
Unfortunately, the "in" macro fails to work with local bindings, so the code: (let ((z 0)) (in o (set! a z))) woudn't work, because primitive-eval doesn't catch the environment from the current context. I've tried to replace it with (eval ... (interaction-environment)), but it still fails

Simplified slot access in goops

2008-11-27 Thread Maciek Godek
Hi, Below is a simple set of functions and macros to make the access to goops object properties easier: (use-modules (oop goops)) (use-syntax (ice-9 syncase)) (define-syntax let-alias (syntax-rules () ((_ ((id alias) ...) body ...) (let-syntax ((helper (syntax-rules ()