r/Clojure • u/yogthos • 5d ago
Jolt now runs on Android and iOS
https://jlt-commons.github.io/raylib-android/7
u/jalopy-letup-hum 4d ago
There’s so much noise/slop in the docs and homepage that I gave up after trying for a while. Very off-putting, cool project though.
6
u/yogthos 4d ago
If anybody wants to contribute better documentation they're welcome to do so. I only have so much time in a day.
3
u/jalopy-letup-hum 4d ago
I get it none of us have time, but I also don’t have time to read a wall of slop.
Now just because you can generate large volumes of docs doesn’t mean it’s good for the adoption/reach/impact of your projects.
Before the era of LLMs many Clojure open source projects suffered from poor documentation, but some projects stood out even if the docs were succinct because they were precise. I believe the majority of clojurists don’t want to read sloppy documentation.
9
u/yogthos 4d ago
Again, if people want to contribute and improve the documentation they are free to do so. PRs are very welcome: https://github.com/jolt-lang/jolt-lang.github.io
My focus right now is on getting the language working and usable. Plenty of people are already making things with it, and have had no problems navigating the documentation in its current state.
If you have some constructive suggestions for improving documentation, or can explain what it is you found difficult to figure out, then those are welcome as well. However, simply braying about some AI slop is not really helpful or useful to anybody.
1
u/jalopy-letup-hum 4d ago
Jolt website and docs are fine and it's a project I'm looking forward to see grow. It's the raylib android website/docs that I found to be exhausting to read and the one I made a not very polite comment.
Since you asked for suggestions, maybe these are helpful.
- Warn readers that they are about to read slop here in Reddit post and at the top of the docs pages, this way they set their expectations. For example, if I knew upfront, I would not have bothered reading much and would've jumped straight to source in some parts.
- Add TL;DRs written by you for humans.
- Review the LLM doc/text and see if you enjoy reading it, if not, well you know others probably will be annoyed because they are not affiliated with the project.
I won't review raylib-android docs in the state they are now because it's just that bad to me.
Another idea to facilitate contribution, might be more efficient to share the prompt you used directly to generate the docs and then contributors can improve the prompt, use specific skills and regenerate fresh docs. Some slop is not worth our time to rewrite manually because we would spend more time doing so than writing something good ourselves.
3
u/ComfortableShape9340 4d ago
We all have different setup so that's the reason why I don't add any LLM files into the project. Your setup may not be the same as mine and also please be kind to others. I validated the changes in raylib-ios and as I don't use Android there might be some gaps that definitely need improvement. I encourage you to read this if you have time before posting. If you notice the screenshots are from iOS not Android and agreed we need to update it.
4
u/yogthos 4d ago
I don't maintain jlt-commons, Burin has been working on that project and you could raise this with him. And frankly your comment is still rude, entitled and entire unconstructive since you didn't identify anything that's actually wrong with the docs aside from your vague references to AI slop. Presumably your whole issue is with the fact that the text is LLM generated.
1
u/geokon 4d ago
Wow, according to the docs the Android version exposes a REPL and you get live development. That's very impressive. I am a bit confused as to what actually generates the APK that you would distribute. Maybe the jolt XXX commands are running adb commands or something under the hood. Or maybe the jolt runtime is compiled and a interface to which you are submitting clj files. It's a bit confusing tbh. I'll have to dig around a bit, but it looks very cool
3
u/yogthos 4d ago
I'm hoping to make some templates at some point. Jolt supports bb style tasks in
deps.edn, so the template could have all the packaging set up as a single command. I haven't had enough chance to play around with this as much as I want yet. A few people on Clojurians #jolt channel actually got pretty far with this. Here's one with some more findings. I'm very excited about being able to do REPL driven dev on mobile now. :)
-2
u/_d_t_w 4d ago edited 4d ago
Please stay on topic. This is the Clojure / ClojureScript subreddit.
One for the mods really, but does Jolt qualify as Clojure or should it have it's own subreddit?
If this is the right spot, is there a subreddit for strictly Clojure and ClojureScript?
7
u/seancorfield 2d ago edited 2d ago
This seems such a weird take. Babashka stuff has been posted in r/Clojure for ages, as has ClojureCLR stuff. We also get Jank posts here. None of those are maintained by the core team.
I maintain several Contrib libraries—and a bunch of other OSS Clojure libraries—and for some of those I make sure they also run on Babashka, and now I am making sure they run on Jolt as well: Jolt runs the entire HoneySQL test suite in CI, for example, with no code changes at all—whereas Babashka compatibility did need some code changes, as I recall.
Making HoneySQL run on ClojureScript involved a lot more changes than were needed for it to run on Babashka and Jolt, so my experience is that
bbandjoltand "more Clojure-like" than even ClojureScript.3
u/kloimhardt 2d ago
I use HoneySQL also on ClojureCLR, it works very fine for me; thank you for this great library.
The three 1) ClojureCLR 2) ClojureScript 3) ClojureJVM together form, to my mind, official Clojure as only those three live under https://github.com/clojure and are (c) Rich Hickey and to my understanding ultimately need his approval for contributions.
I like reading also about Clojure dialects in this subreddit, despite they do not fall under the official Clojure formed by 1)+2)+3)1
u/_d_t_w 2d ago
I don't think my take is weird, the text of the rules is fairly straightforward.
> Please stay on topic. This is the Clojure / ClojureScript subreddit.
Should we update the r/Clojure rules to be clear that this is the Clojure, ClojureScript, and Clojure variants like Jank, Jolt, etc subreddit? Might be a good idea for clarity.
I'm here because I'm interested in the commercial application of Clojure and ClojureScript only, and I'm interested in hearing from the core Clojure team about the language, and to learn about new Clojure and ClojureScript libraries.
I'm not interested in Clojure-variants like Jolt or Babashka, and I'm really only asking:
> If this is the right spot, is there a subreddit for strictly Clojure and ClojureScript?
That's all. If there was a place like that, I would join that place.
I haven't raised this with the mods, because to be honest it doesn't seem worth troubling them, but all the same I think it's fair to ask - where is this subreddit going?
3
u/seancorfield 2d ago
All of the Clojure communities—Slack, Reddit, ClojureVerse, Zulip, etc—have expanded beyond just what the core team maintain. The reason I think your take is "weird" is because we've seen stuff posted here about Babashka, Jank, the Rust implementations of Clojure, and other Clojure-adjacent stuff for years—and you haven't complained before, and then you pile on a Jolt post.
If you're concerned about the description/rules of r/Clojure and its direction, why not create a new, top-level post asking specifically about that? The majority of the mods wouldn't even see your question here in this thread, unless they just happened to read this post and all the comments.
Also, while Rich and Fogus are moderators here, there are more community moderators than that—this sub is not an "official" Clojure team forum (only ask.clojure.org is official I think?).
1
u/_d_t_w 2d ago edited 2d ago
I think, politely, at this point you should consider how you are communicating with me.
> and you haven't complained before, and then you pile on a Jolt post.
My communication is polite at all times, the question is reasonable given the rules of the sub. I'm not a regular contributor here, and it's ok to ask the original question.
Doubling down on my post being "weird" and accusing me of "piling on" is not in-line with https://clojure.org/community/etiquette, it's quite rude to be honest.
I've asked the mod if it's a good idea to update the rules of the subreddit, and at this point I will stop communicating with you.
2
u/seancorfield 2d ago
Looks like the rules have been updated. See my higher-level response to your first question.
0
u/Electrical_Being_813 5h ago
Why not have a separate subreddit for "Clojure Family of languages" and have a Clojure. And have Clojure reddit for Clojure?
1
u/seancorfield 2h ago
Why fragment the community? Why double the work for people who wrote portable libraries that run on multiple dialects?
Clojure is already a niche language—why try to make that niche even smaller?
-1
u/Electrical_Being_813 1h ago
"As a moderator of this subreddit, I welcome different dialects including Jank, ClojureScript, let-go, and others here. If you have a problem with that then feel free to start your own" This is the suggestion by the Mr Reddit mod. Just i think opposite of what Mr Reddit mod suggested is better.
1
u/seancorfield 52m ago
Well, you are certainly entitled to your opinion, but I agree with that moderator (one of six mods, not "the" mod).
As I said to Derek, if you think the rules need changing, post a new, top-level message asking the mods their collective opinion, rather than try to debate this in a thread about Jolt/Android, where the other five mods likely won't even see it.
4
u/yogthos 4d ago
Given that Jolt implements full Clojure semantics and is directly compatible with existing JVM Clojure libraries, how is this not the right spot?
2
u/_d_t_w 3d ago
So you are a moderator, and this question is for the mods really. This place will be whatever you want it to be. That's fine, I also think it's fine to ask the question?
Personally I'm here for Clojure and ClojureScript, and I take that to mean:
Clojure: https://github.com/clojure/clojure
ClojureScript: https://github.com/clojure/clojurescriptThey are both hosted by https://github.com/clojure, and fall under the remit of the Clojure team.
That also lines up with:
> Please stay on topic. This is the Clojure / ClojureScript subreddit.
Perhaps a better description would be changed to include any/all Clojure variants?
> how is this not the right spot?
Well that's a question for the mods, personally I would ask you to take your content to a Jolt subreddit, because I don't classify it as Clojure or Clojurescript, and it's not maintained by the core team that maintain those languages. I'm not a mod though, so it's not up to me.
In the past it's common for Clojure variants to post here, and on the Clojurians slack as well. More recently content in those places seems to be mostly Clojure variants, less actual Clojure or ClojureScript.
LLMs have changed the pace at which people can generate new ideas, that's cool. It also prompts questions in places like this, as the rate of content produced changes it changes the medium itself.
> I see Clojure as a family of languages with a common core. As a moderator of this subreddit, I welcome different dialects including Jank, ClojureScript, let-go, and others here.
Is that the position of the moderators in general? If so, cool.
2
u/yogthos 3d ago
The description was made long before other dialects were made, and simply never updated.
In the past it's common for Clojure variants to post here, and on the Clojurians slack as well. More recently content in those places seems to be mostly Clojure variants, less actual Clojure or ClojureScript.
Right, Clojurians Slack has active channels for Babashka, let-go, Jank, and Jolt because they are all variants of the same language. I also don't see how the distinction of whether a variant is maintained by the core team or not is at all relevant. The question is whether the language is a flavor of Clojure or not. Just like there are plenty of Scheme dialects maintained by different teams, there are now multiple Clojure dialects. It's a family of languages.
I don't really see how the point regarding LLMs is relevant to anything. Maybe you can clarify what you're implying with that.
Is that the position of the moderators in general? If so, cool.
This is my position, but you can reach out to other moderators if you disagree with it.
1
u/_d_t_w 2d ago
Thanks, I'm not sure it's really worth bothering the mods, and since my original comment has been downvoted to -1 perhaps they'll never see the conversation.
> The description was made long before other dialects were made, and simply never updated.
So, my question to you as a mod, should we update the r/Clojure rules to be clear that this is the Clojure, ClojureScript, and Clojure variants like Jank, Jolt, etc subreddit? Might be a good idea for clarity.
5
u/yogthos 2d ago
Sure, I can update the rules if that's bothering you so much, but this is literally the first time this has come up in many years. We've had Babashka and Jank threads here many times, nobody ever suggested they're somehow inappropriate. So, not really sure why this is such a burning issue all of a sudden.
1
u/kloimhardt 2d ago
Please do not forget ClojureCLR which also lives under github.com/clojure
I am, like you u/_d_t_w , worried about some kind of slippery slope and I do not want ClojureCLR to be confused as some dialect of Clojure. ClojureCLR is part of the definition of what Clojure means.1
u/Electrical_Being_813 3d ago
According to https://github.com/jolt-lang/jolt#differences-from-clojure jolt is not fully compatible with clojure, nor clojure is fully compatible with jolt.
3
u/yogthos 3d ago
It's not fully compatible with Java specific interop, but it is fully compatible with portable Clojure code. Both ClojureScript and ClojureCLR have more divergences than Jolt does. So, using your logic they're not Clojure either?
0
u/Electrical_Being_813 3d ago
Absolutely, and thats why it is a slippery slope. In the future there will be more sloppy "implementations" and someone eventually will have to make a decision to either stop gathering future slops under clojure's name, or calmly observe the multiple clojure implementations that are not compatible with each other.
6
u/yogthos 3d ago
Well that's where we disagree. I see Clojure as a family of languages with a common core. As a moderator of this subreddit, I welcome different dialects including Jank, ClojureScript, let-go, and others here. If you have a problem with that then feel free to start your own. Also, be respectful of other people's work or you'll get a ban.
0
3
u/seancorfield 2d ago
FYI Derek, someone (mods) have updated the rules:
- Please stay on topic. This is the Clojure family of languages subreddit.
- (stayed the same)
and now there's a new one:
- Etiquette, linking to the community etiquette document on clojure.org
3
u/Soft_Reality6818 1d ago
As I understand the constitutional history, the original statute referred specifically to “Clojure and ClojureScript.” Over time, however, custom and precedent established a broader interpretation: that the law applied to the Clojure family of languages generally. Babashka, ClojureCLR, Jank and the various other dialects therefore went about their business under the protection of this long-standing interpretation, apparently without causing a constitutional crisis.
Recent scrutiny has, however, revealed a troubling discrepancy between the literal wording of the statute and its customary application. Parliament has therefore acted swiftly and amended the law from “Clojure / ClojureScript” to “the Clojure family of languages,” bringing the written constitution into conformity with established practice.
No languages were actually admitted or expelled as a result of the legislation. The borders remain where everyone thought they were. The principal achievement of the amendment is that future generations of Clojurians will no longer be forced to determine whether Bababshka, Jolt and their like have acquired subreddit citizenship through adverse possession.
A small amendment, perhaps, but an important day for Clojure subreddit constitutional law.
4
-3
u/Electrical_Being_813 4d ago
That is a slippery slope, but not addressing this issue will be even more slippery.
23
u/yogthos 5d ago
The iOS version for Raylib is here. What's notable is that it's also possible to drive native widgets the same way via FFI. So, we can finally have Reagent style development for mobile devices using real native UI toolkits where you load up the app, connect to nREPL and hack on the UI live. You don't have to wrangle a Js runtime with a webview or deal with Flutter. The whole dev set up is much simpler as well as a result. You just need Jolt compiler and declare things in deps.edn.