Hi Mike,

Mike Gran <spk...@yahoo.com> writes:

> Guile's API has always fairly incompatibly from revision to 
> revision.  Each rev always requires a significant rewrite of the glue
> code in Guile-using projects.

s/revision/major version/.  Fortunately, major versions are pretty rare,
but I get your point, of course.

> Just in the time that I've been using Guile, I've used four different 
> functions to convert an integer into a guile number: gh_int2scm, 
> SCM_MAKINUM, scm_int2num, scm_from_int.

That’s partly because until 1.8, and to a lesser extent now, there has
been a poor separation between the internal API and the public API,
along with incomplete documentation.  I think 1.8 has been a noticeable
improvement on both fronts, and we can probably do better
(‘SCM_INTERNAL’ and the GNU ld version script are good tools to formally
separate public from private APIs and version them.)

> A lot of projects have their own Guile compatibility layers to map
> current practice to a consistent API: AutoGen, Geda, even Gucu.
>
> Maybe we need a gnulib-like project for guile ;-)

Heh.

> So, yeah, reducing incompatibilities might be nice.

I sympathize and encourage people to report (and fix) incompatibilities
introduced in 1.9.  :-)

Looking at http://hydra.nixos.org/jobset/nixpkgs/guile2test already
gives a good idea of things to look at.

Thanks,
Ludo’.


Reply via email to