我想在Haskell中除以两个Int值,并得到一个Float形式的结果。我试着这样做:foo a b = fromRational $ a % b
但是GHC (版本6.12.1)告诉我,关于表达式中的a,“无法匹配预期类型我理解其中的原因:fromRational调用需要(%)生成一个Ratio Integer,所以操作数的类型应该是Integer
现在考虑以下几点:函数应用程序需要首先计算左操作数(获取lambda表单),而且它不能在输入函数之前盲目地计算右操作数,因为这违反了Haskell的非严格语义因此,(seq a id) b必须首先计算seq a id,这强制a和id (以某种未指定的顺序(但求值id不做任何事情)),然后返回id b (即b);因此xseq a b在b之前计算a。xseq是pseq的有效实现吗?如果没有