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

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

MIT
C/C++ 查看源码»
跨平台
2019-05-10
h4cd

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

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

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

具体特性:

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

评论(0)

暂无评论

Janet 0.5.0 发布,改进的现代 Lisp

Janet 0.5.0 发布了,此版本带来动态范围和一些调试工具的改进。 Janet 是一个命令式与函数式编程语言,同时也是一个字节码解释器,它是一个现代的 Lisp,但是列表替换为其它数据结构,包括数...

05/12 08:00

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

ecshop中调用语言切换,实现多国语言

ecshop还是很强大的,稍微改动一下,国际化和繁体的都出来的哦

2014/08/04 16:50
59
0
NO.168 如何做禅道二次开发(4):如何登记菜单

扩展禅道遇到的一个问题就是如何将自己增加的功能登记到菜单中,本篇文章来讲述如何来实现这个功能。 一、菜单的组成 禅道的导航菜单分为三个部分,顶部菜单、模块菜单、功能菜单。 二、菜单...

2016/09/14 15:29
67
0
Groovy在Spring中的简单使用

东西比较新颖,共享之

2016/01/26 20:20
245
1
Java 数据类型和 MySql 数据类型对应一览表

MySQL Connector/J 对于 MySql 数据类型和 Java 数据类型之间的转换是很灵活的。 一般来讲,任何 MySql 数据类型都可以被转换为一个 java.lang.String,任何 MySql 数字类型都可以被转换为任...

2016/05/08 17:43
19
2
linux中oralce的乱码问题

查看数据库字符集 SQL> select userenv('language') from dual; USERENV('LANGUAGE') ---------------------------------------------------- SIMPLIFIED CHINESE_CHINA.AL32UTF8 SQL> 编辑l...

2018/11/16 15:12
10
0
eclipse启动失败

这几天出现eclipse启动失败的问题,但是多重启几次又好了 然后,今天一直都不能正常启动,最后修改eclipse安装目录下的eclipse.ini文件: -Xms40m,改成-Xms128m就可以正常启动了!!! 参考...

2014/07/19 15:52
177
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部