guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gurus? Care to re-explain the absense of gh_set_x() for me?


From: Sam Tregar
Subject: Re: Gurus? Care to re-explain the absense of gh_set_x() for me?
Date: Fri, 13 Jul 2001 10:24:46 -0400 (EDT)

On Fri, 13 Jul 2001, Matthias Koeppe wrote:

> You should not attempt to code this as a C function.  += is not simply
> a new procedure but needs to be a *special form* (i.e., a new syntax).
> So I suggest you make a macro that expands (+= A B) into (SET! A (PLUS
> A B)) and bind it to `+='.  In Scheme, this is easily done with
> DEFINE-MACRO; if you insist in doing this from the C level, try your
> luck with the functions in `macro.h'.  Then implement PLUS as a C
> function that simply computes the desired value.

Let me explain more about what I'm doing.  I'm writing a Perl module
called Inline::Guile.  One part of this project is an overloaded Perl
object that will represent a Guile SCM.  To build an overloaded object in
Perl you need to define functions for each of Perl's operators, +=
included.  These operator functions can be written in Perl or in C but
obviously not in Guile.

Does that make it clear why a macro won't suffice?

-sam





reply via email to

[Prev in Thread] Current Thread [Next in Thread]