我经常有这样的模式的功能:哈斯克尔 - 模式匹配的语法糖和地方
f :: a -> b
f x = case x of
... -> g ...
... -> g ...
...
... -> g ...
where g = ...
没有为几乎这种情况下的语法糖:
f :: a -> b
f ... = g ...
f ... = g ...
...
f ... = g ...
不幸的是,我可以”不要把我的where
附加到它上面:我显然会得到一堆not in scope
s。 我可以使g
成为一个单独的函数,但这并不好:我的模块的名称空间将被实用程序函数污染。 有什么解决方法吗?
您不必出口'g',因此命名空间的污染只是一个问题* *内自己的模块。 –