【固定这几个,其他运算符不可重载】 这个模式不支持class (即使nvlang的受限class(只允许ctor getter setter)也不支持),因为没有必要,因为全部数据都是一个类型,要class干嘛. 不支持new 2. 函数 async await 均支持。 promise 需要使用 nvlang的 reflect promise: prms p = creat_prms(); rs(p) rj(p) p...
(依賴2個庫 nvcsp(是個樹 ) 和 一個 矩陣庫(底層依賴)。這兩個結合實現了graph.) nvlang的虛擬機原理非常粗暴(我保證你沒見過這麽粗暴的實現): 稍微介紹下歷史: 3.1: 大概5-6年前(那時的nvlang 主體是python),我就加了個實現更粗暴的: 我是直接用 文件夾 和 txt 實現的: cd | mkdir |touch| rm ...
完整nvlang语法支持还是: 0.要么以repl 解释模式运行在nodejs之上, 1.要么走编译,编译成c 和少量 c++stl/template 】 0. 现在class 不允许被使用在绑定层 (意味着class 关键字只会出现在 实现层 和 第三方库里) struct 关键字变成了 nvstruct//参看4 现在绑定层 不允许使用 std::pair 和 std::tuple//参...
nvlang 中 一個 Orb 可以 接受 (入向)來自多個Orb的 航路 (連綫) Orb0 <- Orb1 Orb0 <- Orb2 Orb0 <- Orb3 好了以上,就是整個nvlang的 世界 景象: nvlang 只有連綫(航路) 和 空心球(Orb) nvlang 中每個 【空心球(Orb)】携帶的【數據(data)】 都是 來自 異世界 的 生物: 包括 原始量 (類...
现在的版本 nvlang 的class 其实是 c++ 里的 pod struct 2. 增加了一个语法,只对编译期有效 class Klass[10] {} 【 最大10个slot,类型不限,没有限制的类型会退化成 tree】 class Klass[u8 16, u64 2, u32, S29, double 4] {} 【 16 个 uint8_t ...
TIPS: nvlang 《和》 中文书名号 没有任何语义,相当于空字符 所以可以: func give(me)apple {...} 可以写作 func give(me)《apple》 {...} 用来强调宾语 编译时 《和》 会被置换为 空字符串, 但是 被包裹的部分 在语法树的附属显示树上会有个属性标记display_emphasis,只会影响 repl...
#summon a 【相当于 JS 里的 let a】 #summon a b c 【 相当于 JS 里的 let a, b ,c; 】 如果设置了 permit_multiline_summon , 那么可以换行 需要用 <...> #summon < a b c > 【 permit_multiline_summon 对运行期没有任何影响,只是在设置为 false 的情况下 , nvlang 会选择一个简化实现...
nvlang 的大部分语法都相当无脑,唯独 【赋值】这个操作比较复杂(写法倒是统一的),主要原因是 nvlang 的变量(Orb)的处理和大多数语言不一样。 所以 关于 【赋值】,准备分成几个部分介绍: 与原始值(#t,#f,#nu,#un,数字,字符串)相关的【赋值】机制比较简单,所以先从他们说起: ...
前面説了 nvlang 是 topology first-class 的語言,這是nvlang的核心。 nvlang 還有一個特徵: 盡可能的使用 SVO 語序 ( 符合咱中國人習慣, 也符合大多數現代英語(現代英語在很多結構上其實和現代漢語差異不大) ) 比如你可以這樣聲明變量: Isummon; | 朕...
DT2024-03-16_05:00:00.123Z+0800 现在 整数数字字面量 可以有下列后缀之一: y, m, 年月 d h,min,s 时分秒 ms 毫秒 d, h,min,s,ms支持 加减乘除(整数除)余 比如2h2 就是 1000 X 3600 X 2 X 2 一律按照 毫秒计算 === DT 和 y 年m月只支持 加减法 DT2024...