草庐IT

html - 如何进入内部 Maybe monad 从纯脚本中的 html 按钮中提取类名?

我正在尝试学习purescript。我在一些HTML中有一个按钮,我试图打印它的类名。我正在使用pulp构建和浏览器。我使用的函数是querySelector:importWeb.DOM.ParentNode(querySelector)这会在两个“框”中返回我想要的项目Element:一个外部Effectmonad和一个嵌入的Maybemonad:>:typequerySelectorQuerySelector->ParentNode->Effect(MaybeElement)我的Effectmonad看起来像:getBtn::EffectUnitgetBtn=dodoc>=docu

c# - C# 6.0 中的 Monadic 空值检查

我偶然发现了一个有趣的站点,其中介绍了C#6.0的一些新(提议)功能。您可以在这里阅读:ProbableC#6.0features.我发现特别有趣的是单子(monad)空检查(也称为空传播运算符?.)。根据网站,声明如下varbestValue=points?.FirstOrDefault()?.X??-1;包含monadicnull检查,目前用这段代码实现:if(points!=null){varnext=points.FirstOrDefault();if(next!=null&&next.X!=null)returnnext.X;}return-1;我的第一眼是,嘿,这到底写了什

c# - 在 C# 中恶意使用 Maybe monad 和扩展方法?

edit2015这个问题及其答案不再相关。它是在C#6出现之前被问到的,它具有空传播运算符(?.),这避免了这个问题和后续答案中讨论的hacky-workarounds。自2015年起,在C#中,您现在应该使用Form.ActiveForm?.ActiveControl?.Name。我一直在思考.NET中的null传播问题,这通常会导致丑陋的重复代码,如下所示:尝试#1常用代码:stringactiveControlName=null;varactiveForm=Form.ActiveForm;if(activeForm!=null){varactiveControl=activeFo

memory - 为什么包装 Data.Binary.Put monad 会造成内存泄漏?

我正在尝试将Data.Binary.Putmonad包装到另一个中,以便稍后我可以问它诸如“它将写入多少字节”或“文件中的当前位置是什么”之类的问题。但即使是非常琐碎的包装,例如:dataWriter1Ma=Writer1M{write::P.PutMa}ordataWriter2Ma=Writer2M{write::(a,P.Put)}造成巨大的空间泄漏,程序通常会崩溃(在占用4GB的RAM后)。到目前为止,这是我尝试过的:--Thisworkswellandconsumesalmostnomemory.typeWriter=P.Putwriter::P.Put->Writerwri

javascript - 在 JavaScript 中实现 monad

现在node.js支持ECMAScriptHarmonygenerators我们可以用Haskell中的doblock简洁地编写一元代码:functionmonad(unit,bind){returnfunction(f){returnfunction(){varg=f.apply(this,arguments);returntypeOf(g)==="Generator"?send():unit(g);functionsend(value){varresult=g.next(value);if(result.done)returnunit(result.value);elseretur

java - 使用 Java 8 的 Monad

为了帮助理解monad是什么,有人可以提供一个使用java的示例吗?他们可能吗?如果您从此处下载预发布的lambda兼容JDK8,则可以使用java进行Lambda表达式http://jdk8.java.net/lambda/下面显示了一个使用这个JDK的lambda示例,有人可以提供一个比较简单的monad吗?publicinterfaceTransformService{int[]transform(Listinputs);}publicstaticvoidmain(Stringars[]){TransformServicetransformService=(inputs)->{i

java - 使用 Java 8 的 Monad

为了帮助理解monad是什么,有人可以提供一个使用java的示例吗?他们可能吗?如果您从此处下载预发布的lambda兼容JDK8,则可以使用java进行Lambda表达式http://jdk8.java.net/lambda/下面显示了一个使用这个JDK的lambda示例,有人可以提供一个比较简单的monad吗?publicinterfaceTransformService{int[]transform(Listinputs);}publicstaticvoidmain(Stringars[]){TransformServicetransformService=(inputs)->{i