草庐IT

haskell-wai

全部标签

java - Java 8 中 Haskell 的 foldr 等价物

这个问题在这里已经有了答案:HowtoreducegivenlistbyusingLambdaexpression.reduce()method(2个答案)关闭7年前。我们习惯了foldr在Haskell中你使用(例如,使用Java语法)aList并返回所需的任何类型(、List等)。例如在Haskell中,这个函数接受List并返回另一个List并用作累加器aList(只是一个例子,函数的目标无关紧要):evens::[Integer]->[Integer]evens=foldr(\xacc->ifmodx2==0thenx:accelseacc)[]现在Java8已经推出并具有函数

java - 如何在 Haskell 中使用指向父子项的指针编写对象树?

我遇到了以下问题:我有一个不同类的对象树,其中子类中的操作使父类无效。在命令式语言中,这是微不足道的。例如,在Java中:publicclassA{privateListm_children=newLinkedList();privatebooleanm_valid=true;publicvoidinvalidate(){m_valid=false;}publicvoidaddChild(Bchild){m_children.add(child);child.m_parent=this;}}publicclassB{publicAm_parent=null;privateintm_da

java - 如何在 Haskell 中实现提前退出/返回?

我正在将Java应用程序移植到Haskell。Java应用程序的主要方法遵循以下模式:publicstaticvoidmain(String[]args){if(args.length==0){System.out.println("Invalidnumberofarguments.");System.exit(1);}SomeDataTyped=getData(arg[0]);if(!dataOk(d)){System.out.println("Couldnotreadinputdata.");System.exit(1);}SomeDataTyper=processData(d);

java - 我需要了解 Haskell 如何表示数据才能编写好的 Haskell 程序吗?

我是从Java背景开始学习Haskell的。当我编写Java程序时,我觉得我对对象在内存中的布局方式及其后果有着深刻的理解。例如,我确切地知道java.lang.String和java.util.LinkedList是如何工作的,因此我知道我应该如何使用它们。对于Haskell,我有点迷路了。例如,(:)是如何工作的?我应该关心吗?是否在某处指定? 最佳答案 简短的回答是否定的。在Haskell中编程时,您应该将数据结构视为纯数学对象,而不用担心它们在内存中的表示方式。这样做的原因是,在没有副作用的情况下,除了创建数据的函数和可用于

java - 这个 Haskell 函数的 Java 等价物是什么?

PhilipWadler的论文“Monadsforfunctionalprogramming”有一个函数eval的例子,它执行用Haskell编写的除法。这是改编自GrahamHutton的“ProgramminginHaskell”:dataExpr=ValInt|DivExprExpreval::Expr->Inteval(Valn)=neval(Divxy)=evalx`div`evaly我的Java等价物是:abstractclassIntegerExpression{abstractIntegerevaluate();}classValueextendsIntegerExpr

java - Java 中的 Haskell 风格内存

我知道这是异端邪说,但我试着翻译了来自http://www.haskell.org/haskellwiki/Memoization的例子到java。到目前为止,我有:publicabstractclassF{publicabstractBf(Aa);}...publicstaticFmemoize(finalFfn){returnnewF(){privatefinalMapmap=newHashMap();publicBf(Aa){Bb=map.get(a);if(b==null){b=fn.f(a);map.put(a,b);}returnb;}};}//usage:privatec

html - HTML5 和 WAI-ARIA 中是否有语义方式来描述 "Toggleable Help Content"?

我试图找到语义上正确的方式来描述代表获取帮助(例如帮助图标)及其帮助内容的方式的HTML元素。我试图搜索此主题,但在帮助中搜索帮助并非易事。这是我的想法的一个简单示例(使用一个简单的脚本来显示/隐藏帮助内容以及利用“title”属性):PleaseenteryourpasswordYourpasswordmusthave5characters.有没有更好的方式来表示这个(以这种格式)。这个想法是用一种可访问且SEO友好的方式来描述“可切换的帮助内容”。问题是关于HTML/HTML5和WAI-ARIA属性(不是JavaScript)——我正在寻找我的示例的最佳元素表示(如果这样的概念存在

seo - 搜索引擎是否考虑了 ARIA 角色 (http ://www. w3.org/TR/wai-aria/)?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭6年前。Improvethisquestion我公司的网站都是关于在线游戏的,因此可访问性在我们的优先列表中并不高。然而,SEO最佳实践是。在网上搜索我们找不到任何关于ARIA是否是最佳实践的讨论(这已经是一种答案:-)。我发现这令人惊讶,因为使用ARIA角色似乎是一件很自然的事情-它们包含大量与SEO相关的元数据(整体页面结构,页面的哪些部分是“主要”而不是“服务”导航区域,哪些部分包含“实际”与“相关”与“独立”内容等)。更重要的是

c++ - 在 Haskell 中移动或复制(相对于 C++)

以这两个C++函数和示例用法为例:vectormakeVect(){vectorv={1,2,3};returnv;}//usageautov=makeVect();//vectorismovedvoidaddFour(vector&v){v.push(4);}//usageaddFour(v);//vispassedinasreference两种情况下都不会发生复制。这真的很有效。对应的Haskell函数和用法如下:makeVect::(Numa)=>[a]makeVect=[1,2,3]--usage--Q1:is[1,2,3]copiedormovedtov?letv=makeV

c++ - 使用 O(1) 元素访问在 Haskell 中实现高效的类似 zipper 的数据结构

问题我想创建一个数据类型,允许快速访问和修改其元素。是否可以在Haskell中创建一个结构和函数,其执行速度与简单的C++实现一样快?问题详情我正在用Haskell编写一个编译器。我有AST由数据类型表示,让我们考虑以下一个:importPreludehiding(id)--thisisasampledatatype,therealonehasgotalotofconstructorsdataAST=A{id::Int,x::AST,y::AST,z::AST}|B{id::Int}|C{id::Int,x::AST,y::AST}|D{id::Int,u::AST,v::AST,w: