static-typing相关内容

有没有静态鸭子类型的语言?

我可以在声明成员时指定接口吗? 在思考这个问题一段时间后,我突然想到静态鸭子类型的语言可能真的有效.为什么不能在编译时将预定义的类绑定到接口?示例: 公共接口 IMyInterface{public void MyMethod();}public class MyClass//没有显式实现IMyInterface{public void MyMethod()//但包含一个兼容的方法定义{C ..

静态类型 Lua

我正在寻找一个 Lua 前端编译器,它在编译时进行类型检查,但输出标准的 Lua 5.1 字节码(只有运行时类型).我想要的是相当数量的静态、编译时句法分析和可选类型,以便比运行时更早地检测到微不足道的错误.生成的字节码必须能够与使用标准 LoadString() 编译的现有 Lua 字节码完美配合. 要清楚——任何差异只会发生在字节编译时.在运行时,字节码不知道在编译阶段发生了任何不同/不 ..
发布时间:2021-12-30 20:49:49 其他开发

TypeScript:类型系统问题

我只是在 VisualStudio 2012 中测试打字稿,但它的类型系统有问题.我的 html 站点有一个带有 ID“mycanvas"的画布标签.我试图在这个画布上绘制一个矩形.这是代码 var canvas = document.getElementById("mycanvas");var ctx: CanvasRenderingContext2D = canvas.getContext( ..
发布时间:2021-12-15 14:56:01 前端开发

是否有用于更新嵌套数据结构的 Haskell 习惯用法?

假设我有以下数据模型,用于跟踪棒球运动员、球队和教练的统计数据: data BBTeam = BBTeam { teamname::String,经理::教练,球员 :: [BBPlayer] }推导(显示)数据教练=教练{教练名::字符串,favcussword :: 字符串,饮食 :: 饮食 }推导(显示)数据饮食 = 饮食 { 饮食名称 :: 字符串,牛排::整数,鸡蛋 :: 整数 }推导 ..
发布时间:2021-12-14 11:33:31 其他开发

Scala 中类型归属的目的是什么?

规范中没有太多关于归属地类型的信息,当然也没有任何关于其目的的信息.除了“使传递可变参数工作"之外,我还会使用类型归属地做什么?下面是一些 scala REPL 的语法和使用效果. scala>val s = "戴夫"s: java.lang.String = 戴夫标度>val p = s:对象p: java.lang.Object = 戴夫标度>长度:7: 错误:值长度不是 ..
发布时间:2021-12-07 12:47:03 其他开发

Java 转换会引入开销吗?为什么?

当我们将一种类型的对象转换为另一种类型时是否有任何开销?还是编译器只是解决了所有问题而没有运行时的成本? 这是一般的事情,还是有不同的情况? 例如,假设我们有一个 Object[] 数组,其中每个元素可能有不同的类型.但是我们总是可以肯定地知道,比如说,元素 0 是一个 Double,元素 1 是一个字符串.(我知道这是一个错误的设计,但让我们假设我必须这样做.) Java 的类 ..
发布时间:2021-11-25 18:45:37 Java开发

是否可以在 Scala 中指定匿名函数的返回类型?

我知道你可以创建一个匿名函数,并让编译器推断它的返回类型: val x = () =>{ System.currentTimeMillis } 就静态类型而言,是否也可以指定其返回类型?我认为这会让事情变得更加清晰. 解决方案 在我看来,如果你想让事情更清楚,最好通过在标识符 x 上添加类型注释而不是函数的结果. val x: () => Long = () => System.cu ..
发布时间:2021-11-10 23:34:11 其他开发

没有“foo"的重载变体“动物"匹配参数类型“str"

我有一个文件 t.py,它有一个类 Animal 和一个子类 Cat.两者都有方法 foo,它根据布尔值 inplace 的值具有不同的返回类型. 这是文件的完整代码: # t.py从 __future__ 导入注释从输入导入 TypeVar,可选,重载,文字CatOrDog = TypeVar(“CatOrDog", bound=“Animal")动物类:@超载def foo(self: ..
发布时间:2021-06-05 18:36:00 Python

可选参数后的重载

我有一个类 Animal 和一个方法 foo 根据一个布尔参数 inplace 有不同的返回类型,它跟在一个可选参数 条形.我想重载该函数,以便在 inplace 的值已知时返回类型是已知的 这是我的代码: # main.py从 __future__ 导入注释从输入导入可选,重载,文字动物类:@超载def foo(self, bar=..., inplace: Literal[False] ..
发布时间:2021-06-05 18:35:43 Python

mypy 未检测到基本类型错误

使用 python 3.5.1.以及当前使用 git 安装的 mypy,mypy 标记错误 1 ​​&2,但它不报告 3 我做错了什么,或者这是一个错误,还是一个已知问题? 导入输入def test_ordered_dict(od: typing.Dict[str,int]) ->打字.Dict[str,int]:返回 1 #type 错误 1a = test_ordered_dict(1 ..
发布时间:2021-06-05 18:34:52 Python

如何从泛型中静态获取TypeVar参数以用于静态类型检查?

我有一个继承自 typing.Generic 的类,并传入一个 TypeVar 作为参数. 稍后在代码中,我想: 通常(不在运行时)从类中获取 TypeVar 参数 将其别名为另一个类型变量 使用该别名键入提示功能的 return Python中是否有某种方法可以实现这一目标? 我唯一缺少的是步骤1,如何从类型变量中获取类型参数 我的用例 来自abc导入ABC的 ..
发布时间:2021-05-10 18:53:40 Python

从带mypy注释的python函数返回None,多种返回类型

我来自打字稿背景.我正在将静态类型检查引入到我正在研究的python项目中(使用mypy). 在Typescript中,从带有注释以返回其他内容(即字符串)的函数中返回null是有效的: 功能测试(标志:布尔值):字符串{if(flag){返回“成功";} 别的 {返回null;}} 注释函数具有多种可能的返回类型(即字符串或布尔值)也是有效的: 功能测试(标志:布尔值):字符串|布 ..
发布时间:2021-05-09 19:52:03 Python

是否有任何静态类型的功能语言?

我来自静态类型的背景并正在研究函数式编程,但是我对动态类型并不完全满意.我很好奇那里有什么样的选择. 一个开始的答案:ActionScript 3是静态类型的,并且提供了一些功能范例,尽管AS3程序并不经常使用它们. 解决方案 有很多.想起了Haskell,OCaml和F#.如果您是Windows开发人员,则F#非常好,并且受到Microsoft(非常强大的StackOverflow ..

常见的Lisp类型声明无法正常工作

当我在Common Lisp中定义这样的函数时: (defun foo (n) (declare (type fixnum n)) (+ n 42)) 我希望像(foo "a")这样的呼叫会立即失败,但是在呼叫+时会失败. declare形式不能保证静态类型检查吗? 解决方案 传统上,类型声明是为了保证编译器的优化目的而使用的.对于类型检查,请使用check-type(但 ..
发布时间:2020-07-10 00:42:54 其他开发