Janet-lang命令式/函数式编程语言与字节码解释器
Janet 是一个命令式与函数式编程语言,同时也是一个字节码解释器,它是一个现代的 Lisp,但是列表替换为其它数据结构,包括数组、表、结构与元组,具有更好的实用性和性能。
该语言还支持桥接到用 C 编写的原生代码、宏元编程和字节码汇编。
Janet 还提供了 REPL 环境,以及运行脚本文件的能力。Janet 客户端程序与核心运行时分开,因此可以嵌入到其它程序中。
具体特性:
- 精简
- 一级闭包
- GC
- 一级绿色线程
- Python 样式生成器(以普通宏的形式实现)
- 提供可变与不可变的数组,即 array 与 tuple
- 提供可变与不可变的哈希表,即 table 与 struct
- 提供可变与不可变的字符串,即 buffer 与 string
- Lisp 宏
- 带有汇编接口的字节码解释器,以及字节码校验
- 尾调用优化
- 通过抽象类型和 C 函数直接与 C 互操作
- 动态加载 C 库
- 函数式和命令式标准库
- Lexical 作用域
- 命令式与函数式编程
- REPL
- 解析表达式语法内置于核心库
- 核心库中有 300 多个函数和宏
- 可将 Janet 嵌入其它程序
- 具有详细堆栈跟踪的交互式环境
文献资料
评论
Haskell函数式编程语言
Haskell是一种纯函数式编程语言,它的命名源自美国数学家HaskellBrooksCurry,他在数学逻辑方面上的工作使得函数式编程语言有了广泛的基础。Haskell语言是1990年在编程语言Mi
Haskell函数式编程语言
0
Futhark函数式编程语言
Futhark是一个小型全新的函数式编程语言,可编译为高性能的GPU代码。使用静态类型、并行数据以及纯函数数组语言。该语言对编译器提前进行重度的优化,通过OpenCL生成GPU代码。Futhark并非
Futhark函数式编程语言
0
Whiley函数式编程语言
Whiley是一个轻量级面向对象和函数式编程语言,目标代码在Java虚拟机上执行。Whiley在编译时就可以排除很多错误,例如除0、数组越界和空引用等。示例代码:voidSystem::main([s
Whiley函数式编程语言
0