On Wed, 2009-08-05 at 20:24 -0400, Sam Varner wrote: > Stage 2 of my nit-picking tour through the Chicken docs;) > > In "Deviations from the standard" > http://chicken.wiki.br/man/4/Deviations%20from%20the%20standard could > someone provide some rationale for the deviations? It's not a big deal > to me if Chicken doesn't follow R5RS to the letter, I'd just like to > know the reasons. The numeric tower issue is explained in the FAQ, but > it's not clear if the others are design decisions, compromises, or bugs. > Thanks.
I posted recently on chicken-hackers that most of these are not really deviations, but here is a brief summary. There are really only four deviations (and maybe fewer, depending on interpretational issues): The parameter limitation, I believe, derives from the Scheme->C translation technique, and reflects limitations in the underlying C as well as space usage constraints. Fixing it would be a pain for little benefit. The numeric tower's only problems are that rationalize is not implemented, and numerator/denominator only work for integers. Fixing this is easy, and it seems not to have been done because of a misunderstanding about what r5rs expects of rationals. Flonum externalization is inconsistent probably because the C library routines are being used. Macro visibility in eval is a pain to sort out b/c the syntax environment isn't kept separate as you might expect. The other ones are not deviations from the standard at all, except char-ready? which would be a deviation, but afaict, the documented problem does not actually exist, on Linux at any rate. Thomas _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
