dlist-nonempty (hackage): Difference lists are a list-like type supporting O(1) append. This is particularly useful for efficient logging and pretty printing (e.g. with the Writer monad), where list append quickly becomes too expensive.  For empty variant, DList, see dlist package.
Keywords: bsd3|data|library