jank-lang / jank

A Clojure dialect hosted on LLVM with native C++ interop

Home Page:https://jank-lang.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

clj-kondo support for native/raw

jeaye opened this issue · comments

jank has support for a new special form, called native/raw. It works in place of Clojure's interop syntax and allows for inline C++. But it also support interpolating jank expressions into that C++. Docs on the rationale and final solution are here: https://github.com/jank-lang/jank/blob/main/DESIGN.md#interop

Similar to #24, clj-kondo doesn't know about native/raw and so it causes linting failures. It also doesn't see that the vars referenced within the native/raw interpolations are referenced, so we often end up with unused param warnings which are incorrect. Addressing this will require changes to clj-kondo, which is all Clojure work, I think.