[Top][All Lists]

[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: Sat, 06 Apr 2013 00:40:46 +0200 (CEST)

From: Peter Bex <address@hidden>
Subject: Re: [Chicken-hackers] r7rs-tasks
Date: Fri, 5 Apr 2013 23:52:28 +0200

> On Fri, Apr 05, 2013 at 11:42:18PM +0200, Felix wrote:
>> > 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?)
> I'd prefer having it available by default in Chicken for the same reason
> you state: "standard" R5RS code also should be able to assume a full
> numeric tower.  R7RS code is no different in that respect.


> So, initially I thought it's more consistent to have "r7rs" be like the
> "scheme" module and not provide a full tower.  Numbers can be an optional
> thing on top of that.

I would prefer that, but:

> OTOH, since everything is a neat module now (instead of the
> "everything's there" in R5RS) it may make more sense to include the full
> tower because otherwise you really need to change module import
> definitions, which is a lot messier than providing a prelude that
> loads "numbers".
> In other words: I have no clue.

Well, you are already giving a reason above. I'd say let's add it by
default. If performance is important, one can always fall back to
using a "proper" chicken module (yes, this is a bit ugly).  It also
gives us the opportunity to assess the impact of using numbers in the
"standard" language that we officially support. We should take great
care in providing good specializations to get as much performance as
possible. The nice thing about R7RS (and providing support for it by
an egg) is that it gives us a clean starting point to try out a more
consistent outward appearance, while still having a "lolevel" language
that gives more opportunities for performance tuning and other hacks.


reply via email to

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