/
js-pipebang.ml
83 lines (69 loc) · 1.54 KB
/
js-pipebang.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
let f x =
x
>>| fun x ->
g x
>>| fun x ->
h x
;;
let f x =
x >>| fun x ->
g x >>| fun x ->
h x
;;
let f x =
x
|! fun x ->
g x
|! fun x ->
h x
;;
let f x =
x |! fun x ->
g x |! fun x ->
h x
;;
let _ =
(z (fun x -> x)
|! Validate.of_list) (* Tuareg indents this line too far. *)
let _ =
(* Tuareg works correctly on this (if you drop the fun). *)
(z x
|! Validate.of_list)
(* jli found this great one. Tuareg gets confused by the paren before List.map and
indents |! way too far, under "k ^". ocp-indent should shine, since it understands the
syntax better. *)
let _ =
List.filter_opt [
format old (fun old -> "removed: "
^ (List.map old ~f:(fun (k, v) -> k ^ "=" ^ acl_to_string v)
|! String.concat ~sep:", "))
]
(* (|>) = (|!) *)
let f x =
x
|> fun x ->
g x
|> fun x ->
h x
;;
let f x =
x |> fun x ->
g x |> fun x ->
h x
;;
let _ =
(z (fun x -> x)
|> Validate.of_list) (* Tuareg indents this line too far. *)
let _ =
(* Tuareg works correctly on this (if you drop the fun). *)
(z x
|> Validate.of_list)
(* jli found this great one. Tuareg gets confused by the paren before List.map and
indents |> way too far, under "k ^". ocp-indent should shine, since it understands the
syntax better. *)
let _ =
List.filter_opt [
format old (fun old -> "removed: "
^ (List.map old ~f:(fun (k, v) -> k ^ "=" ^ acl_to_string v)
|> String.concat ~sep:", "))
]