随笔分类 -  类型系统

摘要:类型是一个数据符号,代表着数据的内存布局和访问规则。 default public <T> T xxxxx(Class<T> xclass) throws Exception { T obj = xclass.newInstance(); return null; } 获得一个Class类对象 第一 阅读全文
posted @ 2019-11-12 15:26 zzfx 阅读(1070) 评论(0) 推荐(0) 编辑
摘要:Inspired by Wikipedia... In type theory terms; A type is an abstract interface. Types generally represent nouns, such as a person, place or thing, or 阅读全文
posted @ 2019-06-05 19:40 zzfx 阅读(194) 评论(0) 推荐(0) 编辑
摘要:最近看swift的范型和typeclass很辛苦,一点也摸不着头绪; 所以总结了以下类型系统的运算法则,以简化类型的转化、组合、变换等规则; is-a has-a use-a like-a as-a extension-a assign-a like-a-default 一、类型分类: 1、norm 阅读全文
posted @ 2019-06-05 18:46 zzfx 阅读(169) 评论(0) 推荐(0) 编辑
摘要:范畴是一系列有联系的概念的集合; 类型关乎复合 范畴论与箭头的复合有关。但是并非任意两个箭头都可以复合。一个箭头的目标对象必须与下一个箭头的源对象相同,这样的两个箭头方能复合。在编程中,我们将一个函数的返回结果传递给另一个函数。如果目标函数不能正确的解析源函数传递来的数据,程序就不会工作。首尾必须相 阅读全文
posted @ 2019-05-16 17:07 zzfx 阅读(744) 评论(0) 推荐(0) 编辑
摘要:动态语言和动态类型语言不是一回事 阅读全文
posted @ 2019-05-15 11:45 zzfx 阅读(192) 评论(0) 推荐(0) 编辑
摘要:程序是类型的证明。 计算机程序是建立在计算机硬件和一系列规则、协议、规范、算法基础之上的; 程序是建立在逻辑和严格证明基础之上的; 逻辑学的基本要素是:概念、判断、推理; 类型系统相当于逻辑和科学中的概念,在此基础上才能进行运算和推理; 编程语言不过是建立了类型系统和在类型系统基础上的一些列运算法则 阅读全文
posted @ 2019-04-20 11:27 zzfx 阅读(330) 评论(0) 推荐(0) 编辑
摘要:反射与内省: 类型系统的特征: 反射用于获取类型信息; 内省用语运行时类型检查; 阅读全文
posted @ 2019-04-05 11:14 zzfx 阅读(203) 评论(0) 推荐(0) 编辑
摘要:描述类型系统的语言 类型系统主要用来说明编程语言的定型规则,它独立于类型检查算法 定义一个类型系统,一种重要的设计目标是存在有效的类型检查算法 类型系统的基本概念可用于各类语言,包括函数式语言、命令式语言和并行语言等 我们后面讨论用形式方法来描述类型系统 类型系统的形式化 类型系统是一种逻辑系统 有 阅读全文
posted @ 2019-03-24 21:33 zzfx 阅读(406) 评论(0) 推荐(0) 编辑
摘要:所有的类型都是在数据类型和函数类型的基础上进行组合和扩展而来; 阅读全文
posted @ 2019-03-24 20:09 zzfx 阅读(126) 评论(0) 推荐(0) 编辑
摘要:赋值规则检查; 基础运算规则+; 方法调用权限; 类型一致性检查、类型行为检查; 类型系统是对类型表达式合规性的检查; Type systems are generally formulated as collections of rules for checking the “con- siste 阅读全文
posted @ 2019-03-24 20:06 zzfx 阅读(458) 评论(0) 推荐(0) 编辑
摘要:静态类型:类型的变量有明确的行为约束; 动态类型:为所欲为; 动态类型:动态类型绑定类型;动态:可变、晚绑定; 静态类型语言在编译时便已确定变量的类型,而动态类型语言的变量类型要到程序运行的时候,待变量被赋予某个值之后,才会具有某种类型。 https://www.cnblogs.com/Roylh/ 阅读全文
posted @ 2019-03-23 22:15 zzfx 阅读(442) 评论(0) 推荐(0) 编辑
摘要:类型安全与类型检查是什么? 阅读全文
posted @ 2019-03-23 21:35 zzfx 阅读(281) 评论(0) 推荐(0) 编辑
摘要:Opaque:对使用者来说,类型结构和机制明晰即为transparent,否则为Opaque In computer science, an opaque data type is a data type whose concrete data structure is not defined in 阅读全文
posted @ 2019-03-21 16:28 zzfx 阅读(1480) 评论(0) 推荐(0) 编辑
摘要:swift是强类型语言 强类型:变量的类型明确,变量的赋值必须符合类型约束;变量的类型转化必须显式进行。 强类型:类型规则的制定与检查; 动态类型:变量的具体类型由值类型确定,它的行为也由值类型确定; 动态类型、静态类型:强调类型的绑定; 相对于oc的kindof,允许类型的继承转换; 所有的类型转 阅读全文
posted @ 2019-03-15 15:19 zzfx 阅读(728) 评论(0) 推荐(0) 编辑
摘要:类型约束的本质是:类型构造器在约束类型的基础上构造新的类型 阅读全文
posted @ 2019-03-14 17:21 zzfx 阅读(122) 评论(0) 推荐(0) 编辑
摘要:类型约束的描述,属于声明式编程的一支; 基于类型约束的编程: 1、基于约束的类型声明: 只有符合约束的类型才能进行赋值; 2、基于类型约束的函数构造; 这里主要指新函数的构造; 函数是一种特殊的类型,是绑定在数据类型上的类型; 只有符合类型约束的构造类型的实例(符合类型),才能访问这些函数类型; 3 阅读全文
posted @ 2019-03-14 15:56 zzfx 阅读(186) 评论(0) 推荐(0) 编辑
摘要:复合类型(类型构造器)的基本功能由复合类型的主类型确定; 复合类型的扩展功能由主类型和参量类型共同确定; 函数式编程的功能扩展由高阶函数和混入函数完成 public struct Array<Element> { public func map<T>(_ transform: (Element) t 阅读全文
posted @ 2019-03-14 11:33 zzfx 阅读(160) 评论(0) 推荐(0) 编辑
摘要:所谓swift的类型擦除是指: moand转换; 通过技术手段(通常是包装器),将具体类型的类型信息擦除掉了,只将类型的(某一个侧面的)抽象信息(通常指的是类型尊从的协议、接口、或基类)暴露出来。 AnyHashable 属于无关联类型的擦除。 将具体类型的类型信息擦除掉了,只将协议类型的信息暴露出 阅读全文
posted @ 2019-03-13 18:31 zzfx 阅读(352) 评论(0) 推荐(0) 编辑
摘要:类型与算法是绑定的,绑定的方式有以下几种: 1、类型定义时直接绑定; 2、扩展绑定; 3、继承绑定; 4、全局函数绑定; 阅读全文
posted @ 2019-03-13 17:45 zzfx 阅读(357) 评论(0) 推荐(0) 编辑
摘要:关键词: 类型与功能绑定、类型指定、访问控制。 类型约束的本质: 1、是否强制指定具有某些特征的类型;看类型构造器的定义本身是否对类型有约束; 2、访问控制:类型构造器的功能分为通用功能和约束功能; 通用功能任何实例类型都能访问; 约束功能,只有符合约束的构造实例能够访问。 类型与算法(功能)绑定; 阅读全文
posted @ 2019-03-13 15:22 zzfx 阅读(455) 评论(0) 推荐(0) 编辑