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

immutable pairs in existing implementations

This page is part of the web mail archives of SRFI 116 from before July 7th, 2015. The new archives for SRFI 116 contain all messages, not just those from before July 7th, 2015.



Kawa already supports both immutable pairs and mutable pairs, as
separate data types.  It is plausible that other implementations also do.
(Clearly Racket does.)  It seems very desirable to use the existing immutable
pair data structures for  SRFI-116 immutable pairs.  However, SRFI-116 causes
some problems.

Consider the analogy with immutable and immutable strings.  Functions like
string-ref can be applied to either kind of string.  It seems reasonable to
let car and cdr apply to both mutable and immutable strings, at least as an
implementation option.

In an implementation with "native" immutable pairs, a quoted list should
return an immutable list.  For consistency, a quasi-quoted list should
also return an immutable list.

For quote/read identity (which is not essential but is desirable, especially if
you might have circular lists) read should be allowed to return an immutable
list.
--
	--Per Bothner
per@xxxxxxxxxxx   http://per.bothner.com/