Tech News
← Back to articles

Jank Lang Hit Alpha

read original related products more articles

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

; Comments begin with a ; ( println " meow " ) ; => nil ; All built-in data structures are persistent and immutable. ( def george { :name " George Clooney " }) ; => #'user/george ; Though all data is immutable by default, side effects are adhoc. ( defn say-hi [who] ( println ( str " Hi " ( :name who) " ! " )) ( assoc who :greeted? true )) ; Doesn't change george. ( say-hi george) ; => {:name "George Clooney" ; :greeted? true} ; Many core functions for working with immutable data. ( apply + ( distinct [ 12 8 12 16 8 6 ])) ; => 42 ; Interop with C++ can happen *seamlessly*. ( defn sleep [ms] ( let [duration ( cpp/std.chrono.milliseconds ms)] ( cpp/std.this_thread.sleep_for duration)))

Sponsors

If you'd like your name, company, or logo here, you can sponsor this project for at least $25/m.

Misha Karpenko

... continue reading