diff --git a/src/content/1.4/code/ocaml/snippet04.ml b/src/content/1.4/code/ocaml/snippet04.ml index d7c311f4f..eb379cb0c 100644 --- a/src/content/1.4/code/ocaml/snippet04.ml +++ b/src/content/1.4/code/ocaml/snippet04.ml @@ -1 +1,4 @@ -let pure x = x, "" +let ( >=> ) = fun m1 m2 -> + let y, s1 = m1 x in + let z, s2 = m2 x in + z, StringLabels.concat ~sep:"" [ s1; s2 ] diff --git a/src/content/1.4/code/ocaml/snippet05.ml b/src/content/1.4/code/ocaml/snippet05.ml index 380e46a53..c3310c8c9 100644 --- a/src/content/1.4/code/ocaml/snippet05.ml +++ b/src/content/1.4/code/ocaml/snippet05.ml @@ -1,3 +1 @@ -let up_case : string -> string writer = - fun s -> String.uppercase s, "up_case " -;; +let return : 'a -> 'a writer = fun a -> a, "" diff --git a/src/content/1.4/code/ocaml/snippet06.ml b/src/content/1.4/code/ocaml/snippet06.ml index ed0f0d298..461f7320d 100644 --- a/src/content/1.4/code/ocaml/snippet06.ml +++ b/src/content/1.4/code/ocaml/snippet06.ml @@ -1,3 +1,7 @@ +let up_case : string -> string writer = + fun s -> String.uppercase s, "up_case " +;; + let to_words : string -> string list writer = fun s -> String.split s ~on:' ', "to_words " ;; diff --git a/src/content/1.4/code/reason/snippet04.re b/src/content/1.4/code/reason/snippet04.re index e79f8aacc..00766164b 100644 --- a/src/content/1.4/code/reason/snippet04.re +++ b/src/content/1.4/code/reason/snippet04.re @@ -1 +1,7 @@ -let pure = x => (x, ""); +let (>=>) = (m1, m2) => { + let (y, s1) = m1(x); + + let (z, s2) = m2(x); + + (z, StringLabels.concat(~sep="", [s1, s2])); +}; diff --git a/src/content/1.4/code/reason/snippet05.re b/src/content/1.4/code/reason/snippet05.re index dcd0f1da2..08c04bccd 100644 --- a/src/content/1.4/code/reason/snippet05.re +++ b/src/content/1.4/code/reason/snippet05.re @@ -1,2 +1 @@ -let up_case: string => writer(string) = - s => (String.uppercase(s), "up_case "); \ No newline at end of file +let return: 'a => writer('a) = a => (a, ""); diff --git a/src/content/1.4/code/reason/snippet06.re b/src/content/1.4/code/reason/snippet06.re index 93cefe6c6..a0695f62c 100644 --- a/src/content/1.4/code/reason/snippet06.re +++ b/src/content/1.4/code/reason/snippet06.re @@ -1,4 +1,5 @@ -let to_words: string => writer(list(string)) = ( - s => (String.split(s, ~on=' '), "to_words "): - string => writer(list(string)) -); +let up_case: string => writer(string) = + s => (String.uppercase(s), "up_case "); + +let to_words: string => writer(list(string)) = + s => (String.split(s, ~on=' '), "to_words ");kkkk