草庐IT

python - 简化 Monad

我正在尝试理解也许Monad但是我看到的大多数示例都使用了一些特定于语言的功能。为了确保我在概念上是正确的,我想到了编写一个通用的实现。以下是我想出的。有人能告诉我我的概念是否正确吗?有没有更好的泛化方法?deff():return2defg():return4defh():return7defi():returnNonedefbind(val,func):ifvalisNone:returnNoneelse:return(func())unit=0>>>bind(bind(bind(unit,f),i),h)#Returnsnothing>>>bind(bind(bind(unit,

python - 结合 maybe 和 seq monads : confused at the output

我正在尝试组合seq-m和error-m来对可能返回错误的事物进行列表推导。我的输出有意想不到的类型,但除此之外它实际上似乎是合理的。我在下面分解了我的代码,但这里有一个workinggist这是我的monadic业务逻辑defget_loan(name):m_qualified_amounts=(bind(get_banks(name),lambdabank:bind(get_accounts(bank,name),lambdaaccount:bind(get_balance(bank,account),lambdabalance:bind(get_qualified_amount(

html - IE 在菜单子(monad)项上创建不必要的偏移量

我正在使用一个名为sbadmin2的Bootstrap模板作为元素的引用。出于某种原因,仅在IE中(一如既往)在子菜单上创建偏移量时存在问题。使用inspect我可以看到,当我将line-height属性标记为关闭然后再打开时,它变得与其他浏览器相同。IE:FF:菜单是一个名为metismenu的插件,我在sbadmin2源代码中看到一段javascript似乎可以解决问题但对我不起作用。我用的是IE11版本,估计用其他版本也是一样的错误这是fiddle:https://jsfiddle.net/macmessa/ubqqs70c/$(document).ready(function(

html - IE 在菜单子(monad)项上创建不必要的偏移量

我正在使用一个名为sbadmin2的Bootstrap模板作为元素的引用。出于某种原因,仅在IE中(一如既往)在子菜单上创建偏移量时存在问题。使用inspect我可以看到,当我将line-height属性标记为关闭然后再打开时,它变得与其他浏览器相同。IE:FF:菜单是一个名为metismenu的插件,我在sbadmin2源代码中看到一段javascript似乎可以解决问题但对我不起作用。我用的是IE11版本,估计用其他版本也是一样的错误这是fiddle:https://jsfiddle.net/macmessa/ubqqs70c/$(document).ready(function(

haskell - Get Monad 中的 IO

所以我的问题如下。我正在尝试为RDB文件(Redis生成的转储文件)实现流式解析器。我想实现一个类似于mapM_的函数,我可以说打印出转储文件中表示的每个对象,因为它被解析。但是,我似乎无法让它在恒定空间中运行。我发现正在发生的事情是我在Getmonad内部构建一个大的IO()thunk,从Getmonad返回然后执行IO。有没有办法在我的对象被解析打印时流式传输然后丢弃它们?我已经尝试过Enumerators和Conduits,但我没有看到任何真正的收获。这是我目前所拥有的:loadObjs_::(Monadm)=>(MaybeInteger->BL8.ByteString->RDB

haskell - Get Monad 中的 IO

所以我的问题如下。我正在尝试为RDB文件(Redis生成的转储文件)实现流式解析器。我想实现一个类似于mapM_的函数,我可以说打印出转储文件中表示的每个对象,因为它被解析。但是,我似乎无法让它在恒定空间中运行。我发现正在发生的事情是我在Getmonad内部构建一个大的IO()thunk,从Getmonad返回然后执行IO。有没有办法在我的对象被解析打印时流式传输然后丢弃它们?我已经尝试过Enumerators和Conduits,但我没有看到任何真正的收获。这是我目前所拥有的:loadObjs_::(Monadm)=>(MaybeInteger->BL8.ByteString->RDB

haskell - 何时(何时不)定义 Monad

这是一个与API设计实践相关的问题,用于为Haskell库定义您自己的Monad实例。定义Monad实例似乎是隔离DSL的好方法,例如Parmonadinmonad-par,hdph;Process在分布式进程中;Eval并行等...我举了两个haskell库的例子,它们的目的是与数据库后端进行IO。我举的例子是riak对于RiakIO,和hedis用于RedisIO。在hedis中,一个Redismonadisdefined.从那里,您使用redis运行IO:dataRedisa--instanceMonadRedisrunRedis::Connection->Redisa->IOa

haskell - 何时(何时不)定义 Monad

这是一个与API设计实践相关的问题,用于为Haskell库定义您自己的Monad实例。定义Monad实例似乎是隔离DSL的好方法,例如Parmonadinmonad-par,hdph;Process在分布式进程中;Eval并行等...我举了两个haskell库的例子,它们的目的是与数据库后端进行IO。我举的例子是riak对于RiakIO,和hedis用于RedisIO。在hedis中,一个Redismonadisdefined.从那里,您使用redis运行IO:dataRedisa--instanceMonadRedisrunRedis::Connection->Redisa->IOa

c# - C# 中的 Monads——为什么 Bind 实现需要传递的函数来返回 monad?

我在C#中看到的大多数monad示例都是这样写的:publicstaticIdentityBind(thisIdentitya,Func>func){returnfunc(a.Value);}例如,参见http://mikehadlow.blogspot.com/2011/01/monads-in-c-3-creating-our-first-monad.html.问题是,要求func有什么意义?返回Identity?如果我使用以下定义:publicinterfaceIValue{publicIValueBind(Funcfunc)}然后我实际上可以使用相同的func对于Lazy,Ta

c# - C# 中的 Monads——为什么 Bind 实现需要传递的函数来返回 monad?

我在C#中看到的大多数monad示例都是这样写的:publicstaticIdentityBind(thisIdentitya,Func>func){returnfunc(a.Value);}例如,参见http://mikehadlow.blogspot.com/2011/01/monads-in-c-3-creating-our-first-monad.html.问题是,要求func有什么意义?返回Identity?如果我使用以下定义:publicinterfaceIValue{publicIValueBind(Funcfunc)}然后我实际上可以使用相同的func对于Lazy,Ta