最新要闻
- 游戏对PC性能需求走向失控:16G内存已成最低要求
- 【世界时快讯】8900元!TP-Link最新Wi-Fi7路由器BE900上架 网速达24Gbps
- 观焦点:售价曝光!RTX 4060 Ti一塌糊涂 NV各种秀刀法:你会买?
- 新资讯:中金公司10大预测错9个:称电动车高景气 结果宁德时代年度最惨
- 世界速看:穷疯了?13岁儿女起诉父亲还压岁钱1.68万 官方回应压岁钱是个人私有财产
- 天天快报!“丑”出圈!蓝兔子邮票身价暴增 溢价幅度接近300%
- 过年租车7天起 日租价上涨近7倍:还定不到现车
- 【世界独家】西藏林芝一隧道出口雪崩 8人遇难:失联者家属称丈夫计划回家过年
- 全球要闻:近8年最大规模!微软正式宣布将裁员1万人
- 百事通!《阿凡达2》全球票房破19.28亿美元:成全球影史第六
- 年味十足!苹果发布iPhone兔年限定壁纸:苹果Logo变兔头
- 热门:“三体 脱水”登顶热搜 于和伟游戏刚上线游戏就下线
- 焦点速讯:“巨型屎山”QQ终于要史诗级重写!但是腾讯被骂惨了
- 口碑爆棚!冒险游戏改编剧《最后生还者》豆瓣开分9.2分
- 全球热推荐:AMD被大大看好:抢走Intel 30%市场!
- 全球播报:雷军:小米13用了昂贵的高硅负极电池才把容量做到4500mAh
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
读编程与类型系统笔记11_高级类型及其他
【资料图】
1.范畴论
1.1.范畴论是数学的一个分支,研究的是由对象及这些对象之间的箭头组成的结构
1.2.函子和单子的概念来自范畴论
1.3.Haskell是一种编程语言,从范畴论中汲取了许多灵感,所以它的语法和标准库很容易表达函子、单子和其他结构的概念。Haskell完全支持高阶类型
2.函子(functor)
2.1.函子是执行映射操作的函数的推广
2.2.对于任何泛型类型,以Box‹T›为例,如果map()操作接受一个Box‹T›和一个从T到U的函数作为实参,并得到一个Box‹U›,那么该map()就是一个函子
2.3.大部分主流语言都没有很好的方式来表达函子
2.4.函子的常规定义依赖于高阶类型的概念
2.5.函子能够在处理管道中传送最初的错误,但是如果管道中的每个步骤都可能失败,函子就无法工作
3.高阶类型
3.1.与高阶函数类似,代表具有另外一个类型参数的类型参数
3.2.T‹U›或Box‹T‹U››有一个类型参数T,后者又有一个类型参数U
3.3.高阶类型是接受其他种类作为实参的种类(参数化的类型构造函数)
3.4.理论上,我们可以深入任何级别,如T‹U‹V‹W›››
3.5.在实际应用中,超过第一个T‹U›级别后,它就没那么有用了
3.6.TypeScript、C#或Java中没有一种好的方式来表达高阶类型,所以我们不能通过使用类型系统表达一个函子的方式来定义结构
3.7.Haskell和Idris等语言有更强大的类型系统,使得创建这种定义成为可能
4.类型构造函数
4.1.返回类型的一个函数
4.2.每个类型都有一个构造函数
4.3.类型number的构造函数看作不接受实参、返回number类型的一个函数,也就是() -› [number type]
5.bind()
5.1.在Box‹T›上应用函数T =› Box‹U›,返回一个Box‹U›
6.map()
6.1.在Box‹T›上应用函数T =› U,返回一个Box‹U›
7.区别在于如何得到这个Box‹U›
8.单子
8.1.由bind()和return()或unit()的函数组成
8.2.return()或unit()
8.2.1.接受一个类型T,并将其封装到泛型类型中,例如Box‹T›、T[]、Optional‹T›或Either‹Error, T›
8.3.以泛型的方式编写程序,同时将程序逻辑所需的样板代码封装起来
8.3.1.推广到各种列表:数组、链表和迭代器范围
8.3.2.可以把一系列函数调用表达为一个管道,将数据管理、控制流或副作用抽象出去
8.3.3.单子在错误传播、异步代码和序列处理的上下文中很有用
8.4.如果一种编程语言不能表达高阶类型,就没有一种很好的方式来指定一个Monad接口
8.5.大部分主流语言仍然把单子视为模式,而不是结构,但它们肯定是有用的结构,所以能够在不同的上下文中一再出现
8.6.单子模式
8.6.1.单子是一个泛型类型H‹T›。对于该类型,我们有一个函数(如unit())可接受类型T的一个值并返回类型H‹T›的一个值。还有一个函数(如bind())可接受类型H‹T›的一个值和一个从T到H‹U›的函数,并返回类型H‹U›的一个值
8.7.continuation单子
8.7.1.promise代表在将来某个时候发生的计算的结果
8.7.2.链接promise是几乎所有主流编程语言都提供的一种API,它实际上就是单子性的
8.7.3.promise是封装了调度/异步执行的单子
8.8.列表单子
8.8.1.受一个T数组和从T到U数组的一个函数,并返回一个U数组
8.8.2.bind()接受一个T的序列和一个T =› U的序列的函数。其结果为一个压平的U列表
8.9.状态单子
8.9.1.封装一个状态,并把该状态与值一起传递
8.9.2.在给定当前状态时,它将生成一个值和一个更新后的状态
8.10.IO单子
8.10.1.封装了副作用
8.10.2.允许我们实现能够读取用户输入或者写入文件或终端的纯粹函数,因为不纯粹的行为从函数中移除了出来,封装到了IO单子中
9.函数式编程
9.1.与面向对象编程区别很大的范式
9.1.1.提供另外一种思考代码的视角
9.2.lambda和闭包、不可变的数据结构以及反应式编程都来自函数式编程语言
9.3.Haskell作为入门语言。它的语法相当简单,但类型系统十分强大,而且它有着牢固的理论基础
10.泛型编程
10.1.理论基础是抽象代码
11.线性类型
11.1.线性逻辑与处理资源的经典逻辑不同
11.2.在经典逻辑中,如果一个演绎为true,就永远为true,但线性逻辑证明不符合这种演绎
11.3.对于理解线性类型及其应用,Rust是一种很好的语言
12.从属类型
12.1.在泛型中,一个类型可以决定另外一个类型是什么(类型参数)
12.2.从属类型则颠倒了这种情况:值决定了类型
12.3.对于理解从属类型及其应用,Idris是一种很好的语言
读编程与类型系统笔记11_高级类型及其他
游戏对PC性能需求走向失控:16G内存已成最低要求
【世界时快讯】8900元!TP-Link最新Wi-Fi7路由器BE900上架 网速达24Gbps
观焦点:售价曝光!RTX 4060 Ti一塌糊涂 NV各种秀刀法:你会买?
新资讯:中金公司10大预测错9个:称电动车高景气 结果宁德时代年度最惨
世界速看:穷疯了?13岁儿女起诉父亲还压岁钱1.68万 官方回应压岁钱是个人私有财产
天天快报!“丑”出圈!蓝兔子邮票身价暴增 溢价幅度接近300%
过年租车7天起 日租价上涨近7倍:还定不到现车
【世界独家】西藏林芝一隧道出口雪崩 8人遇难:失联者家属称丈夫计划回家过年
全球要闻:近8年最大规模!微软正式宣布将裁员1万人
百事通!《阿凡达2》全球票房破19.28亿美元:成全球影史第六
观速讯丨CSS3选择器总结(表格)
年味十足!苹果发布iPhone兔年限定壁纸:苹果Logo变兔头
热门:“三体 脱水”登顶热搜 于和伟游戏刚上线游戏就下线
焦点速讯:“巨型屎山”QQ终于要史诗级重写!但是腾讯被骂惨了
口碑爆棚!冒险游戏改编剧《最后生还者》豆瓣开分9.2分
全球热推荐:AMD被大大看好:抢走Intel 30%市场!
【天天新视野】SpringBoot Wiki项目部署记录
环球微速讯:学习笔记——Spring声明式事务管理;Spring中支持事务管理;使用声明式事务管理;Spring声明式事务管理属性
世界热门:C. Equal Frequencies
全球播报:雷军:小米13用了昂贵的高硅负极电池才把容量做到4500mAh
世界简讯:Qt项目-翻金币游戏
lambda表达式基础
java-数组相关的算法(尚硅谷)
Pytorch-geometric: Creating Message Passing Networks 构建消息传递网络教程
把魔兽停服当庆典营销 网易《逆水寒》被曝涉嫌抄袭暴雪IP
当前热讯:《黑神话:悟空》定档:想玩记得升级电脑
快播:2022年预制菜销量大涨!之前有专家还说“我从来不吃”
7层WAF的一些记录
天天新动态:Numpy基本使用方法
[数据结构]单向链表插入排序(C语言)
世界报道:高铁站大厅没插座 客服:为了消防安全
滚动:你遇到过没?货车安装超亮后射灯:夜晚跟车根本看不清
时讯:首发2亿像素HP2!三星Galaxy S23 Ultra万元机皇来了
观察:口碑爆棚!剧版《三体》市占率16.51%排行第一
当前要闻:BC4-牛牛学说话之-浮点数
【独家焦点】关于可迭代对象、迭代器对象、生成器对象
环球快消息!AcWing 1077. 皇宫看守
年终会员大促:B站/芒果TV/腾讯视频/优酷/百度网盘3.6折起
三电机真恐怖!特斯拉Model S Plaid瞬间撕裂马力机张力带
焦点热讯:内置LED屏见过没?Naspec推出高端HDMI 2.1数据线
焦点要闻:美国一州提案禁售电动汽车 议员:就看不惯“禁售燃油车”的提议
环球热门:电动车新国标过渡期陆续到期 雅迪股价半月暴涨3成
vue3_ts_defineProps的使用
合作谈崩了 暴雪还想让网易当半年“备胎”?
特斯拉Model S之后:一改装公司推出福特电马灵车和礼宾车
今日讯!魅族Flyme牵手中国电信天翼终端!软硬件生态全面融合
学习笔记——定义切面优先级 ;Spring中的JdbcTemplate;JdbcTemplate的常用API
当前短讯!从0开始学Java 第一期 开发前的准备
小心吃官司 央视发布声明:2023兔年春晚内容别乱用
世界焦点!华硕发布Vivobook S 16 Flip笔记本:16寸3.2K OLED翻转屏
快播:联想一大波ThinkBook笔记本来袭:全新一代处理器 32G内存
天天时讯:国服还能玩6天:《守望先锋:归来》开启春节活动
天天速看:国家级出行平台!“强国交通”完成内测即将上线:接入微信、支付宝等
天天热门:研发回家过年了,留下这个低代码开源平台真好用!
天天热门:Python基础之函数
小米城市定制机来了!小米13信阳专属版今日交付:包装盒独一无二
网易、暴雪骂战正酣 NVIDIA站台《永劫无间》:即将支持DLSS3
环球速看:火锅店回应起火后要求顾客先结账:网友甩出一张神图
世界报道:《三体》电视剧从北京正负电子对撞机取景 物理学家纷纷追剧
全球今日报丨越跌越买!特斯拉降价是“好时机”:木头姐仍在大举加仓
全球关注:SSH 远程免密登录(公钥登录)
世界观速讯丨达到你城市标准没?去年白领平均年终奖8428元:仅1城连涨三年 到手先存
今日精选:大品牌好价!振德医用外科、KN95口罩29.9元起包邮
世界观察:互联网公司春节红包缩水一半:快手最豪横 狂撒20亿元
【独家焦点】50GB包年39元!小米云服务会员春节福利:最低5.5折
世界聚焦:SpaceX重型猎鹰火箭发射美国太空军机密卫星:不怕核打击
快资讯:opencv官网例程(4.7.0版本)运行示例
【优秀论文解读】BoW3D: Bag of Words for Real-time Loop Closing in 3D LiDAR SLAM
学习笔记——Spring中的AOP(AspectJ);Spring中AOP概述;Spring中AOP相关术语;AspectJ中切入点表达式;AspectJ中Jo
当前热讯:峰值21WQps、亿级DAU,小游戏《羊了个羊》是怎么架构的?
改款特斯拉Model 3即将登场:预计今年三季度投产
苹果版“望远镜”!曝iPhone 16 Pro/16 Ultra都会配备潜望长焦
科学家警告:2024或成全球史上最热年份
天天短讯!读编程与类型系统笔记10_泛型算法和迭代器
精选!【K哥爬虫普法】辛苦钱被中间商抽走八成,还因此锒铛入狱
育碧CEO让员工少花钱多做事 巴黎工作室将罢工抗议
苹果上海被强制执行1.44亿:这么多年还是第一次
世界通讯!微软否认“万人大裁员”:纯属谣言
天天讯息:7岁男孩爱撕倒刺致手指感染 医生提醒:处理不当会引发骨髓炎
全球今亮点!春节正常发货:仁和N95灭菌级口罩25片15.9元大促
世界要闻:网友3美元淘了一颗废品锐龙9 5900X:掰正针脚 点亮!
王晶武侠电影 《天龙八部之乔峰传》明日首映:年三十三大视频平台上线
Appuploader内测版本详解
热点评!使用Python的一维卷积
全球时讯:平民也能玩8GHz超频 技嘉B760主板奉上两大绝技:内存延迟大降7ns
被偷家了!德国人不买大众 把美系车特斯拉买成销冠
12nm后 DRAM怎么办?EUV光刻也不是万能药
每日时讯!安徽一劳斯莱斯婚车撞上石墩受损严重 博主:可向设置限宽人员索赔
《蚁人3:量子狂潮》角色海报发布 蚁人女儿貌美如花
象是哪个少数民族的生肖?十二生肖儿歌顺口溜
释迦牟尼佛成道日是哪一天?释迦牟尼佛的故事
国税地税税种有哪些?国税地税税种比例怎么分?
家有恶邻后面一句是什么?家有恶邻居怎么办?
最资讯丨学习笔记——AOP-代理模式
Python使用pyppeteer搭建网页截图api
三星移动硬盘质量怎么样?三星移动硬盘打不开怎么解决?
帅康燃气灶怎么样?帅康燃气灶打火后松手就熄灭怎么解决?
qq服务器拒绝发送离线文件是什么意思?qq服务器拒绝发送离线文件怎么办?
什么八字的人长得好看?什么八字的人长得丑?