jank-lang/jank

C++jank-lang.org

jank is the native Clojure dialect with seamless C++ interop.

functional-programmingcompilerclojurelanguagejitlispllvmcppprogramming-languagenative
スター成長
スター
3.3k
フォーク
130
週間成長
+5
Issue
61
1k2k3k
2015年5月2019年2月2022年11月2026年8月
README
jank banner

CI

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.


Bert Muthalaly

modulr-software

multiply.co

keychera

Colin Woodbury

pete23

Arik Rahman

In the news

関連リポジトリ
MostlyAdequate/mostly-adequate-guide

Mostly adequate guide to FP (in javascript)

JavaScriptnpmtutorialOtherjavascriptfunctional-programming
23.8k1.9k
lichess-org/lila

♞ lichess.org: the forever free, adless and open source chess server ♞

ScalaGNU Affero General Public License v3.0scalachess
lichess.org
18.7k2.8k
hemanth/functional-programming-jargon

Jargon from the functional programming world in simple terms!

tutorialMIT Licensefunctional-programmingfp
git.io/fp-jargons
18.6k996
NixOS/nix

Nix, the purely functional package manager

C++GNU Lesser General Public License v2.1nixfunctional-programming
nixos.org
17.7k2k
getify/Functional-Light-JS

Pragmatic, balanced FP in JavaScript. @FLJSBook on twitter.

JavaScriptnpmtutorialOtherbookjavascript
fljsbook.com
16.7k1.9k
scala/scala

Scala 2 compiler and standard library. Scala 2 bugs at https://github.com/scala/bug; Scala 3 at https://github.com/scala/scala3

ScalaApache License 2.0scalascala-compiler
scala-lang.org
14.6k3.2k
hmemcpy/milewski-ctfp-pdf

Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source

TeXtutorialOtherhaskellcategory-theory
bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
11.7k643
gcanti/fp-ts

Functional programming in TypeScript

TypeScriptnpmlibraryMIT Licensetypescriptfunctional-programming
gcanti.github.io/fp-ts/
11.5k510
DeathKing/Learning-SICP

MIT视频公开课《计算机程序的构造和解释》中文化项目及课程学习资料搜集。

RubyRubyGemstutorialsicpscheme
learningsicp.github.io
11.3k1.5k
cyclejs/cyclejs

A functional and reactive JavaScript framework for predictable code

TypeScriptnpmlibraryMIT Licenseframeworkjavascript
cycle.js.org
10.2k422
kickstarter/ios-oss

Kickstarter for iOS. Bring new ideas to life, anywhere.

SwiftApache License 2.0reactivecocoareactiveswift
kickstarter.com/mobile
8.7k1.2k
supermacro/neverthrow

Type-Safe Errors for JS & TypeScript

TypeScriptnpmlibraryMIT Licensefunctional-programmingtypescript
7.7k152