返回排行榜
jank is the native Clojure dialect with seamless C++ interop.
functional-programmingcompilerclojurelanguagejitlispllvmcppprogramming-languagenative
关键指标
Star 增长趋势
Star
3.3k
Forks
125
周增长
—
Issues
78
1k2k3k
2015年5月2017年3月2019年1月2020年12月2022年10月2024年9月2026年7月
README
What is jank?
Most simply, jank is a Clojure dialect on LLVM with C++ interop. Less simply, jank is a general-purpose programming language which embraces the interactive, functional, value-oriented nature of Clojure and the desire for the native runtime and performance of C++. jank aims to be strongly compatible with Clojure. While Clojure's default host is the JVM and its interop is with Java, jank's host is LLVM and its interop is with C++.
jank is currently in alpha! Look here for details.
Docs
Read the jank book.
Appetizer
(ns my.app.filesystem
(:include "boost/filesystem.hpp")
(:refer-global :rename {boost.filesystem.file_size file-size}))
(defn file-info [file-path]
(try
(let [bytes (file-size (cpp/cast std.string file-path))]
{:path file-path
:size bytes})
(catch boost.filesystem.filesystem_error e
{:path file-path
:error (.what e)})))
(file-info "/etc/passwd")
; {:path "/etc/passwd", :size 4025}
(file-info "/root/.bash_history")
; {:path "/root/.bash_history"
; :error "boost::filesystem::file_size: Permission denied [system:13]: \"/root/.bash_history\""}
Sponsors
If you'd like your name, company, or logo here, you can sponsor this project for at least $25/m.
In the news
相关仓库
