monads 相关问题

编程中的monad是可组合的计算描述。 Monads是Haskell等函数式编程语言中的重要构造。

Haskell中任何顺序或尺寸的列表理解

请考虑以下程序。 chars = [“”] ++ [“ A”] ++ [“ B”] ++(重复“ ABCD”)f :: Int-> [(Char,Int)] fn =(,)(字符! n)[1..3] g :: Int-> [[((Char,Int)]] g 1 =(...

回答 2 投票 2

测试自定义数据类型的haskell io

更新:我注意到我的代码设计存在问题。我的代码的总体结构已发生很大变化,以至于对该问题的任何答案都或多或少与它的...... >>>

回答 1 投票 0

当非单值变成单值时正确重构Haskell代码

假设我有此示例代码:h = 2 add = \ xy->(x + y)addH =添加h main = return(fmap addH [1,2])运行它将得出[3,4]现在,假设h不是设置为“ 2”,而是设置为“ Just 2”。 ...

回答 2 投票 0

Haskell中的函数可以映射到MonadTrans上?

我最近决定开始使用monad转换,而不是堆叠我的monad,因为这似乎是正确的做法。无论如何,我并没有真正堆叠过很多单子。我得到(I ...

回答 2 投票 2

无法在Monad实例定义中将类型“ a”与错误“ b”匹配

我正在编写一个haskell程序来执行一堆语句以修改数据记录。我想对每个语句的状态进行修改和测试,而无需用户干预。我有...

回答 1 投票 2

IO是组成链中的第一位

我有兴趣在我的JavaScript函数组合中尝试类似Haskell的IO monad。类似于Folktale的Task似乎与Haskell的IO类似,因为它很懒,因此...

回答 2 投票 0

Monad Parser-无法将预期的类型'[[(b,String)]]'与实际的类型'Parser b'

我正在使用G.Hutton的“在Haskell中编程”来研究Haskell。我正在关注Monadic Parser的ch.13。首先,我定义一个类型解析器:newtype Parser a = P(String-> [(a,String)])然后,解析...

回答 1 投票 1

如何使用自定义数据类型定义实例Monad Writer

我有模块:module Writer,在其中导入前奏隐藏(Monad,(>> =),return,(= > =):: ma->(a ...

回答 1 投票 0

读取运算符>>时Coq的语法错误= = >>

以下代码:类MonadState(M:类型->类型)(S:类型):= MonadState_Build {monad_state:> Monad M;得到:M S;把:S-> M S; embed_fun {X} :( S-> ...

回答 1 投票 0

TypeScript +模式匹配中的任一monad

我正在尝试在TypeScript中实现Either monad。接口Either {flatMap (f:(value:TResult)=> Either ):Either ; match&...

回答 1 投票 2

TypeScript中的一个monad

我正在尝试在TypeScript中实现Either monad。接口Either {flatMap (f:(value:TResult)=> Either ):Either ; match&...

回答 1 投票 2

是否可以为每个monad转换器`t`写出类型为`Monad m => t Identity a-> t m a`的函数?

假设我们有以下类型类。 class MonadTrans t => MonadLower t其中更低的:: Monad m => t身份a-> t m a作为一个简单的例子,我们可以实现...

回答 1 投票 1

打印将以下功能作为参数

所以我正在学习Haskell并拥有我想运行的更广泛的程序,但是我设法缩小了为什么它对这个问题不起作用的方法:putSentence :: String-> IO()putSentence句子= ...

回答 2 投票 0

如何实现parsec的try方法?

我想实现与parsec的try方法相同的方法。但是我没有使用解析转换器,而是使用持有状态的Parser对象:try :: Parser String-> Parser String try p = P $ ...

回答 1 投票 0

Haskell的嵌套国家

我正在尝试定义状态机家族,它们的状态有所不同。特别地,更“复杂”的状态机具有通过组合...

回答 2 投票 3

如何为以下数据类型定义monad实例?

这是我必须使用的代码:infixl 9:@:-这是在表达式数据应用中使用的新定义的符号Expr = Lit Integer-文字| Var String-一个...

回答 1 投票 1

Haskell中forM的返回值

如果我有一个列表输入= [“ 1”,“-2”,“ 14”,“ 3”],长度为n,并且我想将其转换为一个Int列表,那么forM [0的返回值是多少。 。(n-1)] $ \ i->让t =读(input !!(i)):: ...

回答 1 投票 1

如何将comonad和monad合并为comonad?

假设我有一个共纳D monad T的分布定律l:D T->整个共纳D上共纳D的TD。如何定义共纳D T?

回答 1 投票 0

Data.List用于monad的插值

我正在使用ReadP模块编写一个小型解析器。我有这个表达式:cmdExpr =字符串“ create”字符串“ add”字符串“另一个别名” ...我想抽象一下...

回答 3 投票 1

CPS协程:为什么此示例需要精疲力尽?

我正在尝试从Wikibooks / Haskell的CPS章中找出协程示例,但我不明白为什么runCoroutineT函数需要。 (

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.