seeds
Alex Shinn
(08 Oct 2015 05:03 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(08 Oct 2015 07:55 UTC)
|
Re: seeds
Arthur A. Gleckler
(08 Oct 2015 17:46 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(08 Oct 2015 19:38 UTC)
|
Re: seeds
Arthur A. Gleckler
(08 Oct 2015 21:47 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(09 Oct 2015 08:09 UTC)
|
Re: seeds
Kevin Wortman
(09 Oct 2015 17:18 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(09 Oct 2015 18:33 UTC)
|
Re: seeds
Kevin Wortman
(13 Oct 2015 17:36 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(13 Oct 2015 18:28 UTC)
|
Re: seeds
Alex Shinn
(14 Oct 2015 01:59 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(14 Oct 2015 09:17 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(14 Oct 2015 10:06 UTC)
|
Re: seeds
Alex Shinn
(16 Oct 2015 01:23 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(16 Oct 2015 13:34 UTC)
|
Re: seeds
Alex Shinn
(16 Oct 2015 23:48 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(17 Oct 2015 12:08 UTC)
|
Re: seeds
Alex Shinn
(17 Oct 2015 13:12 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(17 Oct 2015 14:09 UTC)
|
What SRFIs are for John Cowan (17 Oct 2015 14:41 UTC)
|
Re: What SRFIs are for
taylanbayirli@xxxxxx
(17 Oct 2015 15:56 UTC)
|
Re: What SRFIs are for
John Cowan
(17 Oct 2015 16:55 UTC)
|
Re: What SRFIs are for
taylanbayirli@xxxxxx
(17 Oct 2015 18:08 UTC)
|
Re: What SRFIs are for
John Cowan
(17 Oct 2015 18:51 UTC)
|
Re: seeds
John Cowan
(15 Oct 2015 17:49 UTC)
|
Re: seeds
Alex Shinn
(09 Oct 2015 02:54 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(09 Oct 2015 07:59 UTC)
|
Re: seeds
John Cowan
(15 Oct 2015 17:51 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(15 Oct 2015 23:08 UTC)
|
Re: seeds
John Cowan
(16 Oct 2015 13:09 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(16 Oct 2015 14:01 UTC)
|
Taylan Ulrich Bayırlı/Kammer scripsit: > RnRS/SRFIs should specify what cannot be simply implemented as a > portable library. I profoundly disagree, and I think almost the whole history of Scheme is on my side. If that rule had applied to the R5RS pair API, it would consist of: pair?, cons, car, cdr, set-car!, set-cdr!, null?. It would exclude: cxr procedures, list?, list, length, append, reverse, list-tail, list-ref, memq, memv, member, assq, assv, assoc. In short, some 85% of the R5RS API. And of course 100% of SRFI 1. So why do we include procedures like `length`? For programmers, it's so it'll just Be There. It's ready for instant use on any conforming platform. You don't have to decide what to call it. By the same token, anyone reading your code sees `length` and (modulo a redefinition) already knows what it does. The same applies to `fold`, once you learn it. That's why the work of defining SRFIs, even when completely portable, is valuable. Any system that implements the SRFI (and if it *is* completely portable, that's any system) provides predefined functionality using predefined names. If you want sets (and programmers often do want sets), and you have SRFI 113 available, you *have* sets. And the names were chosen (to the best of my ability) so that you pretty much know how to use them if you know R7RS-small and SRFI 1. It is a comprehensive package in order to avoid the Curse of Lisp <http://www.winestockwebdesign.com/Essays/Lisp_Curse.html>; see also the rationale of SRFI 1. > OTOH a hash table API is important because you can't implement it in > portable Scheme in terms of a more fundamental feature. And yet there *are* portable implementations of hash tables that provide exactly that. -- John Cowan http://www.ccil.org/~cowan xxxxxx@ccil.org A witness cannot give evidence of his age unless he can remember being born. --Judge Blagden