JokerGo 编写的 Clojure 解释型方言

联合创作 · 2023-09-27 23:07

Joker 是一门使用 Go 编写的 Clojure 解释型方言,同时也是一个 Clojure(Script) linter。

Joker 代码示例

1. 在 Clojure 中编写脚本

2. 即时检查 Clojure(Script) 代码

特性

  • 拥有快速的启动时间
  • 提高明确的错误消息和堆栈跟踪
  • 支持发送 HTTP 请求、读取和解析 JSON、使用文件系统、启动外部进程等
  • 支持所有主流编辑器
  • 自动检查语法错误、函数数量不匹配、无法解析的符号、未使用的命名空间、变量、绑定等
  • ……

语法对比

Joker type Corresponding Go type
BigFloat big.Float (see below)
BigInt big.Int
Boolean bool
Char rune
Double float64
Int int
Keyword n/a
Nil n/a
Ratio big.Rat
Regex regexp.Regexp
String string
Symbol n/a
Time time.Time
Joker type Corresponding Clojure type
ArrayMap PersistentArrayMap
MapSet PersistentHashSet (or hypothetical PersistentArraySet, depending on which kind of underlying map is used)
HashMap PersistentHashMap
List PersistentList
Vector PersistentVector

安装

在 macOS 上,安装 Joker 最便捷的方法是使用 Homebrew:

brew install candid82/brew/joker

如果使用 Linuxbrew,可以在 Linux 上使用相同的命令。

如果使用 Arch Linux,提供了 AUR 包

如果使用 Nix,可以用下面的方式安装 Joker

nix-env -i joker

在其他平台上(或者希望手动安装),为对应的平台下载预编译的二进制文件并将其放在 PATH 中。

当然还可以从源代码构建 Joker。

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报