小编ale*_*sch的帖子

如何判断列表是否无限?

有没有办法判断Haskell中的列表是否无限?原因是我不想将函数length应用于无限列表.

haskell list infinite

41
推荐指数
5
解决办法
5170
查看次数

DTD与XSD定义的XML语言范围

以下命题是否成立:对于每个DTD,都有一个定义完全相同语言的XSD,并且每个XSD都有一个定义完全相同语言的DTD.或换句话说:任何DTD定义的语言集合都是任何XSD定义的语言集合?

稍微扩展一下这个问题:XML文档基本上是一个大字符串.语言是字符串的集合.例如,所有MathML文档的(无限)集合都是一种语言,所有RSS文档的集合也是如此.MathML(RSS,...)也是所有XML文档的(无限)集合的适当子集.您可以使用DTD或XSD来定义这样的XML子集.

现在,每个DTD都只定义一种语言.但是如果你想到所有可能的DTD,你会得到一套语言.我的问题是,这个设置与你从所有可能的XSD获得的设置完全相同吗?如果是这样,那么DTD和XSD在两者所定义的XML语言范围相等的意义上是等价的.

为什么这个问题很重要?如果DTD和XSD都是等效的,则可以编写一个程序,它将DTD作为输入并为您提供等效的XSD,另一个程序则执行相反的操作.我知道有很多程序声称要做到这一点,但我怀疑这是否真的有可能.

xml xsd dtd formal-languages

4
推荐指数
1
解决办法
845
查看次数

"迭代"会改变应用函数的含义吗?

当我把以下lambda表达式放入ghci我得到1:

ghci> (\x -> x+1) 0
1
Run Code Online (Sandbox Code Playgroud)

但是,当我使用该功能时,iterate我得到了

ghci> take 10 (iterate (\x -> x+1) 0)
[0,1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)

我希望得到一个等于的列表[1..10].为什么不?

lambda haskell loops

2
推荐指数
3
解决办法
229
查看次数

标签 统计

haskell ×2

dtd ×1

formal-languages ×1

infinite ×1

lambda ×1

list ×1

loops ×1

xml ×1

xsd ×1