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

Some small notes



First of all I want to say that I like this proposal more than the
original. I would let people get home from the summer holidays before
finalizing the proposal though.

Here are some small things I noticed on a first reading.


  > Folding Enumerators
  > -------------------

  > procedure: collection-keys-fold-left ...
  > procedure: collection-keys-fold-right ...

I prefer collection-fold-keys-increasing and
collections-fold-keys-decreasing.


  > Functional vs Linear Update
  > ---------------------------

  > Functions in this SRFI which modify a collection are provided in
  > two flavors.  Both must be implemented by collections.  Purely
  > functional updating functions must not side effect the input
  > collection, but must return a new collection which reflects the
  > update.  The returned collection may share structure with the
  > input collection, but must be distinct with respect to eq? to the
  > input collection, and the effects of the update must not be
  > reflected in the input collection.

Why must the returned collection be distinct with respect to eq?
Suppose I have a set implementation, where sets are represented
as sorted lists, then it would be natural to let
(union A '()) return A.


  > Functional vs Linear Update
  > ---------------------------
  > _Collections_

  > procedure: *-values collection => list

Why not simply name it collection->list ?
This is similar to vector->list and string->list.

--
Jens Axel Søgaard