type-systems 相关问题

类型系统通过提供用于操作这些约束的语法方法,对可编写的程序施加约束。

协方差类型的泛型函数输出是错误的,这是类型系统错误还是预期的?

考虑 性状 水果 { 值名称:字符串 } case class Apple(覆盖 val 名称:String)扩展 Fruit case class Banana(覆盖 val name: String) 扩展 Fruit 当我定义一个函数来收集...

回答 1 投票 0

如何创建一个 Trait 来表示除 std::Any 之外的所有数据类型

我想要什么 表示所有数据类型的 Trait,例如 String、Vec、i32 等 包括其他一些复杂的数据类型,比如Box>和一些我定制的

回答 1 投票 0

为什么 Scala 编译器在 2.10 中对 self 类型变得更加严格? [已关闭]

我有以下代码: 性状 TFn1B { 输入 输入输出 输入应用[T <: In] <: Out } trait TFn1[I, O] extends TFn1B { type In = I type Out = O } trait >&...

回答 2 投票 0

编译器无法解析扩展泛型类型的 Scala 类型

考虑抽象类 Fruit: 性状 水果 case 对象 Apple 扩展了 Fruit 案例对象 Orange 扩展 Fruit 我想为具有通用输入和输出的水果实现处理器服务: 特质

回答 1 投票 0

Haskell 的类型系统是 Curry 风格还是 Church 风格?

Haskell 的类型系统是 Curry 风格还是 Church 风格? 在研究 Haskell 的类型系统时,我遇到了 Curry 风格和 Church 风格这两个术语。我想了解之间的区别

回答 1 投票 0

理解“在通用上下文中查找动态类型”

我想了解这部分。 我正在阅读在通用上下文中查找动态类型,其中包含以下代码片段: func printGenericInfo(_ 值: T) { 让 t = 类型(值:值)

回答 2 投票 0

如何为数组编写类型化展平方法

我正在尝试用 TypeScript 编写类似于 Array.prototype.flat() 的东西。 但是,我希望能够展平任意深度的嵌套列表;而且我想限制所有非数组元素...

回答 1 投票 0

TypeScript:如何为数组编写类型化展平方法

我正在尝试用 TypeScript 编写类似于 Array.prototype.flat() 的东西。 但是,我希望能够展平任意深度的嵌套列表;而且我想限制所有非数组元素...

回答 1 投票 0

迭代模块中的所有结构

我正在编写一个 ModulePass,我需要分析给定模块中定义的每个结构。 我知道带有名称的已识别结构已插入 ValueSymbolTable 中,但我如何迭代...

回答 5 投票 0

合并接口,不合并

我在想,C++或者Java有没有办法做这样的事情 接口 IF1{ .... }; 接口 IF2{ .... }; 函数 f(对象 o :实现 IF1、IF2){ ... } 意思是类型...

回答 6 投票 0

所有其他 Swift 类型的基本类型是什么?

我目前正在尝试更好地了解 GitHub 上的 Apple 开源 Swift 编译器。使用 Swift 几年后,我已经习惯了定义重要类型的哲学

回答 2 投票 0

在 Scala 3(点)或 Scala 2 中,如何使依赖类型具有传递性?

这是一个简单的例子: { // 函数中的依赖类型 def dep[B](a: 任意, bs: Seq[B]): Seq[(a.type, B)] = { val 结果:Seq[(a.type, B)] = bs.map { b => (a: a.type) ->...

回答 1 投票 0

获取抽象类型的名称

我正在尝试创建一个特征,该特征将提供在子类中添加的抽象类型的名称: 特质 T { T型 def myClassOf[T:ClassTag] = 隐式[ClassTag[T]].runtimeClass ...

回答 2 投票 0

Typescript 相当于 C# 的 NotNullWhen

在 C# 中使用不可为 null 的引用类型时,您可以在方法返回 false 时注释输入参数以表明它不为 null: // 来自字符串 bool IsNullOrEmpty([NotNullWhen(false)] s...

回答 1 投票 0

Scala 中如何拥有否定类型?

我想做这样的事情: def iDontLikeStrings(arg: Not[String]) = {....} 基本上,这应该编译: 我不喜欢字符串(23) iDontLikeStrings(真) 这不应该编译:

回答 2 投票 0

在直觉类型理论中,系统 LambdaP2 是否总是蕴含 CoC?

考虑 lambda 立方体: https://en.wikipedia.org/wiki/Lambda_cube 支持类型多态性和依赖类型的类型系统: 依赖类型/类型取决于术语:∀ (a: A), B t...

回答 0 投票 0

方法中泛型类的 TypeScript 类型约束

我需要一个泛型类来“扩展”方法中的泛型: 类 Foo { 构造函数(公共 t:T){} 做(f:(b:B)=>无效){ f(这个.t); // 错误...

回答 1 投票 0

Coq的类型系统CiC和lambda立方体之间是什么关系?

我阅读了https://en.wikipedia.org/wiki/Lambda_cube#Formal_definition,并对CiC和lambda多维数据集之间的关系感到困惑。据我了解,CiC扩展了CoC,后者是lambda的一个角落...

回答 1 投票 0

我想拥有一个与每种联合类型的单一类型都匹配的类型,但与那些单一类型的任何联合都不匹配

假设我定义了以下类型:type A = {a:number};类型B = {a:string};类型C = {a:boolean};输入All = A | B | C;现在,我要定义通用类型S(不使用任何类型A,...

回答 1 投票 0

为什么在TypeScript中将接口中可能的数字值转换为类实现中的不可能的数字值?

今天,我遇到了意外的TypeScript编译器行为。我想知道这是错误还是功能。也许这将是最后一个,但是我想知道其背后的理由。如果我...

回答 1 投票 1

© www.soinside.com 2019 - 2024. All rights reserved.