自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Joker:Go 編寫的 Clojure 解釋型方言

開發(fā) 后端
此 Joker 非彼 Joker,本文將要介紹的 Joker 是一門使用 Go 編寫的 Clojure 解釋型方言,同時也是一個 Clojure(Script) linter。

此 Joker 非彼 Joker,本文將要介紹的 Joker 是一門使用 Go 編寫的 Clojure 解釋型方言,同時也是一個 Clojure(Script) linter。

Joker 代碼示例

1. 在 Clojure 中編寫腳本

2. 即時檢查 Clojure(Script) 代碼

特性

  • 擁有快速的啟動時間
  • 提高明確的錯誤消息和堆棧跟蹤
  • 支持發(fā)送 HTTP 請求、讀取和解析 JSON、使用文件系統(tǒng)、啟動外部進程等
  • 支持所有主流編輯器
  • 自動檢查語法錯誤、函數(shù)數(shù)量不匹配、無法解析的符號、未使用的命名空間、變量、綁定等
  • ……

根據(jù)文檔的說明,Joker 的目標(biāo)包括:

  • 適用于編寫腳本(并且具備輕量級、快速啟動的特性)。作者表示這是 Clojure 不擅長的事情,也是他試圖解決的個人問題。
  • 對用戶友好。反饋良好的錯誤消息和堆棧跟蹤對于程序員的幸福和生產(chǎn)力絕對至關(guān)重要。
  • 為 Clojure 及其方言提供一些工具。Joker 具有 linter 模式,可用于對 Joker、Clojure 和 ClojureScript 代碼進行 linting,它會捕獲一些基本錯誤。Joker 還可以對 Clojure 代碼進行格式化(查看 format mode)或提供 EDN 數(shù)據(jù)結(jié)構(gòu)。例如,以下命令可用于漂亮地打印 EDN 數(shù)據(jù)結(jié)構(gòu)(從標(biāo)準(zhǔn)輸入讀取):
  1. joker --hashmap-threshold -1 -e "(pprint (read))" 
  • 盡可能地(在語法和語義上)接近 Clojure。Joker 應(yīng)該真正成為 Clojure 的方言,而不是受 Clojure 啟發(fā)的語言。也就是說,Clo​​jure 的許多特性是 Joker 沒有也永遠不會擁有的。但 Joker 會具備與 Clojure 接近但只適用于自身的特性。

Joker 也羅列了兩個不關(guān)注的目標(biāo):

  • 性能。作者表示,如果使用者注重性能,請直接使用 Clojure,因為 Joker 只是解釋器的一個簡單實現(xiàn),他沒打算把優(yōu)先級放在提升性能上。
  • 擁有所有 Clojure 特性。作者表示,由于使用了不同的宿主語言(Go 與 Java),Clojure 的某些特性無法在 Joker 實現(xiàn)。至于其他特性,他認為對于他想到的 Joker 使用場景來說并不重要。

語法對比 

安裝

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

  1. brew install candid82/brew/joker 
  • 如果使用 Linuxbrew,可以在 Linux 上使用相同的命令。
  • 如果使用 Arch Linux,提供了 AUR 包。
  • 如果使用 Nix,可以用下面的方式安裝 Joker
  1. nix-env -i joker 

在其他平臺上(或者希望手動安裝),為對應(yīng)的平臺下載預(yù)編譯的二進制文件并將其放在 PATH 中。

當(dāng)然還可以從源代碼構(gòu)建 Joker。

本文轉(zhuǎn)自O(shè)SCHINA

本文標(biāo)題:Joker:Go 編寫的 Clojure 解釋型方言

本文地址:https://www.oschina.net/news/158495/joker-lang

 

責(zé)任編輯:未麗燕 來源: 開源中國
相關(guān)推薦

2021-09-29 18:17:30

Go泛型語言

2024-11-26 11:39:29

2023-11-08 13:17:00

Python解釋型語言

2009-07-14 15:20:25

Jython腳本Jython解釋器

2023-11-29 08:19:45

Go泛型缺陷

2023-05-15 08:51:46

解釋器模式定義

2023-12-13 08:47:13

編程語言編譯型解釋型

2009-06-24 07:59:49

Hibernate方言

2023-10-06 23:31:25

可視化Go

2024-10-28 00:40:49

Go語法版本

2021-01-04 10:47:53

網(wǎng)絡(luò)犯罪攻擊網(wǎng)絡(luò)釣魚

2014-05-23 10:25:48

Clojure

2023-09-15 11:32:18

selectGo可視化解釋

2019-01-02 13:11:53

GO語言緩存

2021-11-27 22:20:13

SlicesGo泛型

2022-03-28 13:34:26

Go泛型部署泛型

2023-11-03 14:02:04

Go切片泛型庫

2009-06-24 07:58:52

Hibernate多數(shù)

2022-09-19 11:42:21

Go優(yōu)化CPU

2021-03-01 15:55:17

Go惡意軟件勒索軟件
點贊
收藏

51CTO技術(shù)棧公眾號