Fork me on GitHub
#cursive
<
2024-03-15
>
Chris Lowe07:03:35

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)

3
Chris Lowe07:03:16

I’ve removed EAP and installed the main release, and REPL functionality is working again.

msolli07:03:11

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.

👍 1
cfleming09:03:17

Did you report these exceptions to the tracker? I’ll look at them tomorrow.

msolli09:03:54

That wasn't an option. This was a red error notification, but without the usual link/button to report to the tracker.

kolstae09:03:13

They're not showing up like "normal" exceptions. Here's a screenshot

cfleming09:03:29

Oh, I see. Let me see if I can reproduce that.

cfleming09:03:49

Ugh yes, I see it - sorry folks, I’ll get that fixed now.

👍 1
cfleming10:03:03

Fix is out now in eap7

🚀 2
✔️ 1
Chris Lowe11:03:02

That’s fixed it for me. Thank you for the fast response

devurandom12:03:18

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.

devurandom12:03:08

n/m, restarting IntelliJ and trying again to update fixed it.

Stefan Langwald08:03:09

Hi and good morning everyone, Does anyone know why I get the inspection error that "d/create-database cannot be resovled"?

Chris Lowe08:03:43

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

onetom08:03:24

that's expected behaviour. u have to tick all those deps aliases, which contain libs u want symbol resolution to work for

cfleming09:03:12

That might also happen if you didn’t generate the stubs when prompted. Datomic requires that, since it’s not published with source.

🎯 1
Stefan Langwald09:03:50

I am not sure if I was prompted 🙂

Stefan Langwald09:03:18

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".

Stefan Langwald09:03:20

I prefer the jetbrains stack, but rn I want to get learning fast rather than dabbling more with env problems

cfleming09:03:22

Ok. If you’d like help getting it set up at any point let me know.

Stefan Langwald09:03:42

yeah, I will come back to that 🙂 Thank you so much everyone!

mikejcusack19:03:42

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.

Stefan Langwald07:03:05

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

👍 2
mikejcusack14:03:03

Sometimes the nuclear option works the best haha

Stefan Langwald05:03:34

let's talk about the complexities of mutable state in software development, and how to solve them

👍 1
Stefan Langwald08:03:31

when I run the repl, it clearly works

cfleming10:03:39

(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

onetom15:03:13

@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

onetom15:03:26

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.

onetom15:03:32

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.

onetom15:03:18

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

onetom15:03:56

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

onetom16:03:08

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 ;)

Stefan Langwald08:03:43

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

Stefan Langwald08:03:22

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

👌 1