- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
tying-the-knot 策略可用于构建图,例如,使用简单的两条边图作为示例:
data Node = Node Node Node
-- a - b
-- | |
-- c - d
square = a where
a = Node b c
b = Node a d
c = Node a d
d = Node b c
square
上的节点数量?值(value)?
countNodes :: Node -> Int
countNodes = ... ??? ...
main = print $ countNodes square
-- output: 4
最佳答案
您确实需要某种标签,因为从 Haskell 内部无法区分写入的节点。事实上,当 Haskell 编译器看到
square = a where
a = Node b c
b = Node a d
c = Node a d
d = Node b c
a
和
d
以及
b
和
c
是由相等的表达式定义的,并将每一对作为一个底层对象实现是完全合法的。 (这称为公共(public)子表达式消除。)
t = Node t t = Node (Node ... ...) (Node ... ...)
-从指称语义的角度来看,这是您的数据类型中唯一不包含底部的值。
关于haskell - 是否可以在使用 tying-the-knot 策略构建的图上进行搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33159805/
在阅读 Haskell 相关的东西时,我有时会遇到“打结”这个表达,我想我理解它的作用,但不理解它的作用。 那么,对于这个概念有什么好的、基本的、简单易懂的解释吗? 最佳答案 打结是循环数据结构问题的
tying-the-knot 策略可用于构建图,例如,使用简单的两条边图作为示例: data Node = Node Node Node -- a - b -- | | -- c - d squa
我正在学习 Haskell,正在阅读 Tying the Knot关于如何构建循环链表。在代码中 data DList a = DLNode (DList a) a (DList a) mkDList
我需要在 OpenGL 中绘制 NURBS 曲线的控制点和节点。控制点没有问题,因为它们是由它们的坐标定义的。但是,我在打结方面遇到了更多麻烦。 我有一个由 gluNurbsCurve 获取的结数组函
编辑:最初的问题是“用 comonad 打结”,但这里真正有帮助的是与 cirdec 中的 U2Graph 打结的二维结。 。 原始问题(直到 Anwser): 我想与源自 comonad 的数据结合
好吧,我是编程新手,我想知道如何打印某些字段的值。例如,我有一个速度,单位是节(21 节),如何将“节”部分添加到我的代码中,这样我就不会只打印整数?我希望它有 [number] 节。这是我到目前为止
我是一名优秀的程序员,十分优秀!