core-logic 2020-03-25

Could someone explain the term "list with an improper tail" to me, please? I am trying to understand dotted pairs, lcons and llist, while reading the reasoned schemer.

in scheme a cons cell is basically a 2 element array

and you can put anything in either slot

a list is a cons cell or series of cons cells where the second element (the cdr) is a cons cell or nil

an improper list is a series of cons cells where the lest cons cell doesn't have nil as the cdr