https://ice1000.org/2018/12/08/SomeTweaks/
#blog #recommended #yearPassed
顺推隔壁的跨年笔记,当然,我不如他,所以,我都不知道我学了什么,PLT 反正也就是入门刚刚而已,因为我也才知道如何抽象程序逻辑,基本的 operators(+, -, *, /, add, contains, iterator 这种)、primitives(int, long, short)、markers([], *, ref, parametric polymorphic 等) 组合什么的,函数式也才是入门,然后就没有额外资本去学习高级类型系统方面的知识什么的
那么我明年的梦想是重新开一个博客,名字我都想好了,就叫 "IJKTree"
当然也建议大家都发一下自己的跨年笔记什么的(不要不写啊
#blog #recommended #yearPassed
顺推隔壁的跨年笔记,当然,我不如他,所以,我都不知道我学了什么,PLT 反正也就是入门刚刚而已,因为我也才知道如何抽象程序逻辑,基本的 operators(+, -, *, /, add, contains, iterator 这种)、primitives(int, long, short)、markers([], *, ref, parametric polymorphic 等) 组合什么的,函数式也才是入门,然后就没有额外资本去学习高级类型系统方面的知识什么的
谢谢各位读者对这个幼稚的博客的关注今年的跨年笔记我晚点写,因为今年真的... 很乱,真的... 学了很多,我尽可能枚举,利用 Telegram 频道的历史记录,这是我自己的感觉。欢迎喷啊
那么我明年的梦想是重新开一个博客,名字我都想好了,就叫 "IJKTree"
当然也建议大家都发一下自己的跨年笔记什么的(不要不写啊
#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)什么的,可以很容易看到定义的不动点Wikipedia
Fixed-point combinator
In combinatory logic for computer science, a fixed-point combinator (or fixpoint combinator): p.26 is a higher-order function (i.e., a function which takes a function as argument) that returns some fixed point (a value that is mapped to itself) of its argument…
#China #festival #yearpassed
那时候年夜饭的概念也很强,大家都坐在台下一边吃饭一边看节目,轮到谁表演,谁就直接从桌子上站起来上台去表演了,轻松自然又随机。那种热闹和烟火气,是现在饭桌边精致摆拍、努力看戏、微笑鼓掌的艺人们,所没法提供的。
那时候年夜饭的概念也很强,大家都坐在台下一边吃饭一边看节目,轮到谁表演,谁就直接从桌子上站起来上台去表演了,轻松自然又随机。那种热闹和烟火气,是现在饭桌边精致摆拍、努力看戏、微笑鼓掌的艺人们,所没法提供的。
This media is not supported in your browser
VIEW IN TELEGRAM
#YearPassed 好家伙,本来打算发的3D圣诞环,被我鸽没了!😂
哦对了,我是永远蹭不上热度的 科普也不会的 小众程序员呢
哦对了,我是永远蹭不上热度的 科普也不会的 小众程序员呢
#rblog #yearpassed https://blog.rxliuli.com/p/971404f2f72c429083a614f8ee522237/ webos 里支持一个编程语言自动化,和插件
rxliuli blog
2021 年终总结及 2022 的计划
年初计划 总结似乎很多人已经发布了 2021 年的年终总结,吾辈现在好像有点晚了?不过权当新年寄语吧! 首先祝泥萌新年快乐! 今年发生了一些特别的事情 更换工作,并且从广州跑到了北京 基于 web 技术实现插件体系 在生产中验证了许多技术的可行性 kigurumi 穿了全套的 cosplay 服装 也发一下今年的 github 贡献图 更换工作,并且从广州跑到了北京毫无疑问,今年对吾辈