This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2024-03-15
Channels
- # announcements (1)
- # architecture (8)
- # babashka (7)
- # beginners (5)
- # biff (8)
- # calva (24)
- # cider (9)
- # clerk (14)
- # clj-kondo (7)
- # clojars (14)
- # clojure (49)
- # clojure-europe (11)
- # clojure-nl (1)
- # clojure-norway (90)
- # clojure-uk (3)
- # clojurescript (5)
- # core-typed (70)
- # cursive (35)
- # data-science (4)
- # datalevin (6)
- # datomic (2)
- # emacs (3)
- # fulcro (1)
- # holy-lambda (1)
- # hyperfiddle (5)
- # lsp (26)
- # malli (28)
- # off-topic (9)
- # re-frame (21)
- # releases (1)
- # shadow-cljs (7)
- # squint (6)
- # testing (14)
I’ve just updated to the latest EAP version (1.13.2-eap6-2023.3) and can no longer launch a REPL:
class com.intellij.openapi.module.impl.scopes.ModuleWithDependenciesScope cannot be cast to class clojure.lang.IFn (com.intellij.openapi.module.impl.scopes.ModuleWithDependenciesScope is in unnamed module of loader com.intellij.util.lang.PathClassLoader @5fe5c6f; clojure.lang.IFn is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @2bc4be57)
I’ve removed EAP and installed the main release, and REPL functionality is working again.
I got almost the same error today when launching a REPL:
class com.intellij.psi.search.ProjectScopeImpl cannot be cast to class clojure.lang.IFn (com.intellij.psi.search.ProjectScopeImpl is in unnamed module of loader com.intellij.util.lang.PathClassLoader @d70c109; clojure.lang.IFn is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @2d62ac84)
I’ll downgrade to the main release.That wasn't an option. This was a red error notification, but without the usual link/button to report to the tracker.
That’s fixed it for me. Thank you for the fast response
When I try to update to EAP 7 I get this, repeatedly every time I try: > Plugin "Cursive" was not installed: Downloaded version (1.13.1-2023.3) is older than the currently installed version (1.13.2-eap5-2023.3). A bit surprising, since IntelliJ said it was updating to 1.13.2 EAP 7, not downgrading to 1.13.1. "Check for EAP builds" is checked in the settings.
n/m, restarting IntelliJ and trying again to update fixed it.
Hi and good morning everyone, Does anyone know why I get the inspection error that "d/create-database cannot be resovled"?
I would get this if the reference was only available under a specific alias and that alias wasn’t enabled in the UI. E.g. repl alias here
that's expected behaviour. u have to tick all those deps aliases, which contain libs u want symbol resolution to work for
That might also happen if you didn’t generate the stubs when prompted. Datomic requires that, since it’s not published with source.
I am not sure if I was prompted 🙂
For now I put a pin in using cursive, I'm new to clojure and tbh I battled more with getting the env up and running (datomic on windows is a challenge to say the least), now I fiddled with cursive for the better part of two evenings, whereas vscode+calva "just run".
I prefer the jetbrains stack, but rn I want to get learning fast rather than dabbling more with env problems
yeah, I will come back to that 🙂 Thank you so much everyone!
Yeah, you just need to generate the stubs as Colin mentioned. There should be a prompt as he mentioned. I forget what exactly triggers it, but I believe opening the file should trigger it.
Hey, so, actually my fix was: delete the .idea folder, any mention of IntelliJ and open the project as a folder and let IntelliJ do its thing
Sometimes the nuclear option works the best haha
let's talk about the complexities of mutable state in software development, and how to solve them
when I run the repl, it clearly works
(late notification here): https://groups.google.com/g/cursive/c/CBYgSpcbCoE/m/YEBow6QOAQAJ - eap6 is out, with some fixes to the usages inlays and some bug fixes. Also eap7 is out, fixing a bug in eap6: https://groups.google.com/g/cursive/c/YQGK7DWcUnM/m/EX7wbYofAQAJ
@stefanlangwald i would be happy to help too normally, however we would need some proper screen sharing, like http://pop.com, which allows controlling the shared desktop, but it usually has some issues, if the OS is not the same on both ends and I can only be on macOS or Linux. i can also highly recommend Fred Overflow's Clojure content for learning Clojure quickly, in an entertaining way, especially if you already know programming in other languages. https://youtube.com/@fredoverflow?si=OBXJaw8NP99H-oaT
i would also recommend getting some footing in the philosophy of Clojure, because it requires a different approach than most other languages and in my experience that leads to a lot of friction. so maybe start with the very first Clojure talk: https://youtu.be/m1tZEn_NAqg?si=3FwMeVHBpFi7BhNa what's special about it is that Rich elaborates on the thinking behind the design decisions and contrasts it with other languages choices too.
if you found that interesting, then maybe the history of Clojure talk could deepen your understanding too: https://youtu.be/nD-QHbRWcoM?si=bPqixW_ypGVH7J_H the "just use maps" 5mins rant is a must watch too: https://youtu.be/aSEQfqNYNAc?si=3awpLMTe6jtD6xNP u can use this rant to get Java-adjacent programmers interested in Clojure.
there are a few variants on the first talk: 1. delve into Clojure's data structures a bit deeper, through some liver coding: https://youtu.be/ketJlzX-254?si=bdyKVbdCZKvc87M4 and https://youtu.be/sp2Zv7KFQQ0?si=9rhT6N-C5ogMCZ76 . i liked it, because we can see how did the early REPL experience looked like on Mac OSX with 1GB RAM, from Aquamacs, via SLIME 2. Clojure for Java programmers: https://youtu.be/P76Vbsk_3J0?si=uS1P1BL_6Qq5ZL0S and https://youtu.be/hb3rurFxrZ8?si=p5Tpkn14E7iaFuEQ 3. Clojure for LISP programmers: https://youtu.be/cPNkH-7PRTk?si=o9jJgW46mpzVxzyl and https://youtu.be/7mbcYxHO0nM?si=N6jcEdQ7YyupEuD7
then you can start practicing, learning about various libraries and slowly consuming more Rich Hickey, Stuart Halloway, Alex Miller, etc talks. u can find them collected here, with their transcripts, which is great for search and offline use: https://github.com/matthiasn/talk-transcripts
it also pays dividends very quickly, if you learn structural editing via paredit or parinfer, because you won't get distracted by paren-balancing and it's simply a lot not joyful to write code in that manner, than using a character-based, line-based or even vim text-object based approaches. you can expect a few hours of getting used to structural editing, over the course of a few days, but it puts you on a whole new level. editing will be fast and effortless, like how this dude is handling nunchakus: https://youtube.com/shorts/pW8HOj4wcyE?si=Op1Wljz8U452Kj4p ;)
thank you for the suggestions, I was dabbling in clojure already in 2013-ish, however, I wasnt sure if Clojure is just another "hot trend" that dies down faster than The Newest Revolutionary Framework(tm) in JS, and back then Datomic was still fully commercial -- now I have a problem where clojure is exactly the right tool ... I will make a formal introduction in the newbies channel soon-ish
and yes, I watched literally ALL the content on youtube before I picked clojure.. now I am rewatching some bits again, while learning, to get a deeper understanding