Availability:C-language interface function
PL_CODE_LIST and PL_CHAR_LIST. 
It serves two purposes. It allows for returning very long lists from 
data read from a stream without the need for a resizing buffer in C. 
Also, the use of difference lists is often practical for further 
processing in Prolog. Examples can be found in packages/clib/readutil.c 
from the source distribution.