Fork me on GitHub
#introduce-yourself
<
2022-03-17
>
Jon Olick02:03:02

Hello Everyone! I’m an engineer working at Epic Games. I got interested in clojure when learning about using functional languages in combination with Transactional Memory. I was a bit turned off though by Java and the JVM (icky), so I instead started just implementing clojure from spec in C/C++. Currently here https://github.com/Zelex/jo_lisp. Its at present faster than the JVM version in some cases (which is pretty cool). Anyways, I have long term plans to push parallelism really far in this fork of clojure.

parens 7
👋 10
1
eggsyntax02:03:02

Welcome! What a cool project 🙂 If it’s anywhere near implementing all of clojure.core, I’d strongly suggest posting about it in the #announcements channel — I think lots of people will be interested. You might also find the https://github.com/babashka/babashka from @U04V15CAJ of interest. I don’t know how much you’ve looked into projects in the community, but interestingly, very few of them actually use Clojure’s STM — most people have found that Clojure’s atoms are already sufficient for their needs. Of course, the projects that do need STM really need it…

Jon Olick02:03:45

its got quite a lot, but some nooks and crannies I’m still working on.

👍 1
Jon Olick02:03:45

In any case, I’m really liking clojure in general. Super cool language!

eggsyntax03:03:55

Agreed! Very much my favorite out of 10 or so that I've used seriously. I've been specializing in it for around six years, and have no plans to switch until/unless something even better comes along 😄

borkdude08:03:47

@U036UA9LZSQ Sounds like a fun project! :) As eggsyntax mentioned, babashka is a Clojure interpreter compiled to native using graalvm native-image. Actually the interpreter library is called SCI: https://github.com/babashka/sci It's also possible to compile SCI as a shared library and call that from c/c++/Rust, etc: https://github.com/babashka/sci/blob/master/doc/libsci.md

borkdude08:03:22

Another interesting project to look at may be https://github.com/IGJoshua/coffi which used project Panama to interop with native libraries.

borkdude08:03:39

Those projects probably aren't going to help you with jo_lisp, just wanted to mention them in case.