This is the mail archive of the guile@sourceware.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: New module system wishlist


Clark McGrew writes:

   >>>>> "Neil" == Neil Jerram <neil@ossau.uklinux.net> writes:

       Neil> Someone else mentioned backwards compatibility.  My view is
       Neil> that this is an extremely small consideration and should be
       Neil> dropped if there is any conflict at all with other desirable
       Neil> features.  The existing body of Guile code is still small
       Neil> enough that we don't need backwards compatibility that much.

   Your body of guile code may be small, but there are quite a few
   projects using guile and gratuitous changes in the high level
   interface will cause problems.  Changes are ok, but changing things
   like the basic syntax "define-module", "export" and company would be
   bad.  Guile already has enough problems with compatibility between
   releases.

   Cheers,

   Clark

Thanks for making me think this through again.

I think what I had in mind, when I wrote the above, was that we should
not feel afraid of making the new module system completely different
in design from the existing one, if that is what emerges from the
current discussion of desiderata.  I then unnecessarily mapped
"difference of design" onto "difference of interface".

In practice, however different that design may turn out to be, it is
_extremely_ unlikely that it would be impossible to emulate the
current define-module syntax and behaviour, and it does seem that it
would be gratuitous deliberately not to provide such emulation.

Actually, there is still _an_ argument against such emulation, which
discounts the pain of having to change existing code against the
potential future confusion of having a "non-orthogonal" module API.
(Aaargh, not "orthogonal" again!  But I hope you know what I mean.)

But that is a much finer judgment to make.

Regards,

    Neil

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