Ni 是基于 Smalltalk,使用 Nim 编写的编程语言,同时也参考了 REBOL, Forth, Lisp, self 和 Nim 语言的特性。Ni 有点特别,但不是学术性的,而是非常有用的一门语言。

Smalltalk 主要特性:

  • 闭包和非本地返回控制结构

  • 集合简单和快速操作

  • 易读的关键字语法,所有都是表达式

Ni 语言现在已经实现了一些基础的特性,比如闭包和非本地返回。

Ni 包含两个模块:解析器 (500 loc) 和解释器(750 loc)。解析器生成 AST,也是 Ni 内部数据的展示。解释器解析 AST。Ni 使用 Nim 编写,所以可以在任意支持 C 的基础平台上运行。

Ni 相当于一个 Nim 的 AST 解析器 Rebol-ish 语言实现。

代码示例:

block = [1 2 3]
# Lets loop over it manually using the Internal position
block reset # Set position back to 0
[block end?] # We call an infix Function called "end?" with block as argument
      whileFalse: # We call an infix function called "whileFalse:" taking two blocks
  [Echo (block next)] # We call an infix function called "next" to get next element and echo it

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  服务