Guile Mailing List Archive

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

Re: assoc-ref and family

Greg Badros wrote:
> Why is it that assoc takes KEY ALIST, whereas assoc-ref (and all the
> other guile alist procs) takes the arguments in the reverse order: ALIST
> KEY?  Is this historical?  Since RnRS demands KEY ALIST, it seems it'd
> be nicer if assoc-ref used the same ordering.  Or at least the
> documentation (even in its minimalist form) should stress the order of
> these args as being unusual.  I don't think this is the first time I've
> been confused by them.

The problem is that assoc's argument order is unusual compared to other
accessors, which usually DATA-STRUCTURE KEY for getters and 
DATA-STRUCTURE KEY VALUE for setters. `assoc' is different in part because
it is not a normal accessor; instead of getting the value associated with
the key it gets the associated key-value pair. IMO it's more useful for
`assoc-ref' to be consistent with `vector-ref', `string-ref', `list-ref', 
etc than for it to be consistent with `assoc'.

 - Maciej

Guile Home | Main Index | Thread Index