我需要main
在Haskell中使用循环.我试过这个:
main :: IO ()
main =
do
putStrLn "do something"
main
Run Code Online (Sandbox Code Playgroud)
上面的代码是正确的方法吗?这种无限递归会导致溢出吗?
class Monad m where
return :: a -> m a
(>>=) :: m a -> (a -> m b) -> m b
(>>) :: m a -> m b -> m b
m >> n = m >>= \_ -> n
fail :: String -> m a
Run Code Online (Sandbox Code Playgroud)
我以前从未在类型类中看过方程式(或函数声明?).为什么在类型类中有一个等式?
我知道_是一个匹配任何东西的术语.但是m >> =\_ - > n匹配?
(m >>= f) >>= g
= m >>= (\x -> f x >>= g)
有什么不同f
和\x->f x
?
我认为它们属于同一类型a -> m b
.但似乎>>=
等式右边的第二个对象的类型\x->f x
为m b
.出了什么问题?
我在维基百科上找到了Curry.它说库里几乎是一个超集,但不是因为缺乏某些东西.
我希望看到它支持整个Haskell.他们是否计划将Haskell作为Curry的一部分实施?
我跟着HaskellWiki,但我仍然不知道如何启动它.
我试过了:
yi
ghci yi
import Yi
main
Run Code Online (Sandbox Code Playgroud) 当我配置 curry 的编译器锌时,我得到了这个:
checking for Haskell 98 compiler...
checking for ghc... ghc
checking ghc version... 7.0
checking whether ghc supports Haskell 98... [1 of 1] Compiling Main ( conftest.hs, conftest.o )
yes
using ghc for compilation
checking how to import IOExts... configure: error: import of IOExts does not work
Run Code Online (Sandbox Code Playgroud)
那么什么是 IOExts?我在哪里可以找到它?
我正在尝试在python中实现强类型的遗传编程.
有这样的样品吗?
def funcA(a,b):
return a + b
return_type(funcA)
output: <class 'Integer'>
Run Code Online (Sandbox Code Playgroud)
和
def funcA(a,b):
return a + b
parameter_type(funcA)
output: [<class 'Integer'>,<class 'Integer'>]
Run Code Online (Sandbox Code Playgroud)
更新:
我正在尝试生成python的表达式,并避免无法像这样评估的东西:
funcA(20, funcA(True, "text"))
Run Code Online (Sandbox Code Playgroud) user=> (eval '(+ 1 2))
3
user=> (eval '('+ 1 2))
2
user=> (eval (list '+ '1 '2))
3
user=> (eval (list + '1 '2))
3
Run Code Online (Sandbox Code Playgroud)
这是否意味着'+有时与+相同?
是否有任何规则来确定应考虑哪种情况?
class (Eq e, GenExpr e, MonadRandom m) => GenProg m e | e -> m where
Run Code Online (Sandbox Code Playgroud)
确切地说,我无法理解这个GenProg我| e - > m
我猜GenProg是一个构造函数.
这是否意味着:模式与GenProg me或e匹配的那个- > m,其实例可以定义?
顺便说一句,我在哪里可以获得haskell中的所有语法?
我重新调整了numpy可以与blas链接,我想到为什么不使用gpu加速blas库.
有人这么做吗?
let countList (x:xs) = 1+countList xs
let countList [] = 0
countList [1,2,3]
*** Exception: <interactive>:35:5-20: Non-exhaustive patterns in function countList
Run Code Online (Sandbox Code Playgroud)
我认为这样做太简单了,但是错误仍然存在,我感到震惊
参考:rust-cpp
emacs/spacemacs可以在主模式下支持嵌套模式吗?我习惯于对emacs/spacemacs进行vim和new.