A common programming technique in pure languages (but in others as well) for efficient representation and handling of lists as they are being built in top-down manner.