#PL 🌚 我们只听说过 COBOL/SNBOL/SmallTalk 和 Ada/Fortran 什么的,我是只知道 Lua 和 Sol
Forwarded from dnaugsuz
表达式就不执行了么,Kotlin 的面向对象是基于过程式编程的,如果你
但是 Java 的
if (println("wtf") == Unit) 它会不执行么但是 Java 的
PrintStream.println 是 void () ,不能这么写,但这不代表不会执行。Forwarded from dnaugsuz
求值和执行的区别在于,执行是可能包含副作用的求值,它是求值的超集
任何不以产生返回值为目的的动作,都是副作用
要谈局部(local) 这个词,就要有一种 nonlocal 的存在,比如是全局的(不变量、变量……)
像 IO 这种操作是副作用,但副作用本身不止意味外部状态变量是否 mutate 了,也可以是各种…… 反正最终的一个侧面是,无副作用的东西“执行”和“没执行”,内部是分不出区别的。
Forwarded from dnaugsuz
怎么是魔法,基本 add, sub, mul, div 的补码运算是魔法,但二进制不是魔法,好比 shift left 把每一位二进制都映射到它的下一位,所以
x<<n = x**(2*n) (比如 x<<1 = x**2)一样Forwarded from 不存在的世界
prefix, metavar, nargs, type, default, help 🤔 梳理了 argparse add_argument 的顺序