• 将Haskell链接到包装的C ++库

    我尝试为Xapian创建Haskell绑定。但是,当GHC尝试链接绑定时,它会因某些链接问题而失败。 这是头文件的一部分: // file: cbits/libhsxapian.h #ifdef __cplusplus extern "C" { #endif Xapian::Document* xapian_document_C0(); void xapian_document_D0(Xapian::Document* doc); Xapian::SimpleStopper* xapian_simpl...
  • Haskell中递归函数的实现

    我目前正在学习haskell,我在逻辑上遇到麻烦,尤其是如何执行某些动作。 我想做什么 主要目标是拥有一个包含多个缺少单词的句子(语句)的功能,但是,一次只需要打印一个句子即可。 我们还需要另一个函数,该函数打印出4个选项,将为第一个函数包含/打印的每个语句填写完整的句子(然后由用户选择这些选项以填写句子)。 例如。 -“此___包含____” 选项: 字符串,单词 清单,选项 等等 等等 现在,我们需要另一个函数,该函数将从函数1中提取每个句子,并从用户从函数2中选择选项,然后创建一个完整的句子并将其返...
  • Haskell在ADT上递归的麻烦

    I'm through chapter 8 on algebraic data types in LYAHFGG and I'm running into a snag when I try to implement Scheme-like list operations. 这个想法是尝试在Pair adt上构建cons,car,cdr,然后编写标准递归来计算长度: data Pair a b = NullPair | Pair { thisCar :: a, thisCdr :: b} deriving...
  • Haskell递归类型实例

    我对实例定义有疑问。我无法做出定义来符合单子和遍历实例中的身份法。这里的类型: data NotEmpty a = LastValue a | MidValue a (NotEmpty a) deriving Show instance Functor NotEmpty where fmap f (LastValue a) = LastValue (f a) fmap f (MidValue a b) = MidValue (f a) (fmap f b) instance Applica...
  • Haskell中的<*语法

    我得到以下代码 newtype Parser a = Parser { parse :: String -> Maybe (a,String) } instance Applicative Parser where pure a = Parser $ \s -> Just (a,s) f <*> a = Parser $ \s -> case parse f s of Just (g,s') -> parse (fmap g a) s' Nothi...
公告

欢迎访问 goshare  点击这里设置您的邮箱  可以接收站内跟帖、回复邮件提醒,不错过任何一条消息。

关注公众号订阅更多技术干货! 魅力技术资源分享