X-Git-Url: https://git.xandkar.net/?p=cellular-automata.git;a=blobdiff_plain;f=polymorphism%2F001%2Fsrc%2Fpolymorphism.ml;fp=polymorphism%2F001%2Fsrc%2Fpolymorphism.ml;h=0444595e7d2043888875e90a1709f9c25c543c37;hp=8d85a0eda861b42ddb5db2f858cc4ea9961bb39d;hb=47c9d6963d399bc3fac7d39616cf26066311cc29;hpb=31d923734f612795952158d003dc9e89fa5f17c7 diff --git a/polymorphism/001/src/polymorphism.ml b/polymorphism/001/src/polymorphism.ml index 8d85a0e..0444595 100644 --- a/polymorphism/001/src/polymorphism.ml +++ b/polymorphism/001/src/polymorphism.ml @@ -263,9 +263,10 @@ struct let create () = Random.int 2 |> State.of_int |> State.to_cell - let count_of_live neighbors = - neighbors |> List.map ~f:(State.of_cell_state |- State.to_int) - |> List.fold_left ~init:0 ~f:(+) + let count_of_live = + List.map ~f:State.of_cell_state + |- List.map ~f:State.to_int + |- List.fold_left ~f:(+) ~init:0 let transition ~self ~neighbors = self |> State.of_cell_state @@ -351,11 +352,11 @@ struct let create () = Random.int 3 |> State.of_int |> State.to_cell - let count_of_burning neighbors = - neighbors |> List.map ~f:State.of_cell_state - |> List.filter ~f:State.is_burning - |> List.map ~f:State.to_int - |> List.fold_left ~init:0 ~f:(+) + let count_of_burning = + List.map ~f:State.of_cell_state + |- List.filter ~f:State.is_burning + |- List.map ~f:State.to_int + |- List.fold_left ~f:(+) ~init:0 let transition ~self ~neighbors = self |> State.of_cell_state