
On 6 Dec 2006, at 17:11, Nikodemus Siivola wrote:
Pascal Costanza <pc@p-cos.net> writes:
OK, apparently my wording wasn't very clear. What I meant is this: Actually just because these functions are defined only on lists and vectors _and_ the only kinds of sequences you can create in ANSI CL are lists and vectors, everything is well-specified.
Not quite. Implementations are allowed to have eg.
MAKE-FOO-SEQUENCE
that returns objects of type SEQUENCE, which are neither vectors nor lists, and all functions defined to work on sequences are required to work on such objects.
The upshot is that while a portable program cannot construct a non-portable sequence object, eg. portable libraries should be written to deal with generic sequences as well -- and this is just plain ANSI.
Granted, no such extended sequences have traditionally exited, but that is not what the spec says.
OK, good point. Pascal -- Pascal Costanza, mailto:pc@p-cos.net, http://p-cos.net Vrije Universiteit Brussel, Programming Technology Lab Pleinlaan 2, B-1050 Brussel, Belgium