V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  secondwtq  ›  全部回复第 10 页 / 共 121 页
回复总数  2407
1 ... 6  7  8  9  10  11  12  13  14  15 ... 121  
2022-10-23 15:04:46 +08:00
回复了 zwade 创建的主题 随想 双拼速度已经上来了
我觉得是时候学习直接输入 Unicode 码点了(狗头
2022-10-21 20:55:32 +08:00
回复了 shade 创建的主题 程序员 delphi 编译的程序体积为什么那么小?
“小”是和什么比?
2022-10-21 20:02:52 +08:00
回复了 wcsjtu 创建的主题 Python 有没有老哥推荐一个支持 struct 类型的 hindley-milner 实现
@wcsjtu
这些问题的答案其实严重依赖于你做的东西的具体需求和设计
比如准确来说隐式转换也算 subtyping ,但是动态类型语言好像不存在这方面的问题,虽然如果你要性能非要用 unboxed native 的值表示那这个又必须要解决
因为在运行之前动态类型语言其实是不存在一个确切的“类型”的。比如 def foo x = x + 1 ,x 是个 int ,那它此时就是个 int -> int ,x 是个 bool ,那它又是 bool -> int ,这个和传统 HM 那套是不一样的。单就这段程序来说,typechecker 得到的信息只有“若 x 的类型为 a ,存在函数 +: a -> int -> b”,然后你要做的就是想办法把这个信息记录下来,Typeclass 和 Row Polymorphism 之类的其实就是信息的表示方法。

更 general 地说,基于 HM 可以延伸出一个更通用的框架,typechecker 会把 AST 转换成 constraint 的集合,然后再去求解这些 constraint 。HM 的 constraint 非常简单所以好解,但是如果把丰富下语义是可以解决更复杂的问题的,当然可能会比较慢,很多较新的静态类型语言都用了类似的思想,比如:
https://github.com/apple/swift/blob/main/docs/TypeChecker.md
https://kotlinlang.org/spec/type-inference.html
https://rustc-dev-guide.rust-lang.org/type-inference.html

不过这些都是静态类型语言的玩法,我暂时无法想像这种东西怎么在动态类型语言上 scale ... 其实动态类型语言用的好像都是不太一样的方法,我主要折腾静态类型语言所以不太熟悉。
2022-10-20 20:18:43 +08:00
回复了 wcsjtu 创建的主题 Python 有没有老哥推荐一个支持 struct 类型的 hindley-milner 实现
HM 是常用的算法但不是唯一的。HM 的特点倒是非常明显,标准的 HM 可以在没有任何 type annotation 的情况下推导出一整个程序的 principal type 并且对于大多数实际程序都很快。但是这是类型系统本身做了一些妥协的前提下的(其实 HM 这词本来是指这个类型系统不是推倒算法,那算法叫 Algorithm W )。

先不说什么 higher-ranked type 的问题,在 ML 等基于 HM 的语言中,取列表 x 的第 y 项需要写成 List.nth x y ,其实这里面这个“List”(准确来说是 List.nth 这个函数的类型)已经告诉算法 x 是某种 list ,y 是个 int 。而如果(以 Python 为例)算法只能拿到一个 x[y],是无法分辨 x 到底是个 list ,还是 tuple ,dict 的,y 的类型也无从确定。再比如说定义俩 struct (虽然 FP 圈一般习惯叫 record )分别叫天猫和京东,每个 struct 有个字段叫双十一,然后 def foo x = x.双十一,x 的类型就喜闻乐见二选一了。这就是为啥 HM 只在部分 FP 语言里吃得开,毕竟大多数常用编程语言都是按照后者的思路设计的,再来点 subtyping 直接跪。

我的意思是这东西上限也就那样,毕竟就算 FP 语言类型系统沾点高级特性也基本是用不了 HM 的。当然你这个比较简单拿 HM 来魔改一通大概是勉强能行的,我上面提的问题用 Typeclass ,Row Polymorphism 之类常见扩展也都能解决,不过可能会搞得实现和类型签名稍微复杂一点。不过检查个正确性貌似也并不需要 care 类型签名 ...
不仅不同国家的发音,英国不同地方的发音都能区分 ...
2022-10-17 19:35:19 +08:00
回复了 tool2d 创建的主题 随想 4090 定价那么高,真怀疑普通玩家能不能从中受益。
问题是你就算搜遍你的某鱼,除了 4090 自己之外没有任何其他一张卡能和这玩意比性能啊 ... 这就是定价的底气,你几百块的矿渣性价比是高,但是不能*替代* 4090 。除非你能魔改游戏改出多卡优化来

相比之下那个被“Unlaunch”的才是真的呃呃
2022-10-17 19:32:00 +08:00
回复了 idblife 创建的主题 Linux Linux 哪种桌面环境对多屏支持最好?
我是 2K+4K ,现在用 Sway ,总体来说大问题没有,小问题不少,不建议尝试
这上面 Wayland 是个坑,NVIDIA 也是个坑,然后 fractional scaling 还是个坑
最近正在手动折腾 fractional scaling ...
2022-10-16 00:42:15 +08:00
回复了 Tounea 创建的主题 程序员 笔记本装两块硬盘如何做到双系统自由切换?
恩 ... 现在流行一种东西叫 IPU ,楼主可以看看
www.youtube.com/watch?v=MJm4edOP5BU This Changes Networking and Storage Intel IPU Hands-on - YouTube
这坑很深的,首先不同类型的游戏用的技术就不一样,2D 的和 3D 的不一样,探险类和策略类不一样,单机和联机不一样 ... 我搞个文字冒险游戏和 2077 肯定完全不是一个东西
楼主最好是先有大致的想法再确定学习方向

资料的话推荐一本书 Game Programming Patterns ,直接可以在线读
也可能是为了搞千年大计,减少未来可能的 bug ...
2022-10-16 00:21:37 +08:00
回复了 2NUT 创建的主题 Linux 昨晚第一次试装了下 opensuse tumbleweed 被桌面的完成度震惊了
@pocarisweat Linux 上面做闭源软件主要就 Electron 和 Qt ,这俩都很成熟,还没见过哪怕一个用 GTK 的 ...
我觉得现在大多数笔记类软件做的多平台同步,基本都属于把用户当傻子的性质,想把什么都替用户做了,假装用户什么都不用操心,但是抽象总是会泄露的啊,这时用户就吃屎了
现在这个时代大家都时刻在线,对于个人使用来说,可能不如每次编辑之前都强制同步服务器最新状态,编辑后强制保存到服务器,反正正常人不会在同一时刻在多台设备修改同一项数据
2022-10-11 21:58:45 +08:00
回复了 allAboutDbmss 创建的主题 Linux Linux 出大版本 6.0 了!
破案了,是 Linus 不会数 20 ...
可能是因为稍微瘦点所以不至于 3 都不会数?( not really ,可以搜点照片看看 Linus 的肚子 ... 我很怀疑里面是不是装了个企鹅)
2022-10-11 21:55:45 +08:00
回复了 Wolfsin 创建的主题 Apple Spotify 算不算开了先河
以前好像 macOS 就被扒出来过给 Adobe 还是 Office 来着做 workaround
其实商业软件都是这样的,glibc 开源才敢“乱来”
2022-10-11 12:45:21 +08:00
回复了 CEBBCAT 创建的主题 分享发现 In case of your proxy block 22 port
Linux 可以直接写一个 .netrc 把 token 放里面用 HTTPS ,不用装额外软件
2022-10-11 12:39:30 +08:00
回复了 lxdlam 创建的主题 Nintendo Switch 任天堂 NPLN 服务架构演讲学习笔记
貌似很少见过老任的技术分享 ...
2022-10-11 12:31:02 +08:00
回复了 chenluo0429 创建的主题 问与答 决赛圈 7950x vs 5950x,求推荐
等你有心思插满的时候估计频率也上去了
2022-10-11 12:30:39 +08:00
回复了 chenluo0429 创建的主题 问与答 决赛圈 7950x vs 5950x,求推荐
只是 64G 的话不需要插满吧
(我还没试过,在等 13900K 上了之后换 D5 )
2022-10-11 12:26:50 +08:00
回复了 IBMall 创建的主题 Linux Linux 之父的 PC 挂了,恐影响 Linux 6.1 发布
ECC 这个事 Linus 不是第一次说了,原文里面 RWT 那贴子也应该转过来的。
不过这次倒是变成真实的故事了 ...
1 ... 6  7  8  9  10  11  12  13  14  15 ... 121  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2380 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 49ms · UTC 06:56 · PVG 14:56 · LAX 23:56 · JFK 02:56
Developed with CodeLauncher
♥ Do have faith in what you're doing.