[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] r7rs-tasks

From: John Cowan
Subject: Re: [Chicken-hackers] r7rs-tasks
Date: Thu, 4 Apr 2013 17:45:15 -0400
User-agent: Mutt/1.5.20 (2009-06-14)

Felix scripsit:

> I've compiled a small list of things that will be needed for R7RS support,
> see here:

Cool!  I have added some annotations marked with "JC:", as follows:

I don't understand why things would be complicated with Chicken's default
fixnum/flonum support. There is no equal=? in R7RS, and equal? should
not be affected.

What about making full Unicode support the default? R7RS does not require
it, but it might be better so.

#!fold-case and #!no-fold-case apply only to the file in which they
appear, not to any included or including file, because they work at a
lower level (that is, read implements them).

See SRFI 45. The R7RS delay, force, delay-force, and make-promise in
R7RS correspond exactly to delay, force, lazy, and eager in that SRFI.

The theory is that #t and #f are too easily mistaken for each other by
a human reader. I don't find it so, but apparently others do.

On an ASCII platform, char-foldcase and string-foldcase are the same as
char-downcase and string-downcase respectively. For Unicode, char-foldcase
implements Unicode case folding, specifically the table entries marked
with "C" and "S", but not those marked with "F" or "T". string-foldcase,
on the other hand, implements the table entries marked with "C" and "F",
but not those marked with "S" or "T".

The features that Chicken should provide are r7rs, ieee-float, and
either posix or windows as the case may be. If the full numeric tower
is provided, add exact-closed, exact-complex, and ratios. If Unicode is
provided, add full-unicode. This should be integrated with the Chicken
native (features) list.

A library name may not begin with a modifier-keyword like only.
The important thing here is that in an R7RS library or program, import
is Chicken's use.

The point of (environment) environments is that they can be
passed to eval; they are parallel to the environments returned by
scheme-report-environment, null-environment, and interaction-environment.

We can ignore environment immutability in practice.

get-output-string is from SRFI 6 and does not clear the buffer.

The second argument to load is passed along to eval.

Jiffies can be seconds or milliseconds or whatever.

John Cowan    address@hidden
Half the lies they tell about me are true.
        --Tallulah Bankhead, American actress

reply via email to

[Prev in Thread] Current Thread [Next in Thread]