Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (Yuuta ● #wontfix)
blog.yuuta.moe
2018 年度总结
这是一篇从前博客迁移来的文章。
#tech 我想我 2018 年最大的成就就是知道了自己有多菜,然后就是了解了一下现在的 x86 物理机,和一些基础的函数式理论(
(
如果是 EPROM,可能就必须拿紫外线照射清除电荷来擦除存储器了
有些 EEPROM 还可以以块为单位进行擦除?
(
如果一个范畴(比如字符串们)符合『封闭律(closure)』和『结合律(associative)』,就可以被称为半群
如果一个半群符合『同一律(identity)』,就可以被称为含幺半群
封闭律是说对于某个范畴,如果有态射(函数式名词『态射』)
至于为什么参数是以箭头分割的,是 Currying (柯里化)的结果,不过这个方法其实是 Moses Schönfinkel 发明的,因为开始的时候 Lambda Calculus (lambda 演算)的匿名函数都是一元的,只有一个函数不能多参数
于是就弄出了柯里化,比如说
其实就是说
Haskell Brooks Curry 最大的贡献可能是搞出了个 Y Combinator,相当出名的不动点组合子,但其实你们一学就会发现这些东西其实没有那么高大上,我觉得这类还是比较 trivial 的,不如数学证明多烧脑
理论上的东西开始理解的肯定是烧脑,但后来其实感觉真的不如数学,不过我不是说计算机科学怎么怎么地,显然我还没有那个资本。
这个
数学上加法运算符也有结合律,
一般被定义为
duangsuse | ¯\_(ツ)_/¯ |学渣 ∈ [E²PROM, 含幺半群)大概就是说这个( #yearPassed #recommended
(
E^2 PROM 是说 EEPROM,嵌入式领域名词,『电可擦除』可编程只读存储器如果是 EPROM,可能就必须拿紫外线照射清除电荷来擦除存储器了
有些 EEPROM 还可以以块为单位进行擦除?
(
含幺半群是说 Monoid(半群 Semigroup 的扩充),函数式编程名词,含有『单元(也叫“单子”)/幺元(不动点)』的半群
如果一个范畴(比如字符串们)符合『封闭律(closure)』和『结合律(associative)』,就可以被称为半群
如果一个半群符合『同一律(identity)』,就可以被称为含幺半群
封闭律是说对于某个范畴,如果有态射(函数式名词『态射』)
f: B -> C 和 g: A -> B ,就一定有态射 h = f · g
h :: A -> C它允许我们『组合(compose)』函数来构成我们的逻辑。所以是必须的
compose :: (b -> c) -> (a -> b) -> (a -> c)里
compose f g = \x -> f g x
compose
f 是一个态射,类型签名为 (b -> c),g 也是函数,类型为 (a -> b),最后它返回一个函数 (a -> c)
f 输入一个 b 类型可以拿到一个 c 类型,g 输入 a 类型拿到 b 类型,最后我们要由 a 类型拿到 c 类型,这个函数的实现((f (g x)))是有意义的至于为什么参数是以箭头分割的,是 Currying (柯里化)的结果,不过这个方法其实是 Moses Schönfinkel 发明的,因为开始的时候 Lambda Calculus (lambda 演算)的匿名函数都是一元的,只有一个函数不能多参数
于是就弄出了柯里化,比如说
(+) 这个 Operator 操作符(+) :: Int -> Int -> Int (Kotlin 里就是 (Int) -> (Int) -> Int)其实就是说
λa b. (prim-add a b) 也即 λa. λb. (prim-add a b)
不过这样就有一个好,因为我们可以 add2 = (+) 2 了Haskell Brooks Curry 最大的贡献可能是搞出了个 Y Combinator,相当出名的不动点组合子,但其实你们一学就会发现这些东西其实没有那么高大上,我觉得这类还是比较 trivial 的,不如数学证明多烧脑
理论上的东西开始理解的肯定是烧脑,但后来其实感觉真的不如数学,不过我不是说计算机科学怎么怎么地,显然我还没有那个资本。
这个
compose 用来组合两个单参数函数(也叫一“元”函数) lambda 们,用 scheme 写就是(define compose结合律就是说对于某个范畴,
(lambda (f g)
(lambda (x) (f (g x)))))
((compose display (lambda (x) (+ x 1))) 1)
(f · g) · h 和 f · (g · h) 是等价的,就可以随便组合不会出现线性结合不等价问题数学上加法运算符也有结合律,
1 + 2 + 3 ≡ 1 + (2 + 3)
不动点(fixed point)就是说对于范畴的所有对象,都存在着一个态射 i: A -> A 使 i(a) ≡ a (不发生变化即为不动点)一般被定义为
id = \x -> x
上面的 \ 都是 Haskell 代码里的表示,用途是表述 Lambda λx. x 等价 \x -> x
喜欢数学的肯定了解这些东西,因为这函数基本都是数学上会有的概念,比如定义域、分段函数(Haskell 的 Guard Pattern)什么的,可以很容易看到定义的不动点Forwarded from 羽毛的小白板
想了想,我 2018 年的最大成就就是弄了个 ES5 的 parser 还有一部分 TS 反编译
duangsuse::Echo
#tech 我想我 2018 年最大的成就就是知道了自己有多菜,然后就是了解了一下现在的 x86 物理机,和一些基础的函数式理论( duangsuse | ¯\_(ツ)_/¯ |学渣 ∈ [E²PROM, 含幺半群) 大概就是说这个( #yearPassed #recommended (E^2 PROM 是说 EEPROM,嵌入式领域名词,『电可擦除』可编程只读存储器 如果是 EPROM,可能就必须拿紫外线照射清除电荷来擦除存储器了 有些 EEPROM 还可以以块为单位进行擦除? ( 含幺半群 是说…
想当年 17 年初的时候我在 @ice1000 面前吹自己『说不定比你们系统管理能力强』的时候,可没这种自知之明(
duangsuse::Echo
想当年 17 年初的时候我在 @ice1000 面前吹自己『说不定比你们系统管理能力强』的时候,可没这种自知之明(
This media is not supported in your browser
VIEW IN TELEGRAM
羽毛的小白板
https://zhuanlan.zhihu.com/p/53714077
Unicode 的组合字符和 normalization 我之前还知道,UTF-16 的 surrogate pair 我之前没听说过不过作者自己也在吐槽这个设计很无奈而且坑
大家了解一下怎么规避就好了,我觉得其实还是语言标准库设计者工作做得不到位,所以 Kotlin、Ruby 这种可以『打开类』添加扩展方法之类的可能就比较好,为原来不怎么支持 Unicode 的语言支持完全的 Unicode
grapheme cluster 所谓『显示字符』
u̲n̲d̲e̲r̲l̲i̲n̲e̲d̲
我之前其实不知道
नमस्ते
combining character 『合成字符』
我之前知道的,ES6 书上提到过
He llö
PHP 里也是有时候能看到的,现在用 Piwik(现在叫 Matomo) + PHP7 默认安装的话或许能看到 Unicode 归一化使用 PHP 代码还是 PECL 原生函数的优化提示
至于 ligature,说到 ligature,就想到如来佛祖的封条上的书法... 就想到孙悟空... 文体两开花多多支持(跑
这个连字呢,程序员平时都可能用到的,现在就有些『新潮』程序员在可以自定义字体的编辑器里用
至于我为什么没有管这类的问题,当然还是我现在没有时间学太多东西... 其实我也是可以管的,但太花时间我又没经验
反正就是很坑的问题,不过我觉得有处理价值,但没有特别的处理价值,以后自己实现完整的程序设计语言或者解释器的时候可以考虑到
大家了解一下怎么规避就好了,我觉得其实还是语言标准库设计者工作做得不到位,所以 Kotlin、Ruby 这种可以『打开类』添加扩展方法之类的可能就比较好,为原来不怎么支持 Unicode 的语言支持完全的 Unicode
grapheme cluster 所谓『显示字符』
u̲n̲d̲e̲r̲l̲i̲n̲e̲d̲
我之前其实不知道
नमस्ते
combining character 『合成字符』
我之前知道的,ES6 书上提到过
He llö
PHP 里也是有时候能看到的,现在用 Piwik(现在叫 Matomo) + PHP7 默认安装的话或许能看到 Unicode 归一化使用 PHP 代码还是 PECL 原生函数的优化提示
至于 ligature,说到 ligature,就想到如来佛祖的封条上的书法... 就想到孙悟空... 文体两开花多多支持(跑
这个连字呢,程序员平时都可能用到的,现在就有些『新潮』程序员在可以自定义字体的编辑器里用
至于我为什么没有管这类的问题,当然还是我现在没有时间学太多东西... 其实我也是可以管的,但太花时间我又没经验
反正就是很坑的问题,不过我觉得有处理价值,但没有特别的处理价值,以后自己实现完整的程序设计语言或者解释器的时候可以考虑到
ok.xpm
2.6 KB
累死了...(答案不直接给(要不然就破坏游戏规则了,这个是,图当然要自己画,跑,修得好的话肯定就是有能力解题了
This media is not supported in your browser
VIEW IN TELEGRAM