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] |
Maciej Stachowiak <mstachow@MIT.EDU> writes: > My own opinion is that we shouldn't add things to libguile unless > strictly necessary, since that will just make the factorization more > painful (guile tends to grow dependencies on even the most random > weird things in libguile). I think your point is good in a general case, but don't think it applies to this case. The OO package is dependent upon `sort'. I planned to load it from slib, which would make the OO package dependent upon slib. Mike objected that this wasn't good. I agree. Most scheme implementations supply `sort', because it is a useful and common operation, and needs to be implemented in C to be efficient. So the natural thing is to include `sort' in the guile-core distribution. That is, I think `sort' belongs in guile-core. What I meant about factorization is that it doesn't necessarily belong in the core module, but could be supplied in another library, also supplied in the guile-core package. The factorization won't be more painful because of `sort' since it is very clear that it should be moved to the sort module, and it is easy to add the dependency on the sort module to other modules using sort. Also, I don't imagine that the core module, intended to contain only R5RS + things needed for their implementation, would grow a dependency on the sort module, because sort operations aren't required to implement the R5RS primitives. To this I'd like to add the unpleasantness of the alternative: to add sort to the OO package. So, even though it is slightly bad to grow the current libguile by a few K, I still think it is the best option. /mdj