Understanding user defined append list Standard ml
问题 Im having trouble understanding this implementation of lists in Standard ML. Here is how it is defined: An append list is a (simple) implementation of the list abstract data type that makes construction cheap (O(1)), but makes destruction expensive (O(n)). The 'a alistNN and 'a alist types are defined as follows: datatype 'a alistNN = Sing of 'a | Append of 'a alistNN * 'a alistNN datatype 'a alist = Nil | NonNil of 'a alistNN The 'a alistNN type represents the “non-nil” append lists, while