S-expressions: Difference between revisions
m
→JavaScript :: Functional
m (→JavaScript :: Functional: Simpler quoteTokens) |
|||
Line 3,628:
const [t, ...ts] = tkns;
// Subforests are introduced by brackets,
return "(" === t ? (
bimap(
xs => trees.concat(
Line 3,637:
xs => xs.slice(1)
)(go(ts))
) : ")" === t ? (
▲ // closing brackets conclude forests,
Tuple(trees)(ts)
) : Tuple(
▲ // and other tokens are appended leaves.
trees.concat(
Node(atom(t))([])
|