Fork me on GitHub

@pez you wrote "I have pushed the change to the repo, so please pull and see if it works out there as well." but I don't know how to do that. I was under the impression that Calva would auto-update when quitting/restarting VSCode. Is that true? If so, can the version that would allow evaluation of code in quil-cljs-calva-template (using the "Evaluate" commands, sending results to "Calva says") be made to be the one that I get by quitting/restarting? If not, then can you provide instructions for using the code from the repo?


FWIW with the "jack-in" discussion above I'm now extra confused about how best to do the basic evaluation stuff I want to do (getting return values, explicitly printed stuff, and error messages, without copies of the evaluated code, all in one plain text place, not inline and not adulterated). Maybe jack-in is simpler than the way I've been starting/connecting to a REPL? And then I would use the "Evaluate..." methods and Calva says, and avoid the "Run text in REPL" commands still? There seem to be a bunch of different ways to do different parts of this, with names/pros/cons not clear to me. I'm hoping for clear and reliable way to do what I outlined above, that I can use and recommend to students.


BTW one unfortunate thing about the "Evaluate..."=>"Calva says" methods when I've been able to get them to work is the requirement of evaluating the whole file before evaluating expressions. It would be nice if that wasn't necessary in whatever best method becomes the recommended one. It's not necessary when using Terminal > Run Selected Text, but that blasts all of the evaluated code also to the terminal which is problematic.


@lspector: I changed the quil-cljs-calva-template project on github, not Calva. The problem was unrelated to Calva.


Yes, the jack-in discussion concerns how to start the repl in a more reliable way. It’s separate from how we evaluate and get the results.


I don’t know how to solve the problem with evaluating files. I’ll have to think about it. But for now, you’ll need to start most sessions with opening the clj/cljs file and then do Calva: Evaluate (load) curren file. The command is wrongly named and I will change that. It is the load that is the key word there.


This is so cool! (Slightly off topic, but I can see he’s using CIDER, so that makes it OK, right?)

❤️ 1

(Watch the video before you read the blog post. Full screen, pump up the volume.)


@pez Ah -- thanks. I'll try the new template. If the jack-in method is a simpler way to start the repl then that's great... I gather the kinks aren't quite worked out yet? If they are then I'd love to switch to it, if there's a simple explanation. On requiring an initial load, I guess I'm confused about why this would be required for the Evaluate/Calva says workflow but not the "Run Selected Text" workflow...


I’m confused about that too. It is the same REPL server they are connected to, so whatever is evaluated in one should be evaluated in the other.


This build tries to be more reliable in finding the namespace of the current file. Since very little else work unless Calva can figure out the namespace, it is quite important to get this working better. Please give it a spin, @hoppy.


Parse error: Unable to resolve symbol: deftest when I have (:require [clojure.test :refer :all] is this normal? It only recognize it when I do (:require [clojure.test :refer [deftest]]


You get this from the linter? If so you might find a way to deal with it in the Joker documentation.


@pez yes, I will check Joker docs. Thanks.


@pez I saw the part you are referring to in Joker's documentation. Oddly enough, everything is getting recognized now even with refer :all after I created .nrepl-port file and restarted vs code.


actually it's not consistent but for one of the files it's working. At least I know the reason now.


I should educate myself better about Joker.