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] |
> > On the opposite, Guile was initially based on one implementation of > > Scheme (SCM) with some pieces borrowed from another one. This led > > to a horrible mix of interfaces and interdependencies in the code. > > Also, nobody even tried to define both Scheme and C API - they are > > still in flux and dirty, lacking logical order. > > This is a factual error. Mark Galassi took considerable care when > designing the gh_ API, which is the application writer's C level > interface to Guile. This interface has changed very little since it > was defined. And IMHO the gh_ interface is logical. Please share a > contradictory example. You are writing C, you have a variable of type SCM and you want to convert it to a double. You use gh_scm2double() and if the SCM was a number then it will convert but if it was something else then it will error trap and you don't want that. So you check the value first with gh_inexact_p() but then you realise that someone might send you an integer which you still want to convert to a real so you have to check again with gh_exact_p(). Not a huge demand I realise but I still use scm_number_p() instead because it is one call instead of two <shrug>. - Tel