Janet-lang - 命令式/函数式编程语言与字节码解释器


MIT
跨平台
C/C++

软件简介

Janet 是一个命令式与函数式编程语言,同时也是一个字节码解释器,它是一个现代的
Lisp,但是列表替换为其它数据结构,包括数组、表、结构与元组,具有更好的实用性和性能。

该语言还支持桥接到用 C 编写的原生代码、宏元编程和字节码汇编。

Janet 还提供了 REPL 环境,以及运行脚本文件的能力。Janet 客户端程序与核心运行时分开,因此可以嵌入到其它程序中。

具体特性:

  • 精简
  • 一级闭包
  • GC
  • 一级绿色线程
  • Python 样式生成器(以普通宏的形式实现)
  • 提供可变与不可变的数组,即 array 与 tuple
  • 提供可变与不可变的哈希表,即 table 与 struct
  • 提供可变与不可变的字符串,即 buffer 与 string
  • Lisp 宏
  • 带有汇编接口的字节码解释器,以及字节码校验
  • 尾调用优化
  • 通过抽象类型和 C 函数直接与 C 互操作
  • 动态加载 C 库
  • 函数式和命令式标准库
  • Lexical 作用域
  • 命令式与函数式编程
  • REPL
  • 解析表达式语法内置于核心库
  • 核心库中有 300 多个函数和宏
  • 可将 Janet 嵌入其它程序
  • 具有详细堆栈跟踪的交互式环境