
22 Nov
2023
22 Nov
'23
7:39 p.m.
Hello, Cafe: Is there a preferred way to define two top-level mutually recursive functions, f and g, that both use a common local function h such that h is (1) only defined once and (2) does not escape the scope of f and g? I suppose it could be done like this: fg = let f ... = ... f,g,h ... g ... = ... f,g,h ... h ... = ... h ... in (f,g) f = fst fg g = snd fg but is there something more elegant than this that I'm not seeing? Todd Wilson