Re: the number of fields campbell@xxxxxx 07 Nov 2004 16:55 UTC
On 7 Nov 2004, soo wrote: > When I define a record type having more than 21 fields, Scheme48 shows the > message of "Interrupt: post-gc". I'd like to know what this results from. It is because the implementation performs such heavy syntax-rules-based computation that Scheme48's heap overflows. You can 'fix' the problem by increasing the heap, but that will solve it only temporarily. The real problem is that this SRFI's reference implementation just does too much with syntax-rules; even if it doesn't overflow the heap or so something equally horrid in other Scheme systems, it is _miserably_ sluggish. I haven't used it much, but I've heard from some people that it takes up to an hour to expand a single DEFINE-RECORD-TYPE form. It would be a *gargantuan* improvement to provide at least two or three reference implementations: the original one in plain syntax-rules, one in syntactic closures (as the most simply expressive, I argue, hygienic macro system -- the best basis for a _reference_ implementation), and perhaps one or two in any number of the incompatible variants of syntax-case.