duangsuse::Echo
#js #code 再来说个有趣的:动态作用域 🥰 a=3 - f(a)=a+1 f(1), a //2, 3 >请把程序写成数组的形式 (也就是“更易做”正则替换) with(DSL) $dyn=[ [a,3], [f, [[a], [0, [a],1,['+'] ]] ], [r0, [0, 1,[f]], [a]] ] DSL=new Proxy({},{get:(o,k)=>k, has:(o,k)=>k[0]!='$'}) 在这个解释器里,$=, ()=>[] 就是内联宏啦,反正函数不能跳转…
#statement #dev readability :
@duangsuse 其實我覺得你的 code 有個小缺點:不好讀
太像 minified 的程式碼了……
duangsuse, [2023/10/2 19:48]
欸,是啊😓
像 min.js
或许我应该写文档。因为,我是把贴文里已经说了的eval规则,直译为JS了,没有把细节写得很明确
我这个贴文主要是讲原理, 写示例的时候,并没有把它视为应用代码的,就写得比较急,随意😓
duangsuse, [2023/10/2 20:09]
加几个换行只会让程序看起来逼格更高吧…… 没有注释也一样难读
或许是我的分词语感更紧凑, 我觉得
duangsuse, [2023/10/2 20:12]
所以我一般是不写代码,只说明心智模型的。 当然有时间的时候也会写点注释
我是觉得, 如果Devs只是看到了很合规的源码,「能够准确分词」,但get不到语义的话,是不能继续添加功能的。 能用和懂之间的差别,不是在是否 syntax error 上。
只有对自主默写有用的代码风格,那才是实质上的读懂
一般来说我写代码都是 quick prototype ,像这样重写…… 我做的设计很多,所以拖得很后很后
ram:
我们对于可读性的认知的偏差,应该是来自于参与过的软件工程项目。
在我的理解里,代码不仅仅是为了自己此刻的理解而写,也是为了 reviewer 和其他 contributor 甚至是多年后自己的理解而写。
没有 abstraction layer 的写法我只在 code golf 里面见过。code golf 的大部分人是先写 proper code 再手动改成那个难读的样子的
duangsuse, [2023/10/2 20:35]
我的原文里,这是用来把
[refval], [rv, vs] 引用-重赋值
[[args], funCalls] 箭头函数/整个文件
[0,arg, fn] 向栈变量赋值
如果抛开作为示范实现的 JS,可读性还可以
duangsuse, [2023/10/2 20:18]
因为贴文里,我主要是讲原理,不能贴长篇代码👀。我的抽象层就是「中文」。 以后有机会转Web 我会写明确命名版
我都不知道贴文有几个人阅读,是笔记。 我每天背后有不会发的设计,都在耗时的……
这个真的就是快速开发的问题 ,我从来不以JS,Py 这样的代码的有损形式「维护项目」的。 都是设计稿。
duangsuse, [2023/10/2 21:38]
编译原理有一大堆应用层用不到的概念, 或者说「意义未知的算式」。
当你想要跨界(尤其是直接上手写能用的 interpreter ),就要做好增加词汇量的准备。 像SQL那样禁用缩写,只是新手入门的辅助记忆法,晚点也会被 BaaS,GraphQL,ORM 那样的技术替换
我是挺希望有编程语言,能同时照顾新手的迷茫和老鸟的读写效率,
因此我的绝句里有规范
主要是我要反思自己的设计 , 因为能提升的还有太多(我现在看知乎,唯一就是要寻找「灵感」,真的很有效)他们的理论或许很绕, 但给我了一个切入点思考自己的
Kotlin 正则的
duangsuse, [2023/10/2 20:43]
还有种可能.. 我自己的代码在用『物理命名法』 来写这个第一版的👀,它标明了类型:
a数组, e树叶 v值 N计数..
许多人没法用这些单字断言 变量的含义,阅读时就会很迷糊。
但如果我不用物理名字,我就无法快速地完成代码,而且会各种 type mismatch 。 😱
物理命名,这种对「编程世界」的归纳对我个人而言, 是种革命,让我的代码能横跨更多平台/博采到更多文章🦄 , 无视变量间无谓的术语差异、减少新功能的代码量
但美中不足,它与其他程序员的习惯相悖🙇🏾…… 许多人不习惯单字符, 更没有 '所有可索引值都叫 aXXX' 这种认知 。 如果有一门主攻语言的话,是不需要这种「超出文字」的编程模型,来解读代码的
我没法在教 tree walk 的帖子里,教读者JS原型链是怎么一回事。 我以为在这时缩短篇幅,会让读者抓住重点,
—
谁知道大家都是「通篇阅读」我的代码,而不是:找出code和我贴文所述概念的「联系」
就像视频有「60fps vs 关键帧+弹性动画」,音乐有「441k vs .midi+乐器包」,图片有「500px vs SVG+滤镜」
代码也有「1个月5万行 vs 100行的'定义式框架'+keypoints」。极简主义者都属于后者。 我告诉电脑怎样漂亮,不是它命令我'必须500px' 或怎么写。
编程界确实存在一种频谱,能无视术语和范式,绕过一切的烧脑的刻板印象,只量化每个函数本初的比重,一统工程和学院派: 在写到纸上/内存上之前,我们对代码已心如明镜。
只试两次对错,是没法在第三次发现进步的。方法论总会反转,与其嘲笑旧的不好,更要明白它错在哪、又好在哪!
— 🤔💭
我们程序员对一段功能的「设计力」,不是按「能读懂的术语表」来计算的,小心伪理解。
你要建立的思路和关系,是: 变量|此问题的领域,而非 变量|仅有名字相同的常识 。只懂常识难有创作
我已经习惯于用「必须要定义/调用的API」来解析代码了, 我看不懂的代码是不会逐字猜测的
是我先站在作者的视角, 去推测他的选型和「私货」, 然后慢慢把我的猜测与实际合一 ;这时短的魔法是不影响理解的👀
对不懂中文的人来说,优美和丑陋的中文词汇/文章结构 都是难读的, 你要先熟悉语感。 对任何编程项目也一样。
CSS规范就像这术语表,但设计的实质,是 tailwind 那样“有规范地杂乱”。我的文章是教你规范,代码仅供示范
如果你是为了用现有的心智模型,看懂代码, 那你的收获只会小于 Google 爬虫对文章做的关键词聚类。 而当你get到算法的思想, 会发现你仿佛见过那些“全新流行”的文本,过目不忘。
@duangsuse 其實我覺得你的 code 有個小缺點:不好讀
太像 minified 的程式碼了……
duangsuse, [2023/10/2 19:48]
欸,是啊😓
像 min.js
或许我应该写文档。因为,我是把贴文里已经说了的eval规则,直译为JS了,没有把细节写得很明确
我这个贴文主要是讲原理, 写示例的时候,并没有把它视为应用代码的,就写得比较急,随意😓
duangsuse, [2023/10/2 20:09]
加几个换行只会让程序看起来逼格更高吧…… 没有注释也一样难读
或许是我的分词语感更紧凑, 我觉得
?换行: 这样让人找不到重点,更别说满屏幕 if else{} return 取代 when 和“map=>重写”等意图duangsuse, [2023/10/2 20:12]
所以我一般是不写代码,只说明心智模型的。 当然有时间的时候也会写点注释
我是觉得, 如果Devs只是看到了很合规的源码,「能够准确分词」,但get不到语义的话,是不能继续添加功能的。 能用和懂之间的差别,不是在是否 syntax error 上。
只有对自主默写有用的代码风格,那才是实质上的读懂
一般来说我写代码都是 quick prototype ,像这样重写…… 我做的设计很多,所以拖得很后很后
ram:
我们对于可读性的认知的偏差,应该是来自于参与过的软件工程项目。
在我的理解里,代码不仅仅是为了自己此刻的理解而写,也是为了 reviewer 和其他 contributor 甚至是多年后自己的理解而写。
没有 abstraction layer 的写法我只在 code golf 里面见过。code golf 的大部分人是先写 proper code 再手动改成那个难读的样子的
duangsuse, [2023/10/2 20:35]
我的原文里,这是用来把
- just(a)语法结构:
- f()=a
f
just(0)()
with(DSL)$lex=[[],对应到JS:
[just, [[a], [f,[[],[a] ]], [f] ]],
[f,[0, 0,[just]]],
[0, f]
]
()=>(just=(a)=>(f=()=>(a),f),f=just(0),f())
为此请判定3种规则:[refval], [rv, vs] 引用-重赋值
[[args], funCalls] 箭头函数/整个文件
[0,arg, fn] 向栈变量赋值
如果抛开作为示范实现的 JS,可读性还可以
duangsuse, [2023/10/2 20:18]
因为贴文里,我主要是讲原理,不能贴长篇代码👀。我的抽象层就是「中文」。 以后有机会转Web 我会写明确命名版
我都不知道贴文有几个人阅读,是笔记。 我每天背后有不会发的设计,都在耗时的……
这个真的就是快速开发的问题 ,我从来不以JS,Py 这样的代码的有损形式「维护项目」的。 都是设计稿。
duangsuse, [2023/10/2 21:38]
编译原理有一大堆应用层用不到的概念, 或者说「意义未知的算式」。
当你想要跨界(尤其是直接上手写能用的 interpreter ),就要做好增加词汇量的准备。 像SQL那样禁用缩写,只是新手入门的辅助记忆法,晚点也会被 BaaS,GraphQL,ORM 那样的技术替换
我是挺希望有编程语言,能同时照顾新手的迷茫和老鸟的读写效率,
因此我的绝句里有规范
- Str.as(regex:Str.RE, :[Fn1 Str.RE.Paren]-Str) Str, -'T' swap (A:[Var T], B:Var“or @T”) 等等缩写法和约定俗成,不要因为没 boilerplate 而不易读主要是我要反思自己的设计 , 因为能提升的还有太多(我现在看知乎,唯一就是要寻找「灵感」,真的很有效)他们的理论或许很绕, 但给我了一个切入点思考自己的
Kotlin 正则的
"abc".toInt()?.let{} ?: 0 甚至比 bool 有效。但正则不是模块化层面的问题…… 它就是「有缺点的战士」duangsuse, [2023/10/2 20:43]
还有种可能.. 我自己的代码在用『物理命名法』 来写这个第一版的👀,它标明了类型:
a数组, e树叶 v值 N计数..
许多人没法用这些单字断言 变量的含义,阅读时就会很迷糊。
但如果我不用物理名字,我就无法快速地完成代码,而且会各种 type mismatch 。 😱
物理命名,这种对「编程世界」的归纳对我个人而言, 是种革命,让我的代码能横跨更多平台/博采到更多文章🦄 , 无视变量间无谓的术语差异、减少新功能的代码量
但美中不足,它与其他程序员的习惯相悖🙇🏾…… 许多人不习惯单字符, 更没有 '所有可索引值都叫 aXXX' 这种认知 。 如果有一门主攻语言的话,是不需要这种「超出文字」的编程模型,来解读代码的
我没法在教 tree walk 的帖子里,教读者JS原型链是怎么一回事。 我以为在这时缩短篇幅,会让读者抓住重点,
—
谁知道大家都是「通篇阅读」我的代码,而不是:找出code和我贴文所述概念的「联系」
就像视频有「60fps vs 关键帧+弹性动画」,音乐有「441k vs .midi+乐器包」,图片有「500px vs SVG+滤镜」
代码也有「1个月5万行 vs 100行的'定义式框架'+keypoints」。极简主义者都属于后者。 我告诉电脑怎样漂亮,不是它命令我'必须500px' 或怎么写。
编程界确实存在一种频谱,能无视术语和范式,绕过一切的烧脑的刻板印象,只量化每个函数本初的比重,一统工程和学院派: 在写到纸上/内存上之前,我们对代码已心如明镜。
只试两次对错,是没法在第三次发现进步的。方法论总会反转,与其嘲笑旧的不好,更要明白它错在哪、又好在哪!
— 🤔💭
我们程序员对一段功能的「设计力」,不是按「能读懂的术语表」来计算的,小心伪理解。
你要建立的思路和关系,是: 变量|此问题的领域,而非 变量|仅有名字相同的常识 。只懂常识难有创作
我已经习惯于用「必须要定义/调用的API」来解析代码了, 我看不懂的代码是不会逐字猜测的
是我先站在作者的视角, 去推测他的选型和「私货」, 然后慢慢把我的猜测与实际合一 ;这时短的魔法是不影响理解的👀
对不懂中文的人来说,优美和丑陋的中文词汇/文章结构 都是难读的, 你要先熟悉语感。 对任何编程项目也一样。
CSS规范就像这术语表,但设计的实质,是 tailwind 那样“有规范地杂乱”。我的文章是教你规范,代码仅供示范
如果你是为了用现有的心智模型,看懂代码, 那你的收获只会小于 Google 爬虫对文章做的关键词聚类。 而当你get到算法的思想, 会发现你仿佛见过那些“全新流行”的文本,过目不忘。
Telegram
duangsuse::Echo
🌚 我居然只是为展示 物理命名法 就写个小图形特效放JSBin上..
https://jsbin.com/fizotorujo/edit?output #js #code
而且 time和rgb颜色的正确映射还花了一个小时🥲 time没用绝对值 第二次调用不重置、rgb颜色转hex难 而且要clamp(%256)..
https://jsbin.com/fizotorujo/edit?output #js #code
而且 time和rgb颜色的正确映射还花了一个小时🥲 time没用绝对值 第二次调用不重置、rgb颜色转hex难 而且要clamp(%256)..
Forwarded from 科技圈🎗在花频道📮
科技圈🎗在花频道📮
24小时投稿精选 #每日精选 Cloudflare 1.1.1.1 被GFW封禁 Minecraft正版验证api域名遭反诈中心屏蔽。 目前部分网站中国访问出现问题的情况梳理: 汽车企业会收集并出售你的性行为、基因信息、智力等敏感数据 Vercel 被墙
>如何看待著名编程软件 VSCode 官网跳转国家反诈中心(目前为无法访问)这一现象? 👍
“ 我不想每天都讨论敏感话题,但是敏感的东西正在每天向我靠近,如同深处液压机之内”
#china 方脸:恒大债务比鹅爹的国债总量还高 🥰
- 通过期房,向消费者借钱
- 通过商票,向生产者借钱
- 通过理财,逼员工们借钱
- 通过收购银行和自融,借「不用还」的钱
为何这时才爆呢:
- 地价泡沫是从2015股灾开始的,让地方政府和当时的中产爽到了
- 但中国的土地本身并不值钱(更不可能一直涨),开发商也只能是比谁会借钱(养蛊),没什么技术力
- 维尼说房住不吵,但既要不卖地,又要给公务员发高额工资,最后到2022开始用各种政策逼得房价跌停,但导致资金无法回笼,白手套就爆了 😅
教训:伴君如伴虎。与虎谋皮,许以为只是谋中国低阶人矿的皮, 但泡沫破灭后最终被「抓典型」的还是买办不利的自己。就像蛋壳公寓,丛林社会即便「民族企业家」也随时都是「美帝资本家」,「[解放]军首长」也会随时消失。
如果恒大的电动车挤进Top5,或许就被细颈瓶的下属们保了呢! 这大概就是「舔功与实力不可兼得」的教训 🕊
小郑:我的個資被曝光 #statement
玻璃心的人,会把不相关的批评(eg.业主反对物业涨价)和不幸,理解为恶意伤害自尊心;对不够正能量的现实,触发精神胜利等复读机技能
玻璃心常常分不清批评甚至比喻的主体(就像咬House的狗一样),这需要「过度控制」。只要只剩一种声音, 大雄就会以为自己是用胖虎的声音在讲话了
巨婴的人,不敢直面缺陷和成长, 甚至会把欧美日韩台有后续的「社会新闻」也当成不听不看不说的正能量宣传部 ,试图让正常人不比烂就也要把负面事实删光光, 直到自己被不法的权力 暖心强拆强欠的那天 🕊
冷知识:
-「上海铁路局主任」省略了部处,应该说「中铁某局副厅局级干部」
-小郑是2022年6月4日开始做yt
-日本没有「寻性姿势罪」,只有有XX罪和无罪,没有「莫须有」罪和「不能触犯党没告诉你的法律」的道德
-🇹🇼🏳️🌈 台湾无法避免辱华,因为有全民健保劳保的中文人,即便是好好活着,就已经在揭示三皇五帝们的丑陋跟底细了
#ai #jp 月租版 GPT-4 TTS ,可以解答「老鼠生病能吃老鼠药」「只剩一个心脏还能活吗」这类问题
#net #ru 鹅爹 马上全面禁止VPN 😅 之前就叫嚣不让国民传播网络代理
#news 迷笛音乐节惨变 零元购 ,文革大爷大妈的传统哄抢 教育了那些没吃过苦的小年轻 🥰
左派冷知识:☺️
波士顿清茶是为了涨价?实际上:
目标 为了抗议英国议会对茶叶征税, "无代表不纳税"。
而且中国农民的水果,运/卖不出去也会喂猪的,不倒,运费你出
经典社会主义的税收和公务员,都是免费的, (永动机)政府来做是不用花钱的,无(透明资)产阶级政府是高尚的义务劳动。
美国是有 food bank 的,日本我不知道
“ 我不想每天都讨论敏感话题,但是敏感的东西正在每天向我靠近,如同深处液压机之内”
#china 方脸:恒大债务比鹅爹的国债总量还高 🥰
- 通过期房,向消费者借钱
- 通过商票,向生产者借钱
- 通过理财,逼员工们借钱
- 通过收购银行和自融,借「不用还」的钱
为何这时才爆呢:
- 地价泡沫是从2015股灾开始的,让地方政府和当时的中产爽到了
- 但中国的土地本身并不值钱(更不可能一直涨),开发商也只能是比谁会借钱(养蛊),没什么技术力
- 维尼说房住不吵,但既要不卖地,又要给公务员发高额工资,最后到2022开始用各种政策逼得房价跌停,但导致资金无法回笼,白手套就爆了 😅
教训:伴君如伴虎。与虎谋皮,许以为只是谋中国低阶人矿的皮, 但泡沫破灭后最终被「抓典型」的还是买办不利的自己。就像蛋壳公寓,丛林社会即便「民族企业家」也随时都是「美帝资本家」,「[解放]军首长」也会随时消失。
如果恒大的电动车挤进Top5,或许就被细颈瓶的下属们保了呢! 这大概就是「舔功与实力不可兼得」的教训 🕊
小郑:我的個資被曝光 #statement
玻璃心的人,会把不相关的批评(eg.业主反对物业涨价)和不幸,理解为恶意伤害自尊心;对不够正能量的现实,触发精神胜利等复读机技能
玻璃心常常分不清批评甚至比喻的主体(就像咬House的狗一样),这需要「过度控制」。只要只剩一种声音, 大雄就会以为自己是用胖虎的声音在讲话了
巨婴的人,不敢直面缺陷和成长, 甚至会把欧美日韩台有后续的「社会新闻」也当成不听不看不说的正能量宣传部 ,试图让正常人不比烂就也要把负面事实删光光, 直到自己被不法的权力 暖心强拆强欠的那天 🕊
冷知识:
-「上海铁路局主任」省略了部处,应该说「中铁某局副厅局级干部」
-小郑是2022年6月4日开始做yt
-日本没有「寻性姿势罪」,只有有XX罪和无罪,没有「莫须有」罪和「不能触犯党没告诉你的法律」的道德
-🇹🇼🏳️🌈 台湾无法避免辱华,因为有全民健保劳保的中文人,即便是好好活着,就已经在揭示三皇五帝们的丑陋跟底细了
#ai #jp 月租版 GPT-4 TTS ,可以解答「老鼠生病能吃老鼠药」「只剩一个心脏还能活吗」这类问题
#net #ru 鹅爹 马上全面禁止VPN 😅 之前就叫嚣不让国民传播网络代理
#news 迷笛音乐节惨变 零元购 ,文革大爷大妈的传统哄抢 教育了那些没吃过苦的小年轻 🥰
左派冷知识:☺️
波士顿清茶是为了涨价?实际上:
目标 为了抗议英国议会对茶叶征税, "无代表不纳税"。
而且中国农民的水果,运/卖不出去也会喂猪的,不倒,运费你出
经典社会主义的税收和公务员,都是免费的, (永动机)政府来做是不用花钱的,无(透明资)产阶级政府是高尚的义务劳动。
美国是有 food bank 的,日本我不知道
YouTube
方脸说:许家印是如何欠下2.4万亿债务的?恒大的为什么会借那么多钱?恒大暴雷的直接导火索又是什么?恒大破产与许家印被抓!
00:00 许家印的债务帝国
01:24 许家印为什么借那么多钱?
06:00 恒大借钱的三大法宝
14:49 中共的操作加速了恒大的暴雷
01:24 许家印为什么借那么多钱?
06:00 恒大借钱的三大法宝
14:49 中共的操作加速了恒大的暴雷
duangsuse::Echo
这是一个完整的Java式类型系统,支持泛型。 class List<T>{} 的语法对应Fun(T,ID())的数据。 Unit,Fn可视为不属于Any -'TR' Ln<T>.as(:Fn1<T R>)=Ln<R>(0) 也就是对 Arg((Fn),TR) (赋参数),深度遍历到 Ln.To,T.to(Int).. 就知道T具体是啥(还要支持map{map{}}..) 在T未知时结果是 List<R> ,但要生成代码时R一定被固定在Arg。这类把Var作为值的算法叫“合一 unification”。这是关系式(而非“顺序”)的,…
#FP #math 的一些 #statement
#tool html bookmarklet
被大佬建议写成 =(3)3+1 即m=qn+r (r<q)形式的“短除法” ,理由是...没交换律
“理论家布尔巴基有个笑话: 1+2当然是2加1,因为整数对加法构成阿贝尔群”
当然,纠结这些除和除以工程意义不大
a%b 余数在进制计数法,KB MB单位,乃至红绿灯🚥 ,猜拳、[123]*3重复 里都可以用到,四则符号的推而广之是很方便的
但GL的vecM和距离函数, 对偶的cos atan2才算是真正的「函数图像」
对软件来说,值之间的关系、算式的归类、代换(元编程) ,都是值得思考的,这远比重复流行的技术栈重要。 形式化的语法,正是物理和编程比数学广泛的一点
— 纯函数的不可变吧…… 不是类型上'final' (btw. KT-override class 理论讨论)
意义真的不大, 无非是把堆里的变量放栈上来重赋值,或者栈变量换伪递归,拿能够DFS的写法却只做列表处理, 有什么用…… 又麻烦又慢 😓
变量关系式编程(LP)里, 函数式的 Memo f()=x+1 可以直接表达为
一些人觉得 React是什么FRP,functional响应式 。但其实把可变数据,理解为含Var的不可变, 比纠结于List纯不纯好玩的多
类型姑且还是对心智模型的硬化, 纯度这些可都是虚无缥缈的风格格调了。有趣的软件未必靠FP来写。某些函数式lib的样板代码不比rs,go的少 ,代码质量只能是看人,是否憎恨冗余
—我想用
异步流每次next()只是Promise,但换成两个async()赋值--单监听, 用
async()=> 的实现要调用
Iterator显然只是调度的一种特例,是把i++等流控 继闭包地从栈分享到堆。不能牵强地把等待恢复、迭代混为一谈
在ES5里,可以用一个 co(asy()) 来遍历
#js #code
到了OS这级,键鼠事件,异步只是赋值+触发回调
—翻译一下,
然后,f1接受第二个this: (Int)->Unit 实现其return 。这就是JS的Promise.then 。你说的local vars 就是指 Promise or Continuation函续 or Async状态机(大switch) or Future..
f的执行也不能卡线程栈了,它也要靠回调,比如runBlocking等待其他Thread的信号量,或者在IO,Main等 Queue(函序) 调度
这么说,call queue 和单CPU多线程本质上都是分时复用,只是设备中断/SIGTRAP 被改为更高层的函数回调,CPU cycle 换成主循环(监听轮询poll)。 因此王垠觉得Lisp比C更适合写OS
Go,JVM,Ruby,Lua 的 stackful 模式允许不标明await 且仍支持返回值,而基于CPS回调的协程则兼容性好
不能把await 调用理解为有返回值的多进程,相反,函数自身是消息队列内的Task(即线程,可sleep),才能去"非阻塞"await
语句就是种顺序表达式,
还有coroutineScope, sequence, select 等复杂的结构化信息。 这样能实现大goto(call/cc) 的功能,比如直接resume给某个 caller 的 catch(IO Monad) ,或者 yield 到 gen .next() ,DFS防止栈溢出等
yield的一种用途就是遍历Rx流,但它们生成的流却非异步(尽管它能"push"无穷项)。 另外我觉得RxObserver=next 比async yield 更合理
—「值和引用」别扯到C上
栈就是“非常容易做GC”的堆, 只因为在堆上就叫ref不算值 是不太定义式的,这暗示了
别把JVM当成C++的框架。调用栈是内存的一部分,函数值和对象都是“栈转堆”,return在内联后只是赋值;goto,参数并不配特立独行
copy和ref 的区别,只应在于后者是
只是对集合/事件/闭包等应用层共享,就必须有GC,Rc 来修剪对象图
绝大部分val=struct 的实现依然是堆内共享,与内联函数相当。只有int这样机器mov的值不用传指针
—编译和优化
>AI没答到点上。 我觉得synchronized和Mutex有什么区别, 就是取消 object.wait()才隔离出的
>竟然是让 withIndex() 驱动 get(it).. kotlin-stdlib 里的一些实现是自己在 for each 外 var i = 0 计数的……
智障,就像标准库不写 val x get() 写 fun getX
自己破坏自己提供的特性
>list set stdlib 里的这些集合库的indices属性都有优化
我说的是一般的 for (a in list) 优惠成 indexed for loop 去掉迭代器这种
都能让你手动改写法优化了, 要编译器和有两种IR的虚拟机是干什么?
编译器已经是优化了,虚拟机还要JIT, 结果应用层还是不能满足……
是啊,我就是觉得这种现况很可笑。kotlinc 还特别自己弄了一个内部IR,不知道是用于翻译goto 和协程还是啥
编译优化全都是不可见的, 你也不能知道llvm,ktc 执行完优化是啥样子,非得反编译
当然,clang,llvm 是可以导出IR的,但许多优化用的表示IR层级太低,正常人看不懂
这种情况的解释,就是IR的语意不能用语法来保存了, 但其实 loop/重复算式的外提,并不会破坏程序结构,甚至DCE都是要由IDE重做一遍
玩编译器那帮人根本不懂如何做交互式编程、图形化框架。 这一点 dnSpy 一个反编译器都比90%的编译器做得好
更别说同时有TUI,Qt,Web 三种界面,支持无数种bin格式的 radare2 了
#tool html bookmarklet
data:text/html;utf8,<body ContentEditable>
—10÷3=3…1被大佬建议写成 =(3)3+1 即m=qn+r (r<q)形式的“短除法” ,理由是...没交换律
“理论家布尔巴基有个笑话: 1+2当然是2加1,因为整数对加法构成阿贝尔群”
当然,纠结这些除和除以工程意义不大
ax+i=b; x,i=divmod(b,a) 的可变量元组数学里可是没有。函数只是“关系”,没有sympy那种条理分明的元编程化简法,py那种无论匹配或访问都易懂的“类型化数据”a%b 余数在进制计数法,KB MB单位,乃至红绿灯🚥 ,猜拳、[123]*3重复 里都可以用到,四则符号的推而广之是很方便的
但GL的vecM和距离函数, 对偶的cos atan2才算是真正的「函数图像」
对软件来说,值之间的关系、算式的归类、代换(元编程) ,都是值得思考的,这远比重复流行的技术栈重要。 形式化的语法,正是物理和编程比数学广泛的一点
— 纯函数的不可变吧…… 不是类型上'final' (btw. KT-override class 理论讨论)
意义真的不大, 无非是把堆里的变量放栈上来重赋值,或者栈变量换伪递归,拿能够DFS的写法却只做列表处理, 有什么用…… 又麻烦又慢 😓
变量关系式编程(LP)里, 函数式的 Memo f()=x+1 可以直接表达为
f(out y,x) 的细粒度重计算,解构时也一样! 不仅不存在“赋值”,也不需要那些纯函数的过度检查一些人觉得 React是什么FRP,functional响应式 。但其实把可变数据,理解为含Var的不可变, 比纠结于List纯不纯好玩的多
类型姑且还是对心智模型的硬化, 纯度这些可都是虚无缥缈的风格格调了。有趣的软件未必靠FP来写。某些函数式lib的样板代码不比rs,go的少 ,代码质量只能是看人,是否憎恨冗余
—我想用
for()await varAssign; 替换组合力很低的 for await(x of {async*f(){ }}.f()){} 异步迭代器,也方便RPC/跨语言 的对接 #PLT异步流每次next()只是Promise,但换成两个async()赋值--单监听, 用
var.Saw.to(x=>新值流)+AbortSignal 更一致async()=> 的实现要调用
yield。 s={*f(){ res=yield }}.f(), s.next(1) 里f的yield会把值和'自动回调'赋值到s.next,交给调用方调度。throw也可以直接next回调链表(CoroScope)里有catch的那层。Iterator显然只是调度的一种特例,是把i++等流控 继闭包地从栈分享到堆。不能牵强地把等待恢复、迭代混为一谈
在ES5里,可以用一个 co(asy()) 来遍历
task.then(next) 并搭配 yield* tasks(下级) 。#Kt 协程则是直接把回调交给timer()等待,无遍历:#js #code
wait=(n,ret)=>setTimeout(ret, n*1000)把f变成大switch并不难,但Lua,Rb,Py依然在用运行期魔法实现yield:
we={*f(co, ret){
setTimeout(co.nt, 1000); yield //函续已经交出去了,现在该返回 就像f只是登次记
wait(1,co.nt); yield
alert('2s'); ret()
}}
_await=(f ,c={},s=f(c,()=>Job完成))=>(c.nt=x=>s.next(x), s.next())
_await(we.f)
we.f=(co)=>(co.nt=()=>{[ //先把f(yield)外提为x=
()=>setTimeout(co.nt, 1000),
()=>wait(1,co.nt),
()=>alert('2s')][co.i++]()
if(co.i==3)co.ret('like,co=Promise')
})()
we.f({ret(){'此谓调用约定,ABI'}, i:0/*func*则会等待1次next*/})
把co暴露给调用方更像JSPy (缺点是要由main调度then(next)),而把co暴露给下级 更Kt,Lisp (虽然更像回调, 但太隐式, 比如yield(x)需向Iter对象赋值 脚本没这作用域)到了OS这级,键鼠事件,异步只是赋值+触发回调
—翻译一下,
suspend fun f() =f1()+1
首先f()要是一个闭包(即 匿名class .new ),kt,Java ()->会自动实现这一步然后,f1接受第二个this: (Int)->Unit 实现其return 。这就是JS的Promise.then 。你说的local vars 就是指 Promise or Continuation函续 or Async状态机(大switch) or Future..
f的执行也不能卡线程栈了,它也要靠回调,比如runBlocking等待其他Thread的信号量,或者在IO,Main等 Queue(函序) 调度
这么说,call queue 和单CPU多线程本质上都是分时复用,只是设备中断/SIGTRAP 被改为更高层的函数回调,CPU cycle 换成主循环(监听轮询poll)。 因此王垠觉得Lisp比C更适合写OS
Go,JVM,Ruby,Lua 的 stackful 模式允许不标明await 且仍支持返回值,而基于CPS回调的协程则兼容性好
不能把await 调用理解为有返回值的多进程,相反,函数自身是消息队列内的Task(即线程,可sleep),才能去"非阻塞"await
语句就是种顺序表达式,
val x=1; f(x,x) 本该也能写成 f(x:=1,x) ,往往只是外提为val,所以await()就像 f(a?.let{return} ?: b) 是可以的还有coroutineScope, sequence, select 等复杂的结构化信息。 这样能实现大goto(call/cc) 的功能,比如直接resume给某个 caller 的 catch(IO Monad) ,或者 yield 到 gen .next() ,DFS防止栈溢出等
yield的一种用途就是遍历Rx流,但它们生成的流却非异步(尽管它能"push"无穷项)。 另外我觉得RxObserver=next 比async yield 更合理
—「值和引用」别扯到C上
栈就是“非常容易做GC”的堆, 只因为在堆上就叫ref不算值 是不太定义式的,这暗示了
N2(x,y) 这样的数据“不该可变”-即便它说了xy都是变数别把JVM当成C++的框架。调用栈是内存的一部分,函数值和对象都是“栈转堆”,return在内联后只是赋值;goto,参数并不配特立独行
copy和ref 的区别,只应在于后者是
Var(mutable v:T)。 含var的struct也能纯复制,List也可以存栈上(调用在栈顶时,可以追加 int a[num])只是对集合/事件/闭包等应用层共享,就必须有GC,Rc 来修剪对象图
绝大部分val=struct 的实现依然是堆内共享,与内联函数相当。只有int这样机器mov的值不用传指针
—编译和优化
>AI没答到点上。 我觉得synchronized和Mutex有什么区别, 就是取消 object.wait()才隔离出的
>竟然是让 withIndex() 驱动 get(it).. kotlin-stdlib 里的一些实现是自己在 for each 外 var i = 0 计数的……
智障,就像标准库不写 val x get() 写 fun getX
自己破坏自己提供的特性
>list set stdlib 里的这些集合库的indices属性都有优化
我说的是一般的 for (a in list) 优惠成 indexed for loop 去掉迭代器这种
都能让你手动改写法优化了, 要编译器和有两种IR的虚拟机是干什么?
编译器已经是优化了,虚拟机还要JIT, 结果应用层还是不能满足……
是啊,我就是觉得这种现况很可笑。kotlinc 还特别自己弄了一个内部IR,不知道是用于翻译goto 和协程还是啥
编译优化全都是不可见的, 你也不能知道llvm,ktc 执行完优化是啥样子,非得反编译
当然,clang,llvm 是可以导出IR的,但许多优化用的表示IR层级太低,正常人看不懂
这种情况的解释,就是IR的语意不能用语法来保存了, 但其实 loop/重复算式的外提,并不会破坏程序结构,甚至DCE都是要由IDE重做一遍
玩编译器那帮人根本不懂如何做交互式编程、图形化框架。 这一点 dnSpy 一个反编译器都比90%的编译器做得好
更别说同时有TUI,Qt,Web 三种界面,支持无数种bin格式的 radare2 了
Bilibili
这种表示有余数除法的记法,应当清除出所有教科书_哔哩哔哩_bilibili
美国加州大学伯克利分校的一位数学教授,呼吁把我们惯用的表示有余数的除法的记法清除出所有教科书。, 视频播放量 164339、弹幕量 187、点赞数 2369、投硬币枚数 117、收藏人数 768、转发人数 174, 视频作者 学徒老贾, 作者简介 跟好书学习。,相关视频:原来根号3是无理数,细思极恐的问题,为什么我过去从没想过?,用数学怎么去反驳数学?!(驳斥365进步模型),轻易相信简单直观的结论究竟有多危险?,世上竟有这种神奇的数字!? 不是正负1却平方为1?,日本数学竞赛题,要证明2023^0=…
#history #china 为何力量掌握在文明手里😡:
一个「伟大」的国,是让人甘愿拖家带口过去纳税,而不只是单枪匹马、只能够捞钱
西班牙、英国、美国的科技繁荣,不是因为抄对了老大,而是真正有力量的人,更需要一个开放包容、能用法制抵抗剥削的社会化生活环境。
医生对抗完疾病,回家还要对抗窘迫的存款和寻衅滋事罪;这样的国能称为的家,是那种赢了1位,挡住一切的野心家。
这种时候 旁观到国外国内的不公是羞耻、是笑话,而没人会搭把手,
他们教自己的最后一代 变强, 直到被更强的浪潮吃掉,
只好把这种压力倾倒给海峡之外,一群同样有家庭和事业的,他们从没见过的“坏人”
明明让他们相信「一切都是阴谋论的」,是自己身边的环境!
1.Leonard
2.小郑
3.方脸 “
按照马克思主义的理念呢,国家是应该被消灭的压迫者
基于数千年的儒家传统思想,和当前的普世价值观来看的话
国家应该就是人民。所谓的爱国应该就是支持人民,反对国家独占的集体利益
当你学会了爱自己、爱陌生人,其实你就已经做到了爱国
而如果你坚持中共宣传的爱国观,你只能学会仇恨。 当前达不到的标准,不敢明着说权衡利弊,只怨天尤人
小粉红肯定说了你都支持国家分裂了,你怎么还能说爱国呢
但如果你把爱国看作爱人民,事情就会完全不一样
他们心里确实也并非真的把对岸当做同胞
很多时候,我在他们眼中看到的是嫉妒。这一点在香港问题上最明显
很多小粉红,嫉妒香港人身上的特权
嫉妒他们,能自由自在的翻墙,能享受一定的言论自由选举自由
甚至现在还有些极端的小粉红呢
对于台湾问题,还会喊出留岛不留人的口号
这就体现出来:他们根本就不爱台湾人民
当然这种分不清楚到底什么才叫爱国的现象,绝对不仅限于两岸关系上
这种观念,存在于中国的方方面面, 对高楼大厦和联合国席位的执念
”
一个「伟大」的国,是让人甘愿拖家带口过去纳税,而不只是单枪匹马、只能够捞钱
西班牙、英国、美国的科技繁荣,不是因为抄对了老大,而是真正有力量的人,更需要一个开放包容、能用法制抵抗剥削的社会化生活环境。
医生对抗完疾病,回家还要对抗窘迫的存款和寻衅滋事罪;这样的国能称为的家,是那种赢了1位,挡住一切的野心家。
这种时候 旁观到国外国内的不公是羞耻、是笑话,而没人会搭把手,
他们教自己的最后一代 变强, 直到被更强的浪潮吃掉,
只好把这种压力倾倒给海峡之外,一群同样有家庭和事业的,他们从没见过的“坏人”
明明让他们相信「一切都是阴谋论的」,是自己身边的环境!
1.Leonard
2.小郑
3.方脸 “
按照马克思主义的理念呢,国家是应该被消灭的压迫者
基于数千年的儒家传统思想,和当前的普世价值观来看的话
国家应该就是人民。所谓的爱国应该就是支持人民,反对国家独占的集体利益
当你学会了爱自己、爱陌生人,其实你就已经做到了爱国
而如果你坚持中共宣传的爱国观,你只能学会仇恨。 当前达不到的标准,不敢明着说权衡利弊,只怨天尤人
小粉红肯定说了你都支持国家分裂了,你怎么还能说爱国呢
但如果你把爱国看作爱人民,事情就会完全不一样
他们心里确实也并非真的把对岸当做同胞
很多时候,我在他们眼中看到的是嫉妒。这一点在香港问题上最明显
很多小粉红,嫉妒香港人身上的特权
嫉妒他们,能自由自在的翻墙,能享受一定的言论自由选举自由
甚至现在还有些极端的小粉红呢
对于台湾问题,还会喊出留岛不留人的口号
这就体现出来:他们根本就不爱台湾人民
当然这种分不清楚到底什么才叫爱国的现象,绝对不仅限于两岸关系上
这种观念,存在于中国的方方面面, 对高楼大厦和联合国席位的执念
”
YouTube
最讓習近平尷尬的事! 說好的2年超過美國, 又讓專家騙了! 成為世界霸主中國學會了嗎? 偉大復興中國夢很可能要泡湯...
加入本頻道會員https://www.youtube.com/channel/UC1mx_wcSHtfpLk5N_zY0TRg/join
duangsuse::Echo
#zhihu #PLT 又看到有趣的中文编程设计 ,做些科普。 👀 1.打这些太极 还不如就叫真假,另外,加语法糖并不是以混淆基本语法,以编程的一致性为代价. PHP,Ruby,Py2 和VB已经玩烂过这套“大小混写”了(你怎么不用神奇GPT编译呢?) 2.子类型对应的是强制兼容,而非隐式数值转换。 进制只是表示法,SQL那种类型只是验证位数 你说的不需要看(隐式新建类型变量)、运行时可见,Haskell、Kotlin也支持,但你对连 List<T>,T->R 都还没懂的人弱化类型,就利于他们学用新接口了?别把隐类型当成无类型…
#FP #js #kt 今天来桶白象 🤍🐘
>https://www.zhihu.com/question/624728280
"匿名递归,我们调用的是另一个函数。没有什么问题"
发现一个逆天的回答, 直接把调用栈函数理解为匿名+纯函数了,想递归还得加惰性Proxy..
>https://zhuanlan.zhihu.com/p/659387315
看到个同样逆天的
—
这个Proxy也能做,
递归的好习惯是只思考1层-勿判断子项,Y都没做到这一点
Y=\rec. (\x.rec xx)(\x.rec xx)
Y=rec (\x.rec xx) (\x.rec xx) //注意, \x. 只是单个参函数
Y=rec Y //不动点, noOp,id
\x.xx 在调用后把自己命名为x 交给自己(它就是对称形状),因此使用f就等于
看着很好但依然要把
返回自己是伪递归,是循环,但 f(f)(x) 最后不是调用f,而是又生成一个f,只因你不能靠赋值,补充如何跳回自己这里(就与编译原理不一致了)
Y只是要证明lambda演算(S-Expr 的纸笔计算)可以递归……
为什么流行实现,和理论不同? 试试直译:
请把 f(f)惰性求值
众所周知,爱讲众所周知都是别名大师, 他们的理论与既有概念间是隔离的,因此你要学习的内容就如
>https://www.zhihu.com/question/624728280
"匿名递归,我们调用的是另一个函数。没有什么问题"
发现一个逆天的回答, 直接把调用栈函数理解为匿名+纯函数了,想递归还得加惰性Proxy..
>https://zhuanlan.zhihu.com/p/659387315
看到个同样逆天的
—
这个Proxy也能做,
argf=(rec,f=rec((...a)=>f(...a)))=>Object.assign(f, {of(F){f=F;return this}})
Y=argf
Y(f=>x=> x?f(x-1)+1 : 0)(10) // 多测试这条argf(f=>x=> f(x)).of(console.log)(10) //而且还可再定,避免把arg0=self 到处传。递归的好习惯是只思考1层-勿判断子项,Y都没做到这一点
Y=\rec. (\x.rec xx)(\x.rec xx)
Y=rec (\x.rec xx) (\x.rec xx) //注意, \x. 只是单个参函数
Y=rec Y //不动点, noOp,id
\x.xx 在调用后把自己命名为x 交给自己(它就是对称形状),因此使用f就等于
f(f) (x) 看着很好但依然要把
rec(rec, x-1)+1 里的rec放堆上,但Y的意义就是「在不允许堆变量时,用传参实现可变」啊?返回自己是伪递归,是循环,但 f(f)(x) 最后不是调用f,而是又生成一个f,只因你不能靠赋值,补充如何跳回自己这里(就与编译原理不一致了)
Y只是要证明lambda演算(S-Expr 的纸笔计算)可以递归……
Y = f => (x => x(x)) (x => f(y => x(x)(y))) //y=Proxy为什么流行实现,和理论不同? 试试直译:
Y=c=>(f=>c(f(f)))(f=>c(f(f)))//其中
(f=>f(f))(f=>f(f)) ()()()..这种"fork炸弹"会栈溢请把 f(f)惰性求值
Y=c=>(f=>c(x=>f(f)(x)))(f=>c(x=>f(f)(x)))不过 ycombinator.com 确实是因为这个「组合子理论」(某种Brainfuck🥰, 异于定义式编程里的"可组合")起的名
众所周知,爱讲众所周知都是别名大师, 他们的理论与既有概念间是隔离的,因此你要学习的内容就如
node_modules 那样多。 聪明的做法就是,先搞自己的,再兼容别人的Telegram
duangsuse in Kotlin CN
argf=(rec,f=rec((...a)=>f(...a)))=>Object.assign(f, {of(F){f=F}})
argf(f=>x=> x?f(x-1)+1 : 0)(10)
这个Proxy也能做匿名递归,而且还可再定,避免把arg0=self 到处传。递归的根本要求是只思考1层返回类型,Y都没做到这一点
Y=\rec. (\x.rec xx)(\x.rec xx)
Y=rec (\x.rec xx) (\x.rec xx) //注意, \x. 只是单个参函数
Y=rec Y…
argf(f=>x=> x?f(x-1)+1 : 0)(10)
这个Proxy也能做匿名递归,而且还可再定,避免把arg0=self 到处传。递归的根本要求是只思考1层返回类型,Y都没做到这一点
Y=\rec. (\x.rec xx)(\x.rec xx)
Y=rec (\x.rec xx) (\x.rec xx) //注意, \x. 只是单个参函数
Y=rec Y…
Forwarded from 层叠 - The Cascading
Deno 1.37 起提供 Jupyter notebook 支持。
运行
https://deno.news/archive/deno-october-update-deno-137-and-deno-queues
#Deno #Jupyter
运行
deno jupyter --unstable --install 即可安装 Deno 的 kernel spec 供 jupyter 使用。https://deno.news/archive/deno-october-update-deno-137-and-deno-queues
#Deno #Jupyter
deno.news
Deno News
A newsletter of Deno articles, news and cool projects.
❤2
duangsuse::Echo
#statement #dev readability : @duangsuse 其實我覺得你的 code 有個小缺點:不好讀 太像 minified 的程式碼了…… duangsuse, [2023/10/2 19:48] 欸,是啊😓 像 min.js 或许我应该写文档。因为,我是把贴文里已经说了的eval规则,直译为JS了,没有把细节写得很明确 我这个贴文主要是讲原理, 写示例的时候,并没有把它视为应用代码的,就写得比较急,随意😓 duangsuse, [2023/10/2 20:09] 加几个…
#PLT 代表的更多是对元编程(会写代码的代码)的理解,对 参数-返回栈(最终导致重赋值) 或 [{}]数据 的进阶用法,而 parser 等细节更考验你捋出通用模板的能力。
如果所有人都会,Android 开发和半个Java界就直接不存在了,甚至Kt都要半死。
一种编程范式,不一定要自己实现数据类型或函数(堆GC&栈闭包-协程),不需要懂汇编和二进制, miniKanren 就在新新旧旧的宿主语言里,能实现模式匹配和SQL式过滤,(DFS)无尽搜索 甚至正反序列化
编程里,我们要学习的不是『名词』,而是它们「所做到的事情」或者说必要性。 就像解释器那样
探索出这些用法和其优劣场景,才算「会编程」。 简单的写法里,蕴含复杂的可能性,才是编程的未来
把「函数+四则计算器」简化点:
JS里直接把
杂谈:编译vs解释
这里
没有“遍历器”,既要eval又要检查类型该咋办?其实,类型是(静态)常量执行+重载查找 时的概念,
evalC(code,arg)基于调用栈、引用$求值栈来传参,有点像 JVM。Add,Div(AB)这些没必要穷举,而既然Let是匿名调用,那就不要新建语法来实现,除非它是JS里的词法期 let newVar=$2;
在编译原理里,把赋值引入 S-Expr (调用树.更简洁的AST)就得到了-连线图(SSA IR) ,作为一个{基本块} 能更好执行DCE(无用代码消除)等标注和转化
为运算栈的返回值“命名” (
如果所有人都会,Android 开发和半个Java界就直接不存在了,甚至Kt都要半死。
一种编程范式,不一定要自己实现数据类型或函数(堆GC&栈闭包-协程),不需要懂汇编和二进制, miniKanren 就在新新旧旧的宿主语言里,能实现模式匹配和SQL式过滤,(DFS)无尽搜索 甚至正反序列化
编程里,我们要学习的不是『名词』,而是它们「所做到的事情」或者说必要性。 就像解释器那样
"fn=[x]x+1" 很易懂,但意识到 调用栈不是“字典”,如何捕获x(栈变量转堆对象),内联return,递归.. 探索出这些用法和其优劣场景,才算「会编程」。 简单的写法里,蕴含复杂的可能性,才是编程的未来
把「函数+四则计算器」简化点:
JS里直接把
Const(x),Var(iarg),Let(args) 理解为 ()=> ,然后+-*/靠 eval'x+x' 吧def://
inc [x]x+1
print(inc(1))
inc=[$=>$[0],()=>1, '+']
main=[()=>1,inc, 'console.log']
evalC=(code,a=[],v=()=>a.pop(),x)=>{for(x of code){a.push(
x.call? x(a) : x.values? (evalC(x, x=[v()]), x.at(-1))
:eval(x.length==1? v()+x+v() : x+`(${v()})` )
)}}
evalC(main) 杂谈:编译vs解释
这里
()=>"lit", $=>$[0] 在内存上就是Node(Evalable对象), 直观反映了SAM接口的可组合性,是 Visitor 在parser侧的写法没有“遍历器”,既要eval又要检查类型该咋办?其实,类型是(静态)常量执行+重载查找 时的概念,
eval(if xx: class New:) 才没有类型,因此JSPy的反射比JVM高到不知哪里去了:Java设计不好它用不到的东西evalC(code,arg)基于调用栈、引用$求值栈来传参,有点像 JVM。Add,Div(AB)这些没必要穷举,而既然Let是匿名调用,那就不要新建语法来实现,除非它是JS里的词法期 let newVar=$2;
在编译原理里,把赋值引入 S-Expr (调用树.更简洁的AST)就得到了-连线图(SSA IR) ,作为一个{基本块} 能更好执行DCE(无用代码消除)等标注和转化
为运算栈的返回值“命名” (
1+2*3 只需要1个寄存器, 因为*赋值后立刻被+消耗了) 会更像CPU,也是Lua,Dalvik的字节码格式#news #history 以巴冲突- 阿拉伯/伊斯兰世界 和 犹太种族 的领地之乱
200年前,犹太人经常成为各种社会的背锅侠,在富国,他们被扣上贪婪商人的帽子
在穷国,他们被打成各种反派运动的「境外势力」
1903年 俄《锡安长老会纪要》指控犹太人有一个秘密集团,敢独立于斯大林 邪恶地掌握了世界经济和媒体,妄想 学共产主义 用钱统治世界👌
引发了俄德的民粹,当时的基希涅夫呢一共有15万犹太人,1/3都被迷笛0元购了😅 看来,靠抢钱来统治更天堂
团结的犹太人(罗斯柴尔德家族等,和“马爸爸” “民族企业家”不可混为一谈),举办了犹太复国主义者代表大会
决定靠买地+资助移民+游说英法美 来建国 (1867,美向鹅购买了阿拉斯加,当时是做得到)
最终获得国际认可,花费48年时间
-支持巴勒斯坦国,就不能支持极端组织,正是恐怖主义宗教导致以巴和解失败。反犹好战(如同支黑)很可怕
-1948, 《联合国181》受美苏支持 33/13通过后(此时国联刚成立3年),周边阿拉伯国家自信地反对但是战败(5次中东战争),导致以色列获得的领土,比英国/国联谈的多好几倍
-作为中东唯一一个宗教自由(20%伊斯兰人口)、三权分立的现代化国家,GDP排名#20,在纳粹眼里就是亲美的、是侵略者,而无差别屠杀,反而是“受害者的勇气”
(奇怪了,美国明明是反英帝殖民、反邵和日本急先锋😐,跑到精神印第安口里,就变成扬州十日、清军入关那种肤色清洗、抢劫帝国了
民权法制、现代化对于文革爱好者而言,还真是亡我之心不死。
Hamas 是恐怖小分队,是巴勒斯坦人民和以色列贸易、谈判时的敌人(公子沈),他们让巴国无法庇护自己的人民,也让色列对占领区的放权更难做。但是对宗教圣战者和境外伊拉克、塔利班、中鹅那种“政主”而言,巴国的人命算个屁!
把人或政权分为100%的朋友和敌人是很天真的。 当你伤害别人,当你教唆平民去屠杀以色列平民、共“地主”的产, 即将不见天日的 不会只有你的敌人。 生死攸关的报复可没有那么多“时候未到”。
-“耶路撒冷自古以来(领先1700年)是以色列王国的一部分,以色列王国=以色列,所以我国要武统周边国家,巴毒死路一条” <一种统治者的逻辑
-俄国德国曾迫害和屠杀犹太人,导致巴勒斯坦地区犹太比升到25% (在建国时更是达到了1/3)。英《贝尔福宣言》分配1/4的地区领土后,反按阿拉伯民意,曾在三年里每年限移民7.5w(当时世界都歧视犹太)
-鹅爹是侵略乌克兰、也给海参崴起了征服者的名字,而巴勒斯坦,曾是诸多帝国的必争之地,最后一次是被英国管辖10年
总结:Ottoman帝国分裂后,伊斯兰世界屡败屡战,不肯承认以色列民族,因为侵略者真的被战胜了🙉,导致一些中国人以为以色列才是……
没有被希特勒劳改的,便会觉得自己看到的阴谋论全都是真相
btw. 10.10日 🇹🇼 国庆。 大陆的全年法定假有11天,香港是17天
200年前,犹太人经常成为各种社会的背锅侠,在富国,他们被扣上贪婪商人的帽子
在穷国,他们被打成各种反派运动的「境外势力」
1903年 俄《锡安长老会纪要》指控犹太人有一个秘密集团,
引发了俄德的民粹,当时的基希涅夫呢一共有15万犹太人,1/3都被迷笛0元购了😅 看来,靠抢钱来统治更天堂
团结的犹太人(罗斯柴尔德家族等,和“马爸爸” “民族企业家”不可混为一谈),举办了犹太复国主义者代表大会
决定靠买地+资助移民+游说英法美 来建国 (1867,美向鹅购买了阿拉斯加,当时是做得到)
最终获得国际认可,花费48年时间
-支持巴勒斯坦国,就不能支持极端组织,正是恐怖主义宗教导致以巴和解失败。反犹好战(如同支黑)很可怕
-1948, 《联合国181》受美苏支持 33/13通过后(此时国联刚成立3年),周边阿拉伯国家自信地反对但是战败(5次中东战争),导致以色列获得的领土,比英国/国联谈的多好几倍
-作为中东唯一一个宗教自由(20%伊斯兰人口)、三权分立的现代化国家,GDP排名#20,在纳粹眼里就是亲美的、是侵略者,而无差别屠杀,反而是“受害者的勇气”
(奇怪了,美国明明是反英帝殖民、反邵和日本急先锋😐,跑到精神印第安口里,就变成扬州十日、清军入关那种肤色清洗、抢劫帝国了
民权法制、现代化对于文革爱好者而言,还真是亡我之心不死。
Hamas 是恐怖小分队,是巴勒斯坦人民和以色列贸易、谈判时的敌人(公子沈),他们让巴国无法庇护自己的人民,也让色列对占领区的放权更难做。但是对宗教圣战者和境外伊拉克、塔利班、中鹅那种“政主”而言,巴国的人命算个屁!
把人或政权分为100%的朋友和敌人是很天真的。 当你伤害别人,当你教唆平民去屠杀以色列平民、共“地主”的产, 即将不见天日的 不会只有你的敌人。 生死攸关的报复可没有那么多“时候未到”。
-“耶路撒冷自古以来(领先1700年)是以色列王国的一部分,以色列王国=以色列,所以我国要武统周边国家,巴毒死路一条” <一种统治者的逻辑
-俄国德国曾迫害和屠杀犹太人,导致巴勒斯坦地区犹太比升到25% (在建国时更是达到了1/3)。英《贝尔福宣言》分配1/4的地区领土后,反按阿拉伯民意,曾在三年里每年限移民7.5w(当时世界都歧视犹太)
-鹅爹是侵略乌克兰、也给海参崴起了征服者的名字,而巴勒斯坦,曾是诸多帝国的必争之地,最后一次是被英国管辖10年
总结:Ottoman帝国分裂后,伊斯兰世界屡败屡战,不肯承认以色列民族,因为侵略者真的被战胜了🙉,导致一些中国人以为以色列才是……
没有被希特勒劳改的,便会觉得自己看到的阴谋论全都是真相
btw. 10.10日 🇹🇼 国庆。 大陆的全年法定假有11天,香港是17天
Forwarded from 科技圈🎗在花频道📮
微软 GitHub Copilot每月收10刀,倒赔20刀
华尔街日报爆料:他们那用户量高达150万的AI编程工具GitHub Copilot,平均每个月在每个用户身上都要倒贴20美元,最高能达80美元。
换言之,微软自做出Copilot以来,光是一个月在它上面亏损就高达3000万美元,一年下来亏损直接过亿。 原文
投稿:@ZaiHuaBot
频道:@TestFlightCN
华尔街日报爆料:他们那用户量高达150万的AI编程工具GitHub Copilot,平均每个月在每个用户身上都要倒贴20美元,最高能达80美元。
换言之,微软自做出Copilot以来,光是一个月在它上面亏损就高达3000万美元,一年下来亏损直接过亿。 原文
投稿:@ZaiHuaBot
频道:@TestFlightCN
duangsuse::Echo
#news #history 以巴冲突- 阿拉伯/伊斯兰世界 和 犹太种族 的领地之乱 200年前,犹太人经常成为各种社会的背锅侠,在富国,他们被扣上贪婪商人的帽子 在穷国,他们被打成各种反派运动的「境外势力」 1903年 俄《锡安长老会纪要》指控犹太人有一个秘密集团, 敢独立于斯大林 邪恶地掌握了世界经济和媒体,妄想 学共产主义 用钱统治世界👌 引发了俄德的民粹,当时的基希涅夫呢一共有15万犹太人,1/3都被迷笛0元购了😅 看来,靠抢钱来统治更天堂 团结的犹太人(罗斯柴尔德家族等,和“马爸爸” “…
>https://t.me/lychee_wood/34231 #china #freedom
这次是种族隔离吗?是反分裂? 那叫种族清洗吧! 说得好像以色列才是塔利班伊朗,那种朝鲜的动物朋友
这次撤出后被恐袭,以后武德充沛的以色列就更难接受原定领土了,毕竟暴力也掌握在文明手里。
要想支持巴勒斯坦人民,就要反对当权的Hamas恐怖组织和周边的“境外势力”,而不是和稀泥,自以为是反侵略大解放,揭开看是一窝带枪的强奸犯。
他们绑架了巴勒斯坦的老幼、屠杀主张和谈的以色列公民,只为了自己喋血的圣战。
他们只会以圣洁的借口,把中东人当成靶子和弹夹用!
这抢到手的领土,是用来建坟地吧? 在精神Hamas的价值观里, 即便打不赢,也不肯好好按联合国决议。可真是慷人命之慨,伟大!
所谓,巴勒斯坦就是Hamas的铜墙铁壁😅 宁可中东不长草,也要图光犹太人,这个叫「不当二等公民」,吃苦和牺牲精神,伟大复兴
但实质就是图了别人,自己就能“进步”几年的互害博弈, 🙉今天图犹太资本,明天种地缺人手了,就会去高贵地统一地球 ,这种鹅爹玩剩下的。
英国殖民好歹会输出技术和法制,但200年前还是被美国独立打脸了,而“解放者”却是当着子女的面处决父母,遥遥领先! 这种卑劣的手段,用的还是文明社会,全球供应链,生产的手机
和以色列打仗是要愿赌服输的,不能因为打输了就气急败坏, 干出这种死前拉个垫背的,的纳粹行径
更不能以以色列错了为借口, 扫射120名无关的平民。
—
中国「自古以来」的立场就是:反美 🌚是师以长技。[粉紅根本連巴基斯坦還是巴勒斯坦都不清楚,牠們連自己說什麼都不知道。]
犹太牺牲巴国人,换本国安全 真是太可恶了!我支持Hamas,你们可以拿自己人当挡箭牌当炮灰了。
只能说中国的屁股侠们 😅,希望你早日体会到通缩的治安降级。 今日你反以色列 反犹,明日被“反汉” “反富”,
美国会谴责中国民粹吗?真把人矿当根葱了
btw. 凯莉:讲一个传奇人物
这次是种族隔离吗?是反分裂? 那叫种族清洗吧! 说得好像以色列才是塔利班伊朗,那种朝鲜的动物朋友
这次撤出后被恐袭,以后武德充沛的以色列就更难接受原定领土了,毕竟暴力也掌握在文明手里。
要想支持巴勒斯坦人民,就要反对当权的Hamas恐怖组织和周边的“境外势力”,而不是和稀泥,自以为是反侵略大解放,揭开看是一窝带枪的强奸犯。
他们绑架了巴勒斯坦的老幼、屠杀主张和谈的以色列公民,只为了自己喋血的圣战。
他们只会以圣洁的借口,把中东人当成靶子和弹夹用!
这抢到手的领土,是用来建坟地吧? 在精神Hamas的价值观里, 即便打不赢,也不肯好好按联合国决议。可真是慷人命之慨,伟大!
所谓,巴勒斯坦就是Hamas的铜墙铁壁😅 宁可中东不长草,也要图光犹太人,这个叫「不当二等公民」,吃苦和牺牲精神,伟大复兴
但实质就是图了别人,自己就能“进步”几年的互害博弈, 🙉今天图犹太资本,明天种地缺人手了,就会去高贵地统一地球 ,这种鹅爹玩剩下的。
英国殖民好歹会输出技术和法制,但200年前还是被美国独立打脸了,而“解放者”却是当着子女的面处决父母,遥遥领先! 这种卑劣的手段,用的还是文明社会,全球供应链,生产的手机
和以色列打仗是要愿赌服输的,不能因为打输了就气急败坏, 干出这种死前拉个垫背的,的纳粹行径
更不能以以色列错了为借口, 扫射120名无关的平民。
—
中国「自古以来」的立场就是:反美 🌚是师以长技。[粉紅根本連巴基斯坦還是巴勒斯坦都不清楚,牠們連自己說什麼都不知道。]
犹太牺牲巴国人,换本国安全 真是太可恶了!我支持Hamas,你们可以拿自己人当挡箭牌当炮灰了。
只能说中国的屁股侠们 😅,希望你早日体会到通缩的治安降级。 今日你反以色列 反犹,明日被“反汉” “反富”,
美国会谴责中国民粹吗?真把人矿当根葱了
btw. 凯莉:讲一个传奇人物
Telegram
荔枝木
duangsuse::Echo
#FP #js #kt 今天来桶白象 🤍🐘 >https://www.zhihu.com/question/624728280 "匿名递归,我们调用的是另一个函数。没有什么问题" 发现一个逆天的回答, 直接把调用栈函数理解为匿名+纯函数了,想递归还得加惰性Proxy.. >https://zhuanlan.zhihu.com/p/659387315 看到个同样逆天的 — 这个Proxy也能做, argf=(rec,f=rec((...a)=>f(...a)))=>Object.assign(f, {of(F){f=F;return…
#blog #tr 《PL 表示法有碍于入门》
#PLT 俱乐部的人 Y 组合器身上纹,却被会员评价:字体不好看👀
符号可以使思维清晰。使用正确的符号,一开始就能轻松地完成工作,让不重要的部分消失
Mike Hicks 认为,像 8÷2(2+2) 这样简单的算术表达式也难倒各种人,妨害 PL 研究的影响力
最好的符号是简洁的;它们在视觉上具有暗示或继承性,
有人抱怨使用函数化命名而不是数学符号看起来不那么 PL
但——这就是简化记法的一个理由!我们作品的美学很重要,但PL已经以深奥的符号而闻名。
大部分论文能将一两个符号改为文字而进步
作者建议:
-增加清晰度/减少混乱将扩大我们工作的范围并减少协作障碍
-标准化设计清晰的单字符体系
-无论类型理论、语言还是 API——都要做复杂性预算, 作为警示
-总是用简单、易发音和众所周知的符号代替,顺序更要自然
more
#PLT 俱乐部的人 Y 组合器身上纹,却被会员评价:字体不好看👀
符号可以使思维清晰。使用正确的符号,一开始就能轻松地完成工作,让不重要的部分消失
Mike Hicks 认为,像 8÷2(2+2) 这样简单的算术表达式也难倒各种人,妨害 PL 研究的影响力
最好的符号是简洁的;它们在视觉上具有暗示或继承性,
有人抱怨使用函数化命名而不是数学符号看起来不那么 PL
但——这就是简化记法的一个理由!我们作品的美学很重要,但PL已经以深奥的符号而闻名。
大部分论文能将一两个符号改为文字而进步
作者建议:
-增加清晰度/减少混乱将扩大我们工作的范围并减少协作障碍
-标准化设计清晰的单字符体系
-无论类型理论、语言还是 API——都要做复杂性预算, 作为警示
-总是用简单、易发音和众所周知的符号代替,顺序更要自然
more
SIGPLAN Blog
PL Notation is a Barrier to Entry
Research in programming languages offers powerful tools, but our systems of notation stymie outsiders. Can we change our notational approach and broaden our audience—without compromising on c…
#py #js #signal 链接分享
https://ohshitgit.com/zh
https://krazydad.com/tutorials/makecolors.php
https://developer.android.com/kotlin/coroutines/coroutines-adv?hl=zh-cn
Datalog 流控分析
React useForm 开发共享"笔记"
支持 subinterpreter(node: VM), 用来优化多进程
规范化TVar:
PostgresJs: PostgreSQL client for Node.js and Deno
https://ohshitgit.com/zh
https://krazydad.com/tutorials/makecolors.php
https://developer.android.com/kotlin/coroutines/coroutines-adv?hl=zh-cn
Datalog 流控分析
React useForm 开发共享"笔记"
支持 subinterpreter(node: VM), 用来优化多进程
规范化TVar:
type Seq[T]=list[T]|set[T]增加win32,sqlite,aio fswatch 的功能
def map[T](:Seq[T])
**kw:Unpack[T]
PostgresJs: PostgreSQL client for Node.js and Deno
Telegram
Newlearnerの自留地
#Python潮流周刊 #Newsletter
Python 潮流周刊#22:Python 3.12.0 发布了!!
文章&教程
1、Python 3.12.0 版本发布了
2、Python 3.12 速览:子解释器
3、聊聊 Python 3.12 中 perf 的原生支持
4、Python 3.12 速览:静态类型的改进
5、FastAPI 中的依赖注入:构建可维护的高性能 Web 应用
6、深入理解 python 虚拟机:原来虚拟机是这么实现闭包的
7、探索 Pexpect 库:深入理解 expect_list…
Python 潮流周刊#22:Python 3.12.0 发布了!!
文章&教程
1、Python 3.12.0 版本发布了
2、Python 3.12 速览:子解释器
3、聊聊 Python 3.12 中 perf 的原生支持
4、Python 3.12 速览:静态类型的改进
5、FastAPI 中的依赖注入:构建可维护的高性能 Web 应用
6、深入理解 python 虚拟机:原来虚拟机是这么实现闭包的
7、探索 Pexpect 库:深入理解 expect_list…
duangsuse::Echo
#math #web 看来想完成EqvJS的设计,还要简化自己之前的许多作品里的技术 (图: easing 曲线, Svelte ease-out 代表先快后慢 #apple #tool Epic Easing - easings.net - animejs.com #dalao https://lisyarus.github.io/blog/programming/2023/02/21/exponential-smoothing.html#:~:text=speeds%20up%20naturall…
This media is not supported in your browser
VIEW IN TELEGRAM
看到个有意思的, #android 夜间切换特效
>GLSL https://www.shadertoy.com/view/4sBfRd
用HTML-SVG 做的话,在clone出的
但无论如何 都比canvas或paint的方法好移植且快
Android上,深色主题如果是靠bg/fgcolor 切换,除了 transition: 不是一等公民,需要自己填Animator
还有复杂的自定义“复用”Recycler.View失效问题 🥰 而 clusterize.js.org 呢?往table调一个函数就能优化,安卓那种复杂度,对它够支持瀑布流了
可能,还需要手动setAttrValue 什么的
H5里做排版的XML,安卓做style
H5里做交互的JS,安卓做排版.. Compose 等于是简化下HTML的语法,却硬是让View框架被“重新定义”了
H5里自带的Web平台API,安卓靠Gradle.. 依赖地狱什么的这不就来了?
>GLSL https://www.shadertoy.com/view/4sBfRd
#define circ distance(P,iMouse.xy)背景也可以是波浪。忘记 sine scroller 的关键词了 🥰
#define swing(x) cos(.5*(1.-x)*radians(180.))
//混成AB两版的main, 对B版用圆选区, transition: --len_vw 4s ease-out
void mainImage(out vec4 bg, vec2 P) {
_mainImage(bg,P);
bg=(circ< swing(iTime/4.)*iResolution.x? bg:1.-bg);
}
用HTML-SVG 做的话,在clone出的
#app.dark 上剪裁 clip-path:circle(var) 很方便,但如果想用更灵活的mask:radial-gradient(var) 就只能靠自定义filter了但无论如何 都比canvas或paint的方法好移植且快
Android上,深色主题如果是靠bg/fgcolor 切换,除了 transition: 不是一等公民,需要自己填Animator
还有复杂的自定义“复用”Recycler.View失效问题 🥰 而 clusterize.js.org 呢?往table调一个函数就能优化,安卓那种复杂度,对它够支持瀑布流了
可能,还需要手动setAttrValue 什么的
H5里做排版的XML,安卓做style
H5里做交互的JS,安卓做排版.. Compose 等于是简化下HTML的语法,却硬是让View框架被“重新定义”了
H5里自带的Web平台API,安卓靠Gradle.. 依赖地狱什么的这不就来了?
duangsuse::Echo
#FP #math 的一些 #statement #tool html bookmarklet data:text/html;utf8,<body ContentEditable> —10÷3=3…1 被大佬建议写成 =(3)3+1 即m=qn+r (r<q)形式的“短除法” ,理由是...没交换律 “理论家布尔巴基有个笑话: 1+2当然是2加1,因为整数对加法构成阿贝尔群” 当然,纠结这些除和除以工程意义不大 ax+i=b; x,i=divmod(b,a) 的可变量元组数学里可是没有。函数只是“关…
#PLT 🤔又看到一个「除和除以」的理论: C里数组不是指针
你以为
照这样 void 这个语意和Py里的:pass 相同的占位符/nocheck标记,也是“有类型”了
照这样,数组名从来都不是指针“类型”才对,名字是编译期标识符,标识符怎么能是具体的值? 只能说{1,2,3} 这些常量👀不是指针!
>那么C的类型树是怎样呢?
汇编无函数类型(皆static)。调用栈不叫堆、值和引用是'ABI, FFI' 定义出的隔离,一般 值类型=栈分配-如数组, 内含变数的也叫值
值类型 整数小数 (字符)枚举 bitset
函数链接
^用 struct x={,} 的方法支持了“元组”, 多情况类型。缓冲区溢出会导致RCE ,就是Linux早期链接器的缺陷允许“代码注入”
无类型void
指针(const, NULL)
const: final, 对参/局部也有效,
restrict是禁用指针别名(自己可写)的优化
你以为
argc,char* argv[] 为啥配对出现?C没有真正的str,list 类型,sizeof(int[2]) 是8, int* a,b; 只有1个指针,还有些沟闭的函数指针,这种莫名其妙的仅编译期细节,也叫类型?照这样 void 这个语意和Py里的:pass 相同的占位符/nocheck标记,也是“有类型”了
照这样,数组名从来都不是指针“类型”才对,名字是编译期标识符,标识符怎么能是具体的值? 只能说{1,2,3} 这些常量👀不是指针!
>那么C的类型树是怎样呢?
汇编无函数类型(皆static)。调用栈不叫堆、值和引用是'ABI, FFI' 定义出的隔离,一般 值类型=栈分配-如数组, 内含变数的也叫值
值类型 整数小数 (字符)枚举 bitset
(unsigned)int{(1,2,4,8)*8}_t --注意只有四则越界才会体现有无符号, 支持_MAX常量. void* 可能宽于 size_t float{32,64}_t --注意.1+.2!=.3uchar=1byte ASCII引用类型 元组和共用体
enum{A=0}, _Bool
struct { unsigned bitflag_a:1,b:1; } is=0b11;
struct, union{ int tag, }: data, sealed class 函数链接
void(*) fn , .h 必须 static inline 就是避免符号重名, Java的 (Ljava/lang/String;)Ret 签名亦然^用 struct x={,} 的方法支持了“元组”, 多情况类型。缓冲区溢出会导致RCE ,就是Linux早期链接器的缺陷允许“代码注入”
无类型void
指针(const, NULL)
const: final, 对参/局部也有效,
const int * const x (Go x *const int)restrict是禁用指针别名(自己可写)的优化
Zhihu
为什么这么多人喷谭浩强的C语言程序设计? - 知乎
谭书讲的不深,错误很多,这是公认的缺点。我认为谭书的目标读者是初学者。初学者的目的应该是入门。谭书…
C 类型,如果从语意的视角,只应该分为3种:
值类
可变类
无类型
“++只能用于变量,不能用于常量和表达式” -错
蛤? C语言里“左值” 才是真正的变量,
这老师,写书不用IDE 不校对,“编译不通过就改成.cpp继续运行”
这学生,玩起八股文一套一套的,比古人还返祖
真把CS当成打枪战了,淘汰越多人越懂编程?? 🙉👏
值类
bytes%s 数%f 整数%d/增数size%u%ld/编号字符%c 真假和enum,BitSet 空指针(这叫空值,不然会弄出 undefined!==null)可变类
int[栈上alloc], &T 读写指针, struct,多型union无类型
void
不应该有 const(final),unsigned,long 和public:这些修饰词 “++只能用于变量,不能用于常量和表达式” -错
蛤? C语言里“左值” 才是真正的变量,
name++ 是左值的一种特例,就像 print(); 是最常见的语句,而 int;return; 才是最贴合单行的用法这老师,写书不用IDE 不校对,“编译不通过就改成.cpp继续运行”
这学生,玩起八股文一套一套的,比古人还返祖
真把CS当成打枪战了,淘汰越多人越懂编程?? 🙉👏
#statement #kt #dalao 为何退出..
>可惜JDK没有 @android.webkit.JavascriptInterface
不然小dataobj用html form 应该挺好改
我的天哪
我还专门写了个编译期 append框架弄Tkinter
现在想想,还是用DOM吧,H5最有前途
duangsuse, [2023/10/19 18:38]
https://github.com/duangsuse-valid-projects/TkGUI/blob/master/tkgui/codegen.py#L162
大概是拿DSL模拟py的obj访问和调用 ,然后把值代换回变量名
>编译期 append
^ ice1k 大佬决定推群,因为怕被回复
我不是想强调我做过什么 😅
这种东西现在看起来也很屎
我只是注释,因为你提到了这个问题
实现方式,对我而已言是为代码桥接的。只要语法或心智模型一样,就行
当年写的东西,虽然很烂,但当时也确实没想到更好的
duangsuse, [2023/10/19 18:42]
那这么玻璃心。我有啥办法呢? 我一直在这里,我不需要与任何菜鸟隔一层 阶 级 😓
真是对自由讨论非常不友好的, 连tg都没考虑到的情况
这个人能看到我的消息,我却不能回复他
而且不是静态检查的不能, 是圈他以后,他会抛下一句话退群
检查类型了,但没完全检查
不过,tg的黑名单真的有待改进
isekiのChannel, [2023/10/19 18:47]
你的思维呈现极端的跳跃性
duangsuse, [2023/10/19 18:48]
哦,不就是否决了你们的一些落后观点, 就说我捉摸不透了
>是啊,我们这边实在跟不上您的思路
我是要用这些知识真正做事情的人
可不是像你们这样,拿着,然后不说也不用
duangsuse, [2023/10/19 18:50]
你们今天懂的,或许我不懂
但我懂的,就一定让它变成儿童编程一样的复杂度
你们觉得不严谨,反感,我无所谓
我非常乐意和冰封大佬在一个群里
但这次是他主动退出的,我没办法
法不可知则威不可测, 他一直在回复我,我以为他又正常了呢
—不过当年写的,确实涉及许多不相干的东西
本来可以用确定性较强的
我却创建了一个能uneval() 的“虚拟树”
不过对DOM树,这些语法糖就都无所谓了
duangsuse, [2023/10/19 18:56]
不是的,在Tk 里支持XML式的EKV树,需要手写遍历
我是想纯生成append代码,也不要有调用栈,就是节点ID和配置+子级
所以在调用时,+值->名 替换的副作用,刚好能输出代码,但其实不够优雅
现在我也没想到其他做法,但设想的 js
duangsuse, [2023/10/19 19:04]
另外冰封也写过C-binding + View DSL
他自己应该也有些UI框架,有别人做了 java DSL ,初次提起TkGUI 当时他就回复我这个
对我而言,这几百行代码的份量,相当于刚才我一句话里的语意, 甚至还不如,因为那时我不知道 form input[types],被不广泛的心智模型带偏了
今天的我,搞不懂为什么你们以无法被解读的代码为傲
你们未必能完成最初GPT能实现的目标,却完全丧失了「软件工程」 的优势。你们做的能用的项目,和那些抽象的概念间是没有一致性的,它们不代表你们编程力的成长。 这种习得性的正确记忆,难道能称为懂理论,或者有思想吗?
元编程也不过是编程, 类型推导也不过是「变数关系式DFS编程」, 你把编程语言当问题,只会在正事上一事无成
duangsuse, [2023/10/19 19:10]
不要管了,实在不行就拒绝用Logger
Log4Shell (CVE-2021-44228
24 November 2021; 22 months ago
>可惜JDK没有 @android.webkit.JavascriptInterface
不然小dataobj用html form 应该挺好改
我的天哪
frame.add(this, BorderLayout.NORTH)
AI真的get到我说的apply{} 是咋回事了吗,反正我是很讨厌语句式UI 我还专门写了个编译期 append框架弄Tkinter
现在想想,还是用DOM吧,H5最有前途
duangsuse, [2023/10/19 18:38]
https://github.com/duangsuse-valid-projects/TkGUI/blob/master/tkgui/codegen.py#L162
大概是拿DSL模拟py的obj访问和调用 ,然后把值代换回变量名
>编译期 append
^ ice1k 大佬决定推群,因为怕被回复
我不是想强调我做过什么 😅
这种东西现在看起来也很屎
我只是注释,因为你提到了这个问题
实现方式,对我而已言是为代码桥接的。只要语法或心智模型一样,就行
当年写的东西,虽然很烂,但当时也确实没想到更好的
duangsuse, [2023/10/19 18:42]
那这么玻璃心。我有啥办法呢? 我一直在这里,我不需要与任何菜鸟隔一层 阶 级 😓
真是对自由讨论非常不友好的, 连tg都没考虑到的情况
这个人能看到我的消息,我却不能回复他
而且不是静态检查的不能, 是圈他以后,他会抛下一句话退群
检查类型了,但没完全检查
不过,tg的黑名单真的有待改进
isekiのChannel, [2023/10/19 18:47]
你的思维呈现极端的跳跃性
duangsuse, [2023/10/19 18:48]
哦,不就是否决了你们的一些落后观点, 就说我捉摸不透了
>是啊,我们这边实在跟不上您的思路
我是要用这些知识真正做事情的人
可不是像你们这样,拿着,然后不说也不用
duangsuse, [2023/10/19 18:50]
你们今天懂的,或许我不懂
但我懂的,就一定让它变成儿童编程一样的复杂度
你们觉得不严谨,反感,我无所谓
我非常乐意和冰封大佬在一个群里
但这次是他主动退出的,我没办法
法不可知则威不可测, 他一直在回复我,我以为他又正常了呢
—不过当年写的,确实涉及许多不相干的东西
本来可以用确定性较强的
for x in: constEval(x) 我却创建了一个能uneval() 的“虚拟树”
不过对DOM树,这些语法糖就都无所谓了
duangsuse, [2023/10/19 18:56]
不是的,在Tk 里支持XML式的EKV树,需要手写遍历
我是想纯生成append代码,也不要有调用栈,就是节点ID和配置+子级
所以在调用时,+值->名 替换的副作用,刚好能输出代码,但其实不够优雅
现在我也没想到其他做法,但设想的 js
evalFun 对纯常量(split,.)的0开销还是做得到duangsuse, [2023/10/19 19:04]
另外冰封也写过C-binding + View DSL
他自己应该也有些UI框架,有别人做了 java DSL ,初次提起TkGUI 当时他就回复我这个
对我而言,这几百行代码的份量,相当于刚才我一句话里的语意, 甚至还不如,因为那时我不知道 form input[types],被不广泛的心智模型带偏了
今天的我,搞不懂为什么你们以无法被解读的代码为傲
你们未必能完成最初GPT能实现的目标,却完全丧失了「软件工程」 的优势。你们做的能用的项目,和那些抽象的概念间是没有一致性的,它们不代表你们编程力的成长。 这种习得性的正确记忆,难道能称为懂理论,或者有思想吗?
元编程也不过是编程, 类型推导也不过是「变数关系式DFS编程」, 你把编程语言当问题,只会在正事上一事无成
duangsuse, [2023/10/19 19:10]
不要管了,实在不行就拒绝用Logger
Log4Shell (CVE-2021-44228
24 November 2021; 22 months ago
duangsuse::Echo
#statement #kt #dalao 为何退出.. >可惜JDK没有 @android.webkit.JavascriptInterface 不然小dataobj用html form 应该挺好改 我的天哪 frame.add(this, BorderLayout.NORTH) AI真的get到我说的apply{} 是咋回事了吗,反正我是很讨厌语句式UI 我还专门写了个编译期 append框架弄Tkinter 现在想想,还是用DOM吧,H5最有前途 duangsuse, [2023/10/19…
#dev #PLT 🐁 在我这几天改稿的生涯总结文里, 是这样开头的:
“ 即便编程的外行,也可能见过像 for;return 这样的类-C语法。 学写代码,就像通过阅读「文字」和猜测语意,get到了你和计算机、和流行框架交流时的「语言模型」与习惯;编程就像为了拓展自己的疆域去学外语,并不特别
有些算法就像这个简单的“循环式”[老鼠陷阱]一样,写起来缺少力量,却杀bug不扎眼。
工程界里,有许多问题就像这个陷阱;原本简单,却随着功能需求和概念的堆砌,慢慢让人高攀不起,而设计派的理论,不仅像龟派气功那样,酷得让你编程时的打字声拳拳到肉,编译出App也一气呵成!
无论什么层次,编程都是一种充满乐趣的创造力和共同体,除了你家的CPU和内存,大家也不必全力以赴。 我..其实没什么想教的,只希望你不会因眼前的“屎山代码基”,忽视你所做功能本身的惊喜和活力。
”
#life
编程是一件快乐的事情。 即便在追求深度时,面临自己无法解释的术语和代码,面对自己写下却无法解释的“脚本”,我也从来没把它当成一种「战士的考验」,这就是构成我API风格的价值观
编程并不是比别人高尚的理由,更不是把高尚理解为与人不善的开端。 对我来说,每天见到各种代码,会让人耳目一新,但我没有把它当成非做不可的职业
“
你们觉得不严谨,反感,我无所谓
毕竟我是活在物理世界,而不是一个本可以被肆意解构、组合、翻译移植而获得各方面的成长,却被某些人拿来,只搞小圈子孤立的“代数”世界
我非常乐意和冰封大佬在一个群里
但这次是他主动退出的,我没办法
我做的那些snippet,不是因为我有多聪明、懂多少,而是—拥有整个Web的代码段、函数可视化、兴趣团体的信息源,又拿着不必为盈利在首页摆满涩图的搜索引擎和GPT
有这些天赋般的工具后,我就是那只不去刷题,却被风口吹飞的🐷
即便单看现在,这貌似不值几个钱。
你们今天懂的,或许我不懂
但我懂的,就一定让它变成儿童编程一样的复杂度,因为简单实际且广泛联通的,才是还未出现的技术。
回看墙内努力在自己脑袋里“炼丹”同胞,和所谓中国无CS的论调,不禁感叹
如果我们不是最后一代,下一代又有什么新的“快乐”征程呢?
“ 即便编程的外行,也可能见过像 for;return 这样的类-C语法。 学写代码,就像通过阅读「文字」和猜测语意,get到了你和计算机、和流行框架交流时的「语言模型」与习惯;编程就像为了拓展自己的疆域去学外语,并不特别
有些算法就像这个简单的“循环式”[老鼠陷阱]一样,写起来缺少力量,却杀bug不扎眼。
工程界里,有许多问题就像这个陷阱;原本简单,却随着功能需求和概念的堆砌,慢慢让人高攀不起,而设计派的理论,不仅像龟派气功那样,酷得让你编程时的打字声拳拳到肉,编译出App也一气呵成!
无论什么层次,编程都是一种充满乐趣的创造力和共同体,除了你家的CPU和内存,大家也不必全力以赴。 我..其实没什么想教的,只希望你不会因眼前的“屎山代码基”,忽视你所做功能本身的惊喜和活力。
”
#life
编程是一件快乐的事情。 即便在追求深度时,面临自己无法解释的术语和代码,面对自己写下却无法解释的“脚本”,我也从来没把它当成一种「战士的考验」,这就是构成我API风格的价值观
编程并不是比别人高尚的理由,更不是把高尚理解为与人不善的开端。 对我来说,每天见到各种代码,会让人耳目一新,但我没有把它当成非做不可的职业
“
你们觉得不严谨,反感,我无所谓
毕竟我是活在物理世界,而不是一个本可以被肆意解构、组合、翻译移植而获得各方面的成长,却被某些人拿来,只搞小圈子孤立的“代数”世界
我非常乐意和冰封大佬在一个群里
但这次是他主动退出的,我没办法
我做的那些snippet,不是因为我有多聪明、懂多少,而是—拥有整个Web的代码段、函数可视化、兴趣团体的信息源,又拿着不必为盈利在首页摆满涩图的搜索引擎和GPT
有这些天赋般的工具后,我就是那只不去刷题,却被风口吹飞的🐷
即便单看现在,这貌似不值几个钱。
你们今天懂的,或许我不懂
但我懂的,就一定让它变成儿童编程一样的复杂度,因为简单实际且广泛联通的,才是还未出现的技术。
回看墙内努力在自己脑袋里“炼丹”同胞,和所谓中国无CS的论调,不禁感叹
如果我们不是最后一代,下一代又有什么新的“快乐”征程呢?
Telegram
duangsuse in Kotlin CN
说到「地狱」类问题, 我倒是想起回调地狱一词。
其实答案在50年前就给出了: 传递回调,就是流控-return 的另一种实现法
线程栈vs协程栈。 就像创建SAM函数值时,外部函数要被做成对象;调用协程时,自己也要被做成状态机+回调。
但直到async()=>和同样基于“铺平,只添加return后续”的Promise 出现,异步触发始终是地狱
而一些静态语言里,新的Future, Rx 带来了另一些不一致性
那么函数式这段时间在干嘛呢?把「自动回调化」命名为 CPS,Continuation“续体”…
其实答案在50年前就给出了: 传递回调,就是流控-return 的另一种实现法
线程栈vs协程栈。 就像创建SAM函数值时,外部函数要被做成对象;调用协程时,自己也要被做成状态机+回调。
但直到async()=>和同样基于“铺平,只添加return后续”的Promise 出现,异步触发始终是地狱
而一些静态语言里,新的Future, Rx 带来了另一些不一致性
那么函数式这段时间在干嘛呢?把「自动回调化」命名为 CPS,Continuation“续体”…
#recommend #bilibili ReScript 作者讲义
- 如果ADT都没规范为tuple,list,when 的格式,怎么能方便重解释?
- 同意,直接MSYS2
- zerocost 写起来方便些, 不过throw,SEH 这么低能的调用栈特色.. 还是敷衍过了吧
- 同意,什么叫很大的变量? 很多??不就是GC的事
某位知名游戏开发讲师写编译器
- 如果ADT都没规范为tuple,list,when 的格式,怎么能方便重解释?
- 同意,直接MSYS2
- zerocost 写起来方便些, 不过throw,SEH 这么低能的调用栈特色.. 还是敷衍过了吧
- 同意,什么叫很大的变量? 很多??不就是GC的事
某位知名游戏开发讲师写编译器
Bilibili
1.1课程介绍与编译技术概论-张宏波的程序语言理论与实现公开课_哔哩哔哩_bilibili
课程主页:https://bobzhang.github.io/courses/本课程主要讲授程序语言设计与实现中的理论和实践,相较传统编译原理课程花费比较多的篇幅在词法分析、语法分析、语法树构造等章节,这门课程会直接从 Lambda演算 切入介绍编程语言最核心的部分,但和国外的同类课程不同的是,更多的注重把理论和实践相结合。课程内容包括Lambda演算、parital evaluation、 d, 视频播放量 12853、弹幕量 1、点赞数 458、投硬币枚数 319、收藏人数 758、转发人数 119…