标签: morte

在构造微积分中的"反射"事物?

在语言,如Agda,IdrisHaskell用类型扩展,有一种=像以下类型排序

data a :~: b where
  Refl :: a :~: a
Run Code Online (Sandbox Code Playgroud)

a :~: b意味着ab是一样的.

可以在构造计算Morte(这是基于构造计算的编程语言)中定义这样的类型吗?

haskell functional-programming equality dependent-type morte

9
推荐指数
1
解决办法
508
查看次数

是否有可能在结构演算中表达平衡的未标记二叉树的类型?

我试图通过Morte项目探索和理解建筑微积分的领域.我知道可以在Agda中表示这样的数据类型,但是对于我来说如何在这样的极简主义环境中表示它并不明显.怎么可能这样呢?我的意思是这个数据类型,在Idris中:

data Tree : Nat -> Type -> Type where
    Leaf : a -> Tree Z a
    (::) : Tree k a -> Tree k a -> Tree (S k) a
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming dependent-type morte

3
推荐指数
1
解决办法
305
查看次数

如何在Morte中输入zipWith?

这是zipWithMorte中几乎有效的定义:

zipWith
  =  ? (u : *)
  -> ? (f : (u -> u -> u))
  -> ? (a : (#List u))
  -> ? (b : (#List u))
  -> ? (List : *)
  -> ? (cons : (u -> List -> List))
  -> ? (nil : List)
  -> ((? (A:*) -> ? (B:*) ->
  (a (B -> List)
    (? (h:u) -> ? (t : (B -> List) -> ? k : B -> (k h t)))
    (? (k:B) …
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming agda dependent-type morte

3
推荐指数
1
解决办法
184
查看次数

如何在Morte上代表任意GADT?

表达正常的数据类型(如列表和nat)非常简单,并且有很多例子.但是,翻译GADT的通用程序是什么?将典型类型(如Vector和依赖产品)从Idris转换为Morte的一些示例将非常具有说明性.

haskell gadt idris morte

3
推荐指数
1
解决办法
318
查看次数