gadt

    1热度

    1回答

    使用GADT这里是我的问题 我使用Control.Exception.catch我的异常处理,它有以下类型: (从Hoogle扑杀) catchSource :: Exception e => IO a The computation to run -> (e -> IO a) Handler to invoke if an exception is raised -> IO a

    38热度

    5回答

    实际使用广义代数数据类型是否有很好的资源? haskell wikibook中给出的示例太短,无法让我深入了解GADT的真实可能性。 谢谢

    2热度

    1回答

    我有一个GADT定义如下(略), {-# LANGUAGE StandaloneDeriving #-} data D t where C :: t -> D t R :: D b -> D (Either a b) deriving instance Show t => Show (D t) 编译器正确地抱怨说,它不能获得显示R.在这种情况下,我们有(无论是AB)是类

    1热度

    2回答

    我试图按照纸张"Scrap your boilerpolate" Revolutions的程序。 不幸的是,我发现程序中抬起的脊椎视图部分没有在我的GHC编译, 有人可以指出我错在哪里? {-# LANGUAGE FlexibleContexts, MultiParamTypeClasses, FlexibleInstances, UndecidableInstances, Scoped

    0热度

    1回答

    我需要有这样的排序GADT在Java中,像 interface Action<C, O> { Collection<O> doAction(C<O> predicate) } ,所以我可以很容易地声明类像 class Selector<T> { ... } ,然后用执行使用它例如,接受Selector实例的动作。并且Action的实现也接受谓词 - 但参数的类型必须匹配返回

    36热度

    2回答

    我看到这个片段在the devlog of omegagb: data ExecutionAST result where Return :: result -> ExecutionAST result Bind :: (ExecutionAST oldres) -> (oldres -> ExecutionAST result) -> ExecutionAST

    8热度

    2回答

    我有一个关于Scala类型构造器上的类型推理的问题。我跑斯卡拉2.9.1 ... 假设我定义的树:根据我的树定义 sealed trait Tree[C[_], A] case class Leaf[C[_], A](a: A) extends Tree[C, A] case class Node[C[_], A](a: A, c: C[Tree[C, A]]) extends Tree[C,

    5热度

    3回答

    任何人都可以给我关于在OCaml(3.12)中支持对它们进行加法和减法操作的类型级别整数的建议/建议吗? 举例来说,如果我有这样表示的数字: type zero type 'a succ type pos1 = zero succ type pos2 = zero succ succ ... 我需要一种方法来定义的类型的功能是这样的: val add: pos2 -> pos1 ->