I'm not sure if this is by design or by accident, but quoted lists and lists produced by the list function have different types:
user => (type '(1 2 3))
pixie.stdlib.Cons
user => (type (list 1 2 3))
pixie.stdlib.PersistentList
Furthermore, @thomasmulvaney has noticed that in compiled code, '(1 2 3) does become an instance of pixie.stdlib.PersistentList.
Empty lists, on the other hand, are equivalent:
user => (type '())
pixie.stdlib.EmptyList
user => (type ())
pixie.stdlib.EmptyList
It seems to me that we should normalise this behaviour, unless there is a good design reason for not doing so. @halgari, do you have any thoughts on this?
I'm not sure if this is by design or by accident, but quoted lists and lists produced by the
listfunction have different types:Furthermore, @thomasmulvaney has noticed that in compiled code,
'(1 2 3)does become an instance ofpixie.stdlib.PersistentList.Empty lists, on the other hand, are equivalent:
It seems to me that we should normalise this behaviour, unless there is a good design reason for not doing so. @halgari, do you have any thoughts on this?