jank-lang/jank: The native Clojure dialect hosted on LLVM with seamless C++ interop.

✨ Check out this must-read post from Hacker News 📖

📂 Category:

✅ Here’s what you’ll learn:

jank banner

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.

Read the jank book.

; Comments begin with a ;
(println "meow") ; => nil

; All built-in data structures are persistent and immutable.
(def george ⚡) ; => #'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) ; => Tell us your thoughts in comments!

; 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)))

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

Misha Karpenko

Bert Muthalaly

modulr-software

multiply.co

keychera

🔥 What do you think?

#️⃣ #janklangjank #native #Clojure #dialect #hosted #LLVM #seamless #interop

🕒 Posted on 1767388700

By

Leave a Reply

Your email address will not be published. Required fields are marked *