diff options
Diffstat (limited to 'motus/js/next.ml')
-rw-r--r-- | motus/js/next.ml | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/motus/js/next.ml b/motus/js/next.ml index 104b3e6..f3bb2fe 100644 --- a/motus/js/next.ml +++ b/motus/js/next.ml @@ -6,24 +6,24 @@ type t = unit let process : t -> State.state -> State.state = fun () state -> - (* Add the current proposition into the validated list *) + (* Get the news rules (and match the words only against the new ones )*) let rules = State.get_current_rules state.current_prop in + (* Update the word list with the new rules *) + let analysis = Motus_lib.Wordlist.filter rules state.analysis in + let rules = Motus_lib.Criteria.merge_lists ~init:state.rules rules |> List.sort_uniq ~cmp:Stdlib.compare in - (* Update the word list with the new rules *) - let analysis = Motus_lib.Wordlist.filter rules state.analysis in - let propositions = state.current_prop :: state.propositions and current_prop = [] in let new_state = { state with propositions; current_prop; rules; analysis } in (* Get the new proposition if any *) - let current_prop = Initialize.get_proposition analysis rules in + let current_prop = Initialize.get_proposition state.length analysis rules in match current_prop with | None -> new_state | Some prop -> |