原子
变量必须以大写开头,是 Juju 而不是 juju
控制体
没有 for 循环
一切靠递归
函数
在满足条件下自带尾递归优化,函数结尾要写句号
二进制速位匹配
<<4:4, 5:4, ToS:8, ToL:16, Id:16, Flags:3, FlagOffset:13, TTL:8, 6:8, Checksum:16, SrcIP:32, DstIP:32, Payload/binary>> = X.
% 一行怒解 tcp packet
全称:开放性电信平台,真正的企业级别的通讯相关的库,超过 20 年历史,具备各类功能,例如热插拔,容错机制,数据库,etc
Scala:想解决Java表达能力不足的问题
Groovy:想解决Java语法过于冗长的问题
Clojure:想解决Java没有函数式编程的问题
Kotlin:想解决Java
Scala具有可用于非研究型语言之上最高级的类型系统之一,当然也是运行在在JVM之上最高级的类型系统。它在没有破坏面向对象的前提下,还结合了许多函数式语言的概念和特征,但是它对函数式语言特征的折衷,使其损失了一些函数式语言的狂热者。
Lua is an elegant, easy-to-learn language with a mostly procedural syntax, featuring automatic memory management, full lexical scoping, closures, iterators, coroutines, proper tail calls, and extremely practical data-handling using associative arrays.
目前来看,Lisp 可以被认为是高级动态语言功能的「全集」,其它语言都或多或少有所裁减。Lua 只裁减了两个功能:宏和 Full-continuation。另一方面,Lua 提供了非常强也非常快的 load,也不能说没有 code-as-data。Lua 没有 full-continuation,不过实现了 coroutine 可以认为是 one-shot semi-continuation。注意不是所有的号称 coroutine 的机制都能叫做 one-shot semi-continuation。Lua 实现的是 full asymmetric coroutine