type-systems

    0热度

    2回答

    我想在JavaScript中将“基”类型的属性和初始化逻辑包含到“子”类型中。以下是习惯用语吗? function Base(arg1) { this.foo = arg1.foo; } function Sub(arg1) { //Initialize using the base ctor... Base.call(this, arg1); }

    5热度

    1回答

    我正在阅读Scala中的函数式编程,而在第04章中,作者自己实现了Option。现在,定义函数getOrElse当他们使用一个上限的A类型限制的父(如果理解正确的) 所以,定义云: sealed trait Option[+A] { def getOrElse[B >: A](default: => B): B = this match { case None => defau

    4热度

    1回答

    我在玩Control.Applicative,我意识到我不了解Haskell类型系统的所有内容。 这是我在GHCI实验: λ :t (<*>) (<*>) :: Applicative f => f (a -> b) -> f a -> f b λ :t (<*>) (pure 2) (<*>) (pure 2) :: (Num (a -> b), Applicative f) => f

    7热度

    2回答

    基本上,我希望能够写这样的事: val x :('k1.type, Int) = 'k1 -> 1 val y :('k2.type, Int) = 'k2 -> 2 凡类型x和y的不兼容,但无论是共享的超类型或通过上下文边界进行标注,让我做这样的事情: def mlt[T :MyLittleType](x :(T, Int)) = ??? mlt(x); mlt(y) 关键词用在这里

    0热度

    1回答

    在堆栈溢出的人回答是引述: Scala是一个完全面向对象的语言,比Java更是这样,对非研究语言提供了最先进的类型系统之一。 Scala的类型系统比Java更先进的方式是什么?

    1热度

    1回答

    我正在制作一个tic tac toe游戏,并为我的策略制定了一个协议。游戏运行良好,所以我想借此机会磨练我的核心技能。我已经诠释了协议(如下图所示),但是当我在REPL运行(cf method-name)或(cf protocol-name),我得到这个错误: 如: => `(cf win)` clojure.lang.ExceptionInfo: Type Checker: Found 1 e

    1热度

    2回答

    我想将core.type注解应用到我的代码中,但是我正在如何/何时实例化一个多态的核心函数,并从函数体内调用,进入一个绊脚石。 排除故障,我已经了解到,我必须处理过滤器和计数特殊,因为它们分别是多态和静态的,匿名函数应该被拉出并注释在绑定中。如果有人能够根据下面的错误消息的输出解释如何对其进行注释,我将非常感激。 这里是我的别名: (defalias Key-set (Set (Option Kw

    1热度

    3回答

    在Haskell语法中,我们可以有一个(抽象)类型,如[a -> b],它是函数a到b的列表。具体的类型是[Int -> Int],比如map (*) [1..10]。是否有可能有一个类似[a -> b, b -> c, c -> d, ...]类型的级联函数列表?列表中的各个元素都是不同的(我认为),所以我不认为这是可能的。但是依赖类型可能吗?它的类型签名是什么(最好是伪哈斯克尔语法)?

    2热度

    1回答

    我学习Scala,并具有以下玩具代码: object M { def isSorted[X](xs: Array[X], compare: (X, X) => Boolean): Boolean = xs.dropRight(1).zip(xs.drop(1)).forall(Function.tupled(compare)) def curry[A,B,C](f:

    1热度

    2回答

    我想建立一个通用特质实现的工厂。 鉴于我的域模型: trait Person case class Man(firstName: String, lastName: String) extends Person case class Woman(firstName: String, lastName: String) extends Person 我创建了一个信息库这些类是这样的: tr