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: message primitive



"Greg J. Badros" wrote:
> 
> > But is should be possible to find the locations that make a call which
> > ultimately results in using this formatting code.
> 
> Yes, as long as you're okay with making people's guile code break.  (I
> am, as I think it's useful to go with the standard).

It's fine with me as long as the change is properly documented.

> I'm basically making an economic argument:  it'd be great if everything
> could be perfect with Guile, but it can't so we have to pick and choose
> where to spend the limited developer resources to improve it.  Although
> the hour+ this'll ultimately end up taking will make guile (N+epsilon)%
> better, the two minutes I'd already spent would've made guile N% better,
> and freed up over an hour for me to do other things to get
> bigger-than-epsilon improvements in Guile.

The difference here is that this affects the Guile langauge and the
programming interfaces it creates. If you repeatedly do things the
quick and dirty way rather than taking the time to get the design
right, things end up a mess. Even if each individual incremental
benefit of being careful does not seem worthwhile, if this effort is
never made, the total cost is large.

In brief, I think for languages and libraries the rules are very
different than for applications. Putting off cleanup works OK for
applications because it does not inflict problems on a large external
body of code, and then break when the cleanup _does_ happen. The best
way to deal with backward compatibility issues is to ensure they do
not arise.

I think any time we want to export a new procedure from the Guile core
we should carefully consider the interface.

 - Maciej

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