The Haskell dlist package defines a list-like type supporting O(1) append and snoc operations.
dlist
See the ChangeLog.md file for recent changes.