- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Value) | PriVal I-6ren">
我正在尝试根据我用 Haskell 编写的程序将一些指称语义编码到 Agda 中。
data Value = FunVal (Value -> Value)
| PriVal Int
| ConVal Id [Value]
| Error String
在 Agda 中,直接翻译为:
data Value : Set where
FunVal : (Value -> Value) -> Value
PriVal : ℕ -> Value
ConVal : String -> List Value -> Value
Error : String -> Value
但我收到与 FunVal 相关的错误,因为;
Value is not strictly positive, because it occurs to the left of an arrow in the type of the constructor FunVal in the definition of Value.
这是什么意思?我可以用 Agda 对其进行编码吗?我的处理方式是否错误?
谢谢。
最佳答案
HOAS在 Agda 中不起作用,因为:
apply : Value -> Value -> Value
apply (FunVal f) x = f x
apply _ x = Error "Applying non-function"
w : Value
w = FunVal (\x -> apply x x)
现在,请注意,计算 apply w w
会让您再次 apply w w
回来。术语 apply w w
没有范式,这在 agda 中是禁忌。使用这个想法和类型:
data P : Set where
MkP : (P -> Set) -> P
我们可以得出一个矛盾。
摆脱这些悖论的方法之一是只允许严格的正递归类型,这就是 Agda 和 Coq 所选择的。这意味着如果您声明:
data X : Set where
MkX : F X -> X
F
必须是严格正仿函数,这意味着 X
永远不会出现在任何箭头的左侧。所以这些类型在 X
中是严格正数的:
X * X
Nat -> X
X * (Nat -> X)
但这些不是:
X -> Bool
(X -> Nat) -> Nat -- this one is "positive", but not strictly
(X * Nat) -> X
所以简而言之,不,你不能在 Agda 中表示你的数据类型。您可以使用 de Bruijn 编码来获取可以使用的术语类型,但通常评估函数需要某种“超时”(通常称为“燃料”),例如评估的最大步骤数,因为 Agda 要求所有函数都是总计的。 Here is an example由于@gallais 使用共归纳偏爱类型来完成此操作。
关于haskell - Agda 中的"Strictly positive",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2583337/
我刚开始使用 html5 和 css,我对使用 css position 有点困惑。 我可以从堆栈溢出中找到这些链接, Difference between relative and absolute
我想知道是否有一种方法可以获得相对定位的元素的“绝对位置”。我想不出任何方法,但也许有人想出了一个方法...... 最佳答案 我不确定“绝对位置”是什么意思,但您可以使用 el.getBounding
基本上我的 HTML(使用 Bootstrap 类)中有一个页面,其中包含使用 thumbnail 和 caption 类展示的产品。在产品图片上方有一个 ON SELL(圆形红色标签)。我给这个红色
当我使用 BaseAdapter 的 ListView 离开屏幕时,每一行不再保持连续的位置。除了这个我不知道还能怎么解释。 如果我的 BA/LV 在屏幕上显示 4 个项目,并且我添加了一个显示每一行
此 HTML 无法在 IE8 中正确呈现。它适用于 Firefox、Opera、IE7、IE9 和 IE10。 (当然,它在 IE6 中也不起作用,因为它涉及固定位置的元素。) 实际上它在 Chrom
我正在使用Position Absolute的表单验证引擎。 我有一个特定的验证案例,希望可以为我解决。我需要能够根据另一个字段的值来使一个字段成为必需。 例如: If country.dropdow
我看过很多帖子,人们希望将相机位置调整到屏幕位置。我的问题是如何做相反的事情。 我目前想要实现的是将“门”位置设置为屏幕的百分比,此计算已准备就绪,并且我确实有最终屏幕的 X、Y (px) 位置。相机
谁能解释一下使用 position:relative、position:absolute 和 float 对正常文档流及其子项的影响的区别? 例如当我有三个元素 A、B、C 时,其中 A 是包含 B
我有以下代码: .tabs{ position: fixed; top:110px; left:0px; width:40px; z-inde
我不知道如何表达这个问题。 所以这是一个例子。 图层上的动画滑入 View ,然后稍微弹回。 十分简单。 位置关键帧看起来像这样: 关键帧 0:(-100,200) 关键帧 10:(100,200)
我是 XSLT 的新手,我正在使用 w3schools 的“自己尝试”页面进行一些测试。我正在使用以下演示: http://www.w3schools.com/xsl/tryxslt.asp?xmlf
我试图让一个对象 1 (SKSpriteNode) 在某个高度(y 坐标)处创建另一个对象 (object2)。我已经得到了我需要的所有代码,除了我不知道如何正确编写: object1.positio
.special p { display:none; } .special:hover p { display:block; } Things
当将一个绝对定位元素放置在一个位置固定包装器中时,在一个位置相对包装器中,绝对元素位置不应该相对于相对 parent 而不是固定 parent ? Content
我有一个 iframe,它在应用 css 后显示谷歌地图 position: relative; top: 48px; left: -233px; 但是当我向下滚动时,它刚好出现在显示 khaleej
我在一个网站上工作,有一个带有 position:relative 的父元素,它有一个带有 position:absolute 的子元素。令我感到奇怪的是,对于我提到的位置,子元素似乎仍然可以识别它们
我有一个 main 元素,我已将其设置为 position: relative。这包含两个 div,然后我在其上应用 position: absolute。然后,这会导致夹在 main 元素中间的页眉
HTML 代码由一个 div 组成,它具有两种类型的类:“隐藏”和“保留”。 Lorem ipsum dolor sit amet, consectetur adipis
我必须开发一个生成表格(有点……)的软件,并且必须提供对元素位置的完全控制。 到目前为止,我们有这样的构造: 还有一些javascript代码来放置#a , #b和 #c #co
我尝试将 z-index 设置为 body 下的某些位置为 fixed 的元素 示例如下: HTML menu content ....
我是一名优秀的程序员,十分优秀!