A menudo tienen una función de tal patrón:Haskell - coincidencia de patrones azúcar sintáctico y donde
f :: a -> b
f x = case x of
... -> g ...
... -> g ...
...
... -> g ...
where g = ...
No es un azúcar sintáctica para casi este caso:
f :: a -> b
f ... = g ...
f ... = g ...
...
f ... = g ...
Desafortunadamente lo que pueda' Adjunte mi where
a él: Obviamente obtendré un montón de not in scope
s. Puedo hacer que g
sea una función separada, pero no es agradable: el espacio de nombres de mi módulo estará contaminado con funciones de utilidad. ¿Hay alguna solución?
Usted no tiene que exportar 'G ', así la contaminación del espacio de nombres es sólo un problema * * dentro de su propio módulo. –