Source file appendable_list.ml

1
2
3
4
5
6
7
8
9
10

type 'a t = 'a list -> 'a list

let empty = fun k -> k

let singleton x k = x :: k

let to_list l = l []

let (@) a b k = a (b k)