Repeatedly appending to a list is a common, if inefficient pattern in functional programs. Usually the trick we use is to build up the list in reverse, and then to reverse it as the last action of a function. Dlists are a representation of lists as functions that provide for constant time append to either the front or end of a dlist that may be used instead.
Return a <dlist> containing all the given arguments.
(dlist 1 2 3) ⇒ #[dlist 1 2 3]
Return #t if OBJ is a <dlist>, #f otherwise.
Return a new <dlist> created by prepending item to the head of dell.
(let* ((dell (dlist 5))
(dell (dlist-cons 4 dell))
(dell (dlist-snoc dell 6)))
dell)
⇒ #[dlist 4 5 6]
Return a new <dlist> created by appending item to the tail of dell.
Return a new <dlist> consisting of the concatenation of the elements of the dell
arguments. If no arguments are given: return the empty <dlist>.
(dlist-append (dlist 1 2)
(dlist 3 4)
(dlist 5 6)
(dlist 7 8))
⇒ #[dlist 1 2 3 4 5 6 7 8]
Return a list consisting of all the elements of the dell.
Return a <dlist> consisting of all the elements of the given list argument.
Return #t if all the dell arguments are equal; otherwise return #f. If no
arguments are given: return #t.
This document describes version 0.5.0-devel.1 of MMCK PFDS.