chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] r7rs-tasks


From: Felix
Subject: Re: [Chicken-hackers] r7rs-tasks
Date: Fri, 05 Apr 2013 23:42:18 +0200 (CEST)

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

Excellent - thanks.

> 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.

"numbers" already provides the numerical operations required in R7RS.
And I would like to avoid having the user do "(import numbers)" for
"standard" R7RS code. I'm sure sjamaan will insist on full numeric tower
support by default (heb ik gelijk?)

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

I fear the performance impact on string operations. Besides, UNICODE
is a silly idea, since 7-bit ASCII is more than sufficient for
everything, anyway.

> 
> #!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).

Ugh. Of course. Thanks for telling me. So this is not a global setting,
and the default is to not fold case, right?

> 
> 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.

Ok.

> 
> 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.

Ok.

> 
> 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".

<mind wanders off>

> 
> 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.

What about platform/cpu/os? Are the default chicken features
sufficient?

> 
> 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.

That means it imports the bindings _and_ loads the relevant library
code, recursing on dependencies of imported libraries, right?

> 
> 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.

Ok.

> 
> We can ignore environment immutability in practice.

Very good.

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

Ok. I somehow got the idea it does.

> 
> The second argument to load is passed along to eval.

Ok.

> 
> Jiffies can be seconds or milliseconds or whatever.

Then probably milliseconds.


cheers,
felix



reply via email to

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