Fork me on GitHub
#cursive
<
2018-03-10
>
cfleming00:03:47

@royalaid So, no, sorry, but lots of people are asking about it. I’ll try to do this soon.

cfleming00:03:43

@carr0t It can’t at the moment sorry, I was planning to add this in the last EAP series but I didn’t get to it.

cfleming00:03:17

@jjfine So that sounds like a bug - it shouldn’t be in your External Libraries if it’s not in your project file.

cfleming00:03:46

@rauh When you see that behaviour, is the pedestal lib still in your External Libraries?

rauh07:03:41

Yes, I'm still using it. I just never use their logging ns anymore

cfleming10:03:42

Ok, that probably means that there’s an example of pedestal.logging :as log in a dependency somewhere, perhaps in Pedestal itself. I’ll look into weighting the suggestions, with priority given to uses from project code over libraries.

cfleming05:03:57

@genekim BTW see here: https://cursive-ide.com/userguide/troubleshooting.html under “Unresolved symbols from clojure.core when sending forms to REPL”

cfleming05:03:08

I know you’re using CLJS but the principle is the same I believe

snoe06:03:55

@cfleming is the parser api you showed in your macro-error talk from a few years ago available anywhere? Looking at that defn-pattern slide and trying to reverse engineer your api with instaparse is getting pretty nasty. I believe it’s called error-test on https://dev.clojure.org/display/design/Macro+Grammars

cfleming06:03:23

In particular, as the README notes, that version of the grammar definition was a failed experiment.

cfleming07:03:55

I’m actually just about to switch to a new parser, I’ve had it lurking in a branch for a while now but have not had time to integrate it. It’s based on the regexp VM approach here: https://swtch.com/~rsc/regexp/regexp2.html

cfleming07:03:09

(really awesome series of articles, highly recommended)

cfleming07:03:50

In my benchmarks, it’s considerably (~10x) faster than spec: https://gist.github.com/cursive-ide/d7e490bd875d575ff485518195aa1e19

cfleming07:03:29

I need to try it on more examples, but I don’t think those are pathological in any way.

snoe07:03:40

Thanks a bunch, my google-fu totally failed me there 😛 I’ve been hacking today towards a clojure languageserver protocol implementation today and my respect for the static analysis cursive does is just growing by the hour.

cfleming07:03:13

@snoe No worries, let me know if you have questions!

cfleming07:03:52

I totally recommend a parser based on regexps rather than something like instaparse, BTW.

cfleming07:03:43

But I’d follow the examples in those articles, I didn’t have success with the derivative parsers that spec uses. The matching is very elegant, but the data capture (i.e. conform) is very tricky.