This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-03-31
Channels
- # announcements (4)
- # aws (1)
- # babashka (52)
- # beginners (178)
- # boot (4)
- # cider (2)
- # clj-kondo (10)
- # cljs-dev (39)
- # clojure (744)
- # clojure-europe (12)
- # clojure-germany (6)
- # clojure-india (56)
- # clojure-italy (5)
- # clojure-nl (60)
- # clojure-spec (9)
- # clojure-sweden (14)
- # clojure-uk (36)
- # clojuredesign-podcast (6)
- # clojurescript (11)
- # community-development (5)
- # core-async (4)
- # data-science (6)
- # datomic (6)
- # emacs (7)
- # events (4)
- # exercism (33)
- # fulcro (11)
- # funimage (2)
- # graalvm (29)
- # java (1)
- # joker (3)
- # lambdaisland (15)
- # malli (2)
- # meander (55)
- # mid-cities-meetup (1)
- # nrepl (8)
- # observability (4)
- # off-topic (2)
- # pathom (5)
- # re-frame (31)
- # shadow-cljs (73)
- # spacemacs (18)
- # sql (27)
- # test-check (14)
- # testing (1)
- # tools-deps (5)
- # xtdb (13)
mogguh. Thuiswerken 1986 edition: https://www.youtube.com/watch?v=1BRdXm4CIh8
Could you also use https://github.com/gluonhq/substrate to compile to a native executable?
> It uses the https://www.graalvm.org/ GraalVM native-image tool to compile the required Java bytecode into code that can be executed on the target system
the people in the thread are really digging into it, and the author is responding to everything
btw I see you're dabbling with Rust, I've also started doing that, quite fun (https://github.com/borkdude/analyze-reify)
It's a sideproject that I don't have a lot of time for, and everytime I took a break (from the cljs code) it took me very long to get back into it. Thought I'd try elm, can't say much yet because I've been going at it for only two weeks
I've built up a significant amount of technical debt in two weeks, so soon we will see the 'power' of refactoring in elm
Elm is cool, imo, but it feels a bit boilerplatey compared to CLJS. Also the JS interop is a bit tedious. But you get more safety in return. Trade offs 🙂
I recently listened to a podcast where someone discussed ReasonML vs Elm. ReasonML is general purpose, whereas Elm is really written for one thing: web apps. But the JS interop in ReasonML is a bit more pragmatic (less safe, arguably).
yeah there is a ton of boilerplate, and the elm guy hates cookies which is making some authentication stuff kind of hairy
I worked with Elm at my previous job. It's nice how it catches pretty much every exception. But the biggest hurdles are re-usability and interop (like @borkdude said). One thing I really dislike about Elm is that it's just a "bad" Haskell for the frontend. After Elm I tried Clojure and was very happy 🙂
@nmdrenard are you still doing Haskell with michel rijnders?
during the day I'm writing Java again, but I'm still writing a lot of haskell in my free-time
@nmdrenard another rust experiment (+ clojure all combined into one native binary): https://github.com/borkdude/clojure-rust-graalvm-native
Imagine you have a Clojure JVM program, but you want to call a Rust library. Do you get that part?
This goes one step further: it compiles that entire JVM program into an executable, including the Rust part
sorry, I meant this link: https://github.com/borkdude/clojure-rust-graalvm/blob/master/clojure/src-java/borkdude/clojure/rust/ClojureRust.java
@nmdrenard To close off, another Rust experiment. Calling a Clojure interpreter (not compiler) as native library, from Rust: https://github.com/borkdude/sci/blob/master/doc/libsci.md#using-libsci-from-rust
tl;dr, this is how the invocation of the Rust program looks like:
$ libsci/target/from-rust "(require '[cheshire.core :as json]) (json/generate-string (range 10))"
[0,1,2,3,4,5,6,7,8,9]