我想写一个类型的Haskell函数(模块):String -> String在Android中调用.最简单的方法似乎是使用JHC生成C代码,然后使用Android NDK生成共享库,但我找不到任何JHC文档.JHC是否也使用Cabal来构建?JHC是否足够稳定以使用Parsec或Attoparsec库?
一些代数数据类型..
data Cell0=Cell0 {c0str::Text,c0uid::Uid}
deriving (Data,Typeable,Show)
data Cell1=Cell1 {c1start::Uid,c1end::Uid,c1str::Text,c1uid::Int}
deriving (Data,Typeable,Show)
data Cell2=Cell2 {c2start::Uid,c2end::Uid,c2str::Text,c2uid::Int}
deriving (Data,Typeable,Show)
data Acell=Cell0|Cell1
Run Code Online (Sandbox Code Playgroud)
但最后一行导致编译错误“Cell0 的多个声明”
我也试过这样的:
data A=Aasdfdsf {sdf::Text}
deriving (Data,Typeable,Show)
data B=Bsdfsd
data AB=A|B
Run Code Online (Sandbox Code Playgroud)
它编译!好奇怪。。
data A=A
data B=B
data AB=A|B
Run Code Online (Sandbox Code Playgroud)
其中A和B的和型为AB.
但最后一行引起编译错误"B的多个声明"
我也试过这样的事:
data A=Int|Bool
Run Code Online (Sandbox Code Playgroud)
它汇编.但为什么ghc不允许我为用户定义的类型创建和类型?