Something went wrong. Try again.
Shells in OCaml
Something went wrong. Try again.
12345678910111213141516open Import
(* A functional stack. *)type 'a t = 'a List.t
let empty = []let push v t = v :: tlet pop = function [] -> None | x :: ts -> Some (x, ts)let peek = function [] -> None | x :: _ -> Some xlet pp pp ppf = Fmt.lst pp ppflet to_list v = v
let jsont e_jsont = let stack_of_list lst = List.fold_left (fun acc v -> push v acc) empty lst in Jsont.map (Jsont.list e_jsont) ~dec:stack_of_list ~enc:to_list