日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Joker:Go編寫的Clojure解釋型方言

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

創(chuàng)新互聯(lián)建站提供高防物理服務器租用、云服務器、香港服務器、服務器托管德陽

Joker 代碼示例

1. 在 Clojure 中編寫腳本

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

特性

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

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

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

Joker 也羅列了兩個不關注的目標:

  • 性能。作者表示,如果使用者注重性能,請直接使用 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 

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

當然還可以從源代碼構建 Joker。

本文轉自OSCHINA

本文標題:Joker:Go 編寫的 Clojure 解釋型方言

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


本文標題:Joker:Go編寫的Clojure解釋型方言
轉載來源:http://m.5511xx.com/article/cdddjco.html