typechecking相关内容

CoQ:对定义中的术语进行类型检查时使用类型相等

我有一个关于Coq中类型检查定义的问题。我遇到了一种情况,我有两个T1和T2类型的项,从定义上我知道T1和T2是相等的(T1=T2)。但是,我不能同时使用这两个术语,因为类型检查器认为这两个类型不相等。我试图分离出一个模拟情况的最小示例(是的,我知道这是一个愚蠢的属性,但我只想检查它的类型;): Require Import Coq.Lists.List. Lemma myLemma : ..
发布时间:2022-08-20 10:33:33 其他开发

你如何找出对象的类型(在 Swift 中)?

当试图理解一个程序时,或者在某些极端情况下,找出某个东西是什么类型是很有用的.我知道调试器可以向您显示一些类型信息,并且您通常可以依靠类型推断来避免在这些情况下不指定类型,但是,我真的很想拥有类似 Python 的 type() dynamicType(参见这个问题) 更新:这在最近的 Swift 版本中有所改变,obj.dynamicType 现在为您提供类型的引用,而不是动态类型的 ..
发布时间:2022-01-30 18:55:44 移动开发

如何让 Mypy 意识到对两个整数进行排序会返回两个整数

我的代码如下: 从输入导入元组a: 元组[int, int] = 元组(排序([1, 3])) Mypy 告诉我: 赋值中的不兼容类型(表达式的类型为“Tuple[int,...]",变量的类型为“Tuple[int, int]") 我做错了什么?为什么 Mypy 无法确定排序后的元组将返回正好两个整数? 解决方案 对 sorted 的调用会生成一个 List[int],其 ..
发布时间:2022-01-19 23:54:37 其他开发

如何获取 printf 风格的编译时警告或错误

我想编写一个类似 printf 的例程,但不是在功能方面,而是我希望该例程与 printf 具有相同的编译检查特性. 例如,如果我有: {诠释我;std::string s;printf("%d %d",i);printf("%d",s.c_str());} 编译器会这样抱怨: 1 cc1plus:警告被视为错误2 在函数“int main()"中:3 第 8 行:警告:格式参数太少4 ..
发布时间:2022-01-17 08:48:38 C/C++开发

在 Python 3.6 中运行时根据联合类型检查变量

我正在尝试编写一个函数装饰器,它使用 Python 3.6 类型提示来检查参数字典是否尊重类型提示,如果没有明确说明问题,则引发错误,以用于 HTTP API. 问题是当函数有一个使用 Union 类型的参数时,我无法在运行时检查变量. 比如我有这个功能 从输入 import Uniondef bark(myname: str, descr: Union[int, str], myn ..
发布时间:2022-01-13 10:21:18 Python

如何在 C 中使用静态断言来检查传递给宏的参数类型

我需要编写一个 C 宏来检查以确保传递给它的所有参数都是 unsigned 并且是相同的整数类型.例如:所有输入参数为 uint8_t,或全部为 uint16_t,或全部为 uint32_t,或全部为 uint64_t. 以下是如何在 C++ 中完成此类检查:使用 static_assert 检查传递给宏的类型 C 中是否存在类似的东西,即使只是通过 gcc 扩展? 请注意,静态 ..
发布时间:2022-01-11 19:42:16 其他开发

当 extern 声明和定义之间的类型不匹配时,会有什么行为?

假设我有两个文件: ==文件1== extern char* foo; ==文件2== double foo; 尽管类型不匹配,这两个文件似乎与 g++ 和 clang++ 都可以很好地编译和链接.据我了解,推荐的做法是将 extern 声明放在两个文件都包含的标头中,因此 File2 将引发重新定义错误. 我的问题是: 根据 c++ 标准,这是否会导致未定义的行为?如果 ..
发布时间:2022-01-11 15:44:00 C/C++开发

为什么我们不能转换为具有关联类型的协议类型,但使用泛型实现相同的效果?

考虑这个代码: 扩展集合{func foo() ->整数{如果 self.first 是 Collection {return (self.first as! Collection).underestimatedCount//错误}别的 {返回 self.underestimatedCount}}} 我们得到了可怕的、显然令人困惑的: 协议“Collection"只能用作通用约束,因为它 ..

Java:Instanceof 和泛型

在查看值索引的通用数据结构之前,我想看看它是否是 this 类型的实例已被参数化. 但是当我这样做时 Eclipse 会抱怨: @Override公共 int indexOf(对象 arg0){如果 (!(arg0 instanceof E)) {返回-1;} 这是错误信息: 无法对类型参数 E 执行 instanceof 检查.使用它的擦除对象代替,因为泛型类型信息将在运行时被擦 ..
发布时间:2021-11-25 20:28:39 Java开发

Android Studio 的“预期资源类型"检查?

Android Studio Beta (0.8) 有一个漂亮的新功能,它检查一些 int 参数不是任意整数,而是具有一些属性. 例如,调用类似: setContentView(R.id.textView1); 将正确报告 R.id.textView1 不是布局 ID(消息是“预期的布局类型资源").还有其他类似的案例. 可以理解,一旦您将自己的方法添加到组合中,这种保护就会丢失, ..
发布时间:2021-11-21 18:24:03 移动开发

是否可以使用正则表达式在 MySQL 中强制执行数据检查

假设我有一个名为电话号码的属性,并且我想对该字段的条目强制执行某些有效性.我可以为此目的使用正则表达式吗,因为正则表达式在定义约束方面非常灵活. 解决方案 是的,你可以.MySQL 支持正则表达式 (http://dev.mysql.com/doc/refman/5.6/en/regexp.html) 并且对于数据验证,您应该使用触发器,因为 MySQL 不支持 CHECK 约束(您可以随 ..
发布时间:2021-11-20 22:12:45 数据库

Java - 如何创建仅适用于类型上下文的注释类型?(PURE 类型注解)

要创建适用于类型上下文的类型注释,除了使用 @Target(ElementType.TYPE_USE) 对注释类型进行元注释之外别无他法.然而,由于 Java 设计者的错误决定,这个注解也适用于声明上下文. 根据 Java SE 文档,它是这样写的: 常量 TYPE_USE 对应于 JLS 4.11 中的类型上下文,以及两个声明上下文:类型声明(包括注解类型声明)和类型参数声明. ..
发布时间:2021-11-10 22:30:49 Java开发

在 Python 3.6 中在运行时根据联合类型检查变量

我正在尝试编写一个函数装饰器,它使用 Python 3.6 类型提示来检查参数字典是否遵守类型提示,如果没有引发错误并清楚地描述问题,以用于 HTTP API. 问题在于,当函数具有使用 Union 类型的参数时,我无法在运行时根据它检查变量. 比如我有这个功能 from 打字 import Uniondef bark(myname: str, descr: Union[int, s ..
发布时间:2021-11-10 22:19:34 Python

TypeScript 中的类类型检查

在 ActionScript 中,可以在运行时使用 是运算符: var mySprite:Sprite = new Sprite();跟踪(我的精灵是雪碧);//真的trace(mySprite 是 DisplayObject);//真跟踪(我的精灵是 IEventDispatcher);//真的 是否可以使用 TypeScript 检测变量(扩展或)是否为某个类或接口? 我在语言规范中 ..
发布时间:2021-09-11 20:23:12 其他开发

类型检查和类型系统的限制是什么?

类型系统经常受到批评,因为它具有限制性,即限制编程语言并禁止程序员编写有趣的程序. 克里斯·史密斯 声明: 我们确信程序是正确的(在此类型检查器检查的属性中),但反过来我们必须拒绝一些有趣的程序. 和 此外,有一个可靠的数学证明,任何感兴趣的类型检查器总是保守的.构建一个不会拒绝任何正确程序的类型检查器不仅困难;不可能. 有人可以概述一下这可能是什么有趣的程序吗?哪里 ..
发布时间:2021-09-11 20:02:26 其他开发

关于 SML 类型检查和推理的问题

首先,由于问题与学校项目有某种关系,我认为发布我的代码不合适.另外,正如我稍后解释的那样,我只有相关代码的修改版本. 我自己解释一下.我应该使用优先级队列来实现 Dijkstra 算法的一个版本.我认为这样做的一种简单的功能方法是定义一个带有输入队列和目标节点的 dijkstra 函数以及一个帮助函数来将与刚刚出队的列表元素相邻的节点入队.不幸的是,辅助函数没有进行类型检查 - 未解析的 F ..
发布时间:2021-09-11 19:57:32 其他开发

有没有一种在 C 中强制类型不兼容的好方法?

出于类型检查的目的,我想在 行上定义一个函数 void myfunc(type1 a, type2 b){...} 其中 type1 和 type2 都被定义为 uint8_t.到目前为止一切顺利,但出于理智和检查目的(想想 DbC),我想防止使用 type2 值作为第一个参数或 type1 调用函数第二.可悲的是,C 的隐式类型转换在这里对我不利.有人知道方法吗? 解决方案 您可以 ..
发布时间:2021-09-11 19:39:57 其他开发

在案例类的特征中定义“复制"方法

给定的简化代码示例: 密封性状 A {val c1: 字符串val c2: 整数def copy[Z 如何在特征 A 中定义 copy 方法,以便它匹配为案例类和“目标"文件生成的方法?给定定义会进行类型检查并抱怨 B 和 C 类中缺少方法 copy. 解决方案 scala 编译器不会为定义名为 copy 的方法的 case 类生成复制方法. scala -Xprint:typer ..
发布时间:2021-09-09 19:05:40 其他开发