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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
之前说没有实际上实现的 ^ macro 设计实际上导致你不能这么写...
(while (> 10 (<-> i 0))
(|> (print i)
(type i)
(-> i (+ 1 i))))

而非要在 while 前面加 ^ ... 但是我懒
Forwarded from iVanilla 自然科学 & 神秘学实验研究部 (iVanilla)
今天果然是个不同寻常的日子
dse@susepc:~/AndroidStudioProjects/Lime/out/artifacts/Lime_jar$ java -jar Lime.jar 
100 0xFF 0b1010 011 true false null () 233N "字符串"
Lexing...
1:3 = 100
1:8 = 0xFF
1:15 = 0b1010
1:19 = 011
1:24 = true
1:30 = false
1:35 = null
1:37 = ()
1:40 = 2
1:45 = "字符串"
Parsing...

🌚 我真没抄 Lice 的词法... 不过区别也简直差不多只有 Lime 词法更严格(Number 必须以 delimiter 结尾)和不支持全角标点了
把全角和 latin 字符混在一起是很智障的做法....
字符串不支持逃逸字符,但是支持在源码中写成跨多行的形式。
是转义字符....
|> 我现在才发现比较类似啊... 我真的之前都不知道 Lice 里这是 run 的意思,可其实我打算定义一个意义完全一样的宏,叫 ~ sequence
还有函数别名 alias ,判断函数是否定义的 def? 函数等。
虽然 Lime 里没有啥我现在还不懂(只是没听说过)的 call-by-value call-by-need 啥的,我敢说 Lime 的元编程能力比 Lice 强 🌚
Lime 里所谓函数就是宏,也是普通的 Java 对象,我没打算把它特殊化,所以创建函数 (-> macro (# (foo bar) (print foo bar "baz"))) alias 只需要 (-> new_alias macro_name) , 是否定义就是一个变量是否定义的问题而已 (-? macro) 当然可以 undef (-x 'macro') 甚至可以把 “undef undef 掉” (^-x -x) (p.s. 没 ^ 自动前置宏支持感觉浑身难受....)
甚至还可以重新定义被 undef 掉的 undef (-> -x (# (name) (. undef name)))
🙈 Lime 本来体积只有 28k,只是用了一点 Kotlin 的东西,爆炸....
「涨这么大坠担心的就是体积问题...」
Lice-tiny 最新的是 124kb 🌚
准备蹭蹭 Android 的 Kotlin 东风
最新的 kotlinc 和 D8、Proguard
可惜 Google 膨胀起来自己建了源,jCenter 的没有了
膨胀 Google
没有众多开发商 Android 有人用
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
体积不错 #lime