问题描述
当我尝试使用ghc
进行编译时,它抱怨函数定义左侧的参数数量不同.
When I try to compile this with ghc
it complains the number of parameters in the left hand sides of the function definition are different.
module Example where
import Data.Maybe
from_maybe :: a -> Maybe a -> a
from_maybe a Nothing = a
from_maybe _ = Data.Maybe.fromJust
我想知道这是否是ghc
限制.我试着看看我是否可以在Haskell 2010中找到有关参数数量的任何信息报告,但我没有成功.
I'm wondering whether this is a ghc
restriction. I tried to see if Icould find anything about the number of parameters in the Haskell 2010Report but I wasn't successful.
这是合法的Haskell吗?如果不是,此参数计数在哪里列出限制?
Is this legal Haskell or isn't it? If not, where is this parameter countrestriction listed?
推荐答案
这是不合法的.该限制在 Haskell 2010报告:
It's not legal. The restriction is described in theHaskell 2010 Report:
[...]
请注意,所有定义函数的子句必须是连续的,并且每个子句中的模式数必须相同.
Note that all clauses defining a function must be contiguous, and the number of patterns in each clause must be the same.
这篇关于Haskell函数的参数数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!