duangsuse::Echo
714 subscribers
4.24K photos
127 videos
583 files
6.46K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
绝句所谓的 存储 不恰当,还是改成『取置』吧。

对何<值者>其中 值者:值 皆有
扩物 取置<值者?> 为
事 置空() 为
我去置为(空)


forall T where T: Any theres
extension Modifible<T?> where
fun makeNull() where
this.set(null)
绝句词法.md
18 KB
给正在期待新写作的同好
#book 《Kotlin 极简教程》怎么说用处也是蛮不小的。虽然内容新颖有深度,不过如果一定要提意见,就是有些东西的描述还可以再好好斟酌一下,是否足够简明、是否存在赘述或者该泛化没泛化的情况。
真是有点快了,不到三天时间,绝句居然就从一个比较随性的设想变成几乎切实可行、立刻就能开工写解析器的规范的程序设计语言
虽然最后把这一切联系在一起的是我一个人 😂,但是 Kate 的 Kotlin 高亮支持是功不可没……
绝句词法.md
19.5 KB
大概是完成了,就剩下修订、语法和「你」语法的定义了
你鸡,太美()。 🐔🤪
annotationUseSiteTarget ('field' | 'property' | 'get' | 'set' | 'receiver' | 'param' | 'setparam' | 'delegate')
词法就等 Kotlin 然后形式化时弄吧,不就是多了个汉字数字吗(我相信弄完后,很多人就会出来骂我,因为一般来说根本不会有人写中文数值,但我这么做是有其他理由的)
绝句词法.md
28.1 KB
又增加了很多
你们知道么,当时编译通过的时候我都蒙了!我完全是一个字一个字敲出来的,中间没有靠任何类型检查器,而后来只是修了接口 isNotEmpty() 没加括号和另一个类型标记错误的问题,加了三个 import 就直接编译过了!!!不靠计算机简直都能编程!
那么今天就到这里了,新年快乐! 🇨🇳🥳
https://duangsuse-valid-projects.github.io/Share/绝句/绝句词法#解析器实现-kotlin-literate 看起来就像是『Literate Programming』,而我开始的时候没打算完全这样,重视代码质量后居然简单地过滤拼接一下都可以直接让Kotlin编译器拿去编译!
实现代码比较幼稚但也可以用
断续的事 后继节点(e:节点) 为
变节点 a 初 e
重复,断续(a)、a = a的下一项。当a不空。 “不空是一种后缀记法”
对何<项>皆有 扩物 可迭 为
断续的事 取前(取:命题<项>) 为
对我里的,
若取(它),断续(它)。否则,停下。 “……我开始斟酌原设计的『回交』是否应该改回来了”

事 启用代码过滤(id:元素名) 为
量 baseDiv = 文档去取以(id)名的元素
量 codeDiv = 文档去取以("$id-code")名的元素 “当然也是记法,内联物+记法+扩物”
codeDiv的HTML代码 = "<button>显示 ${id} 的代码</button>" “当然绝句可以有更简洁而且检查更多的DSL”
codeDiv的子素[0]的点击监听 = 函数,codeDiv的HTML代码 = 滤出代码(baseDiv)映为(::HTML代码)以("<br>")拼合。

事 滤出代码(e:元素) 为
量 全后继 = 后继节点(e)
量 此部分 = 全后继去取前(::部分未完)“的”
量 受用项目 = 此部分去滤出,接受类列表(它的类列表)。“的”
回受用项目
其中,
事 部分未完(e:元素) = e的类列表?去试存("literate-end") 空则否
事 接受类列表(classes:元素) = "language-kotlin"存于classes
duangsuse::Echo
断续的事 后继节点(e:节点) 为 变节点 a 初 e 重复,断续(a)、a = a的下一项。当a不空。 “不空是一种后缀记法” 对何<项>皆有 扩物 可迭 为 断续的事 取前(取:命题<项>) 为 对我里的, 若取(它),断续(它)。否则,停下。 “……我开始斟酌原设计的『回交』是否应该改回来了” 事 启用代码过滤(id:元素名) 为 量 baseDiv = 文档去取以(id)名的元素 量 codeDiv = 文档去取以("$id-code")名的元素 “当然也是记法,内联物+记法+扩物”…
写完突然感觉中文编程还真是有点不可言表的问题,没空格 只用「的」是不是反而使得它更难阅读?

不过我想加了代码高亮肯定可以解决

若取(它),回交(它)。否则,停下。 何况这一句真的是好看,洋文是写不出的
if predicate(it) yield(it) else break

……怎么莫名感觉好像没那么好?真的没那么好还是习惯问题呢?
还是说我技艺太浅,设计不出好的『中文编程语言』来?
duangsuse::Echo
https://github.com/program-in-chinese/overview/issues/11#issuecomment-570016356 #github #answer
为什么不试试以「中文」这个食材,煮盆「程序设计语言」的汤呢?我刚才说了,中文的语序是上下文如目标对象在前、关键描述在后。所以『中文编程』实际上是指『编程』,但它的前提是『以中文』;而不是『以编程』去倒贴『中文』。『中文编程』既要有『中文』更要有『编程』,只有比重视中文更重视编程的人,才有能力设计出好的『中文编程』语言。

中文它不是一种特性,而是对编程本身的描述手段,不应该说『为了让中文兼容某某语言特性』而怎么样,而是那些语言特性,必须变得适合中文,或者说被『削』的不是中文而是特性,这就要求设计者有相当的编程功底,以至于能够对每个『不合适』的特性有所斟酌取舍。

因为设计者本身是对特性最熟悉的人(甚至比其他使用的编程语言更熟悉) 我觉得这一点是非常有必要的,那个「甚至」我觉得对任何好一点的编程语言来说 都是最基本的要求,如果一个程序设计语言的设计者无法默写下它的文法,甚至只是不能以那门语言「实现」那门语言本身,那他也不配当那门语言的设计者、那语言也不是好语言。