In languages where cons lists are a major datatype, it is very easy to create a list from last to first by prepending items. When doing processing from some input file, however, one is most likely to encounter items in first to last order.
Do languages like these typically recurse?
(define (parse file) ... (cons datum (parse file)))
Use append operations at each step? Build the list in reverse order and then reverse it?
Is there some canonical design pattern that can solve the problem that input is typically going to be in the reverse order of the way the list is constructed?