Word break problem: Difference between revisions

→‎{{header|Javascript}}: Disaggregated tokenTrees on model of Python draft
(→‎{{header|Javascript}}: Disaggregated tokenTrees on model of Python draft)
Line 185:
=={{header|Javascript}}==
Composing a solution from generic functions.
{{Trans|HaskellPython}}
<lang javascript>(() => {
'use strict';
Line 204:
 
// tokenTrees :: [String] -> String -> [Tree String]
const tokenTrees = (wds, txts) => {
const parse = (w, xs); =>
0 < xs.length ? [Node(w, xs)] : []xs;
const go = s =>
wds.includes(s) ? (
[Node(s, [])]
) : bindList(wds, w => next(s, w));
const next = (s, w) wds,=>
w => isPrefixOfs.startsWith(w, s) ? (() => {
const ts =parse(w, go(s.slice(w.length));)
) : return 0 < ts.length ? ([];
return [Nodego(w, tss)];
) : [];
})() : []
);
return go(txt);
};
 
9,655

edits