This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: G-Wrap [Re: Foreign function interface generators.]


>>>>> "C" == Clifford Beshers <beshers@cs.columbia.edu> writes:
    C>     (new-constant 'VNULL "NULL" 'VEC) ;; null-vector
    C> I'm suggesting that this should look like:
    C>     (new-constant 'VNULL 'VEC "NULL")
    C> This would be more like the C declaration, as with the
    C> new-function syntax below.

This makes sense to me.

    C> I like the idea of using the same order as C.  It makes the
    C> generation of the g-wrap input file easier, for one thing.
    C> Following this rule, a global C declaration like:

    C>     /* const */ int global_state = 42;

    C> should be wrapped with:

    C>     (new-constant 'global-state 'int "global_state")

    C> Doesn't that follow your rule?

Yes -- but note that the intent of new-constant is that it should
really export _constants_, so 
  (new-constant 'global-state 'int "42")
would be more appropriate (although a constant state value is not too
interesting).  I don't have a way of exporting C variables in G-Wrap
-- although exporting getter and setting functions for C variables is
trivial.

 -Chris