相关疑难解决方法(0)

阿格达的"严格积极"

我正在尝试根据我在Haskell中编写的程序将一些指称语义编码到Agda中.

data Value = FunVal (Value -> Value)
           | PriVal Int
           | ConVal Id [Value]
           | Error  String
Run Code Online (Sandbox Code Playgroud)

在阿格达,直接翻译将是;

data Value : Set where
    FunVal : (Value -> Value) -> Value
    PriVal : ? -> Value
    ConVal : String -> List Value -> Value
    Error  : String -> Value
Run Code Online (Sandbox Code Playgroud)

但是我得到了与FunVal有关的错误,因为;

值并非严格为正,因为它出现在Value定义中构造函数FunVal类型中箭头的左侧.

这是什么意思?我可以用Agda编码吗?我是以错误的方式去做的吗?

谢谢.

interpreter haskell types agda semantics

28
推荐指数
1
解决办法
3173
查看次数

标签 统计

agda ×1

haskell ×1

interpreter ×1

semantics ×1

types ×1