summaryrefslogtreecommitdiff
path: root/camlp4/lib/extfold.mli
blob: 639631e27d0da4bb2a1a1ae3d969f1be3c19f377 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
(* camlp4r *)
(* $Id$ *)

type t 'te 'a 'b =
  Gramext.g_entry 'te -> list (Gramext.g_symbol 'te) ->
    (Stream.t 'te -> 'a) -> Stream.t 'te -> 'b
;

type tsep 'te 'a 'b =
  Gramext.g_entry 'te -> list (Gramext.g_symbol 'te) ->
    (Stream.t 'te -> 'a) -> (Stream.t 'te -> unit) -> Stream.t 'te -> 'b
;

value sfold0 : ('a -> 'b -> 'b) -> 'b -> t _ 'a 'b;
value sfold1 : ('a -> 'b -> 'b) -> 'b -> t _ 'a 'b;
value sfold0sep : ('a -> 'b -> 'b) -> 'b -> tsep _ 'a 'b;
value sfold1sep : ('a -> 'b -> 'b) -> 'b -> tsep _ 'a 'b;

value slist0 : t _ 'a (list 'a);
value slist1 : t _ 'a (list 'a);
value slist0sep : tsep _ 'a (list 'a);
value slist1sep : tsep _ 'a (list 'a);

value sopt : t _ 'a (option 'a);