Kind/book/List.fold.kind2
2024-03-01 20:40:31 -03:00

7 lines
240 B
Plaintext

List.fold
: ∀(T: *) ∀(list: (List T)) (List.Folder T)
= λT λlist λP λcons λnil
let fold_P = λxs P
let fold_cons = λhead λtail (cons head (List.fold T tail P cons nil))
let fold_nil = nil
(~list fold_P fold_cons fold_nil)