我是Haskell的新手,我正在尝试一下:
isPrime :: Integer->Bool
isPrime x = ([] == [y | y<-[2..floor (sqrt x)], mod x y == 0])
Run Code Online (Sandbox Code Playgroud)
我有几个问题.
(Floating Integer, RealFrac Integer)
定义所需的实例isPrime
?抱歉我的英语.
我在这里阅读,我注意到,例如,如果我有以下函数定义:
a :: Integer->Integer->Integer
b :: Integer->Bool
Run Code Online (Sandbox Code Playgroud)
以下表达式无效:
(b . a) 2 3
Run Code Online (Sandbox Code Playgroud)
组合的功能必须只有一个参数,这很奇怪.
这个限制是因为在Haskell中定义最通用的一个问题还是有其他原因?
我是Haskell的新手,所以我问的也许是无用的问题.