Fork me on GitHub
#announcements
<
2019-09-18
>
jacekschae06:09:33

This week on ClojureScript Podcast discussion with @seancorfield about REBL - https://soundcloud.com/user-959992602/s2-e3-rebl-with-sean-corfield

dharrigan06:09:34

The last one with Stuart was great listening about his "Spartan" REPL setup etc...

vlaaad08:09:39

Yes it was, although I feel he goes too far. Stuff like find usages, go to definition and auto-completion is immensely useful and a great time saver.

dominicm08:09:58

He has find uses in rebl, fwiw

dominicm08:09:32

I'd bet he uses some kind of grep too. I wonder if his dotfiles are online?

danielneal08:09:48

every morning I get up and do 100 sit ups a hunderd press ups a hundred squat a ten k run and find usages for 100 vars

vlaaad09:09:53

clojure is not greppable. try find usages of namespaced keyword :a/b when it can be ::some-ns/b, #:a{:b 1}, {:a/keys [b]}, {:keys [a/b]}, {::some-ns/keys [b]}

vlaaad09:09:29

find usages in rebl can find only runtime usages of functions to vars. can't find usages of values. can't find usages of java.

seancorfield15:09:28

@U47G49KHQ He talks about why he doesn't want auto-completion on that podcast tho' -- as a "self-check" to keep his APIs small and memorizable and I get that point.

seancorfield15:09:53

And Clojure code is "more" greppable if you are very consistent about how you use namespaces and aliases (but, yes, destructuring makes that a bit less straightforward).

seancorfield15:09:05

We have 90K lines of Clojure at work and don't find that particularly challenging (and our in-house "style" has certainly changed over the years, so our code isn't as consistent as it could/should be).

vlaaad15:09:36

I don't have problems with keeping consistency in my own projects, but using dependencies means there will be multitude of different styles

vlaaad15:09:51

and APIs of different size

vlaaad15:09:07

and using java interop is idiomatic

vlaaad15:09:56

I think it's a nice self-imposed constraint for a library author, but during day-to-day development I want a bit more help... which I get with cursive 🙂

seancorfield15:09:04

I use compliment for day-to-day development -- I'm not quite as austere as Stu, but I like a nice, simple toolset (e.g., a Socket REPL rather than nREPL etc).

dominicm15:09:46

It's a good reason to use simple dependencies too

vlaaad15:09:11

@seancorfield do you have editor integration for compliment or do you invoke it directly?

seancorfield15:09:27

Integrated via Chlorine (for Atom).

dharrigan16:09:16

The recent podcast re: REBL is great too 🙂

seancorfield18:09:28

Thanks @U11EL3P9U

dharrigan18:09:26

I'm encouraged to try it out again 🙂

seancorfield18:09:48

Happy to help / answer any Qs!

timgilbert21:09:38

FWIW, Cursive is smart enough to find usages on all the keyword syntax variants that vlaad listed above. (I agree that plain grep / regex searching is not very useful for this purpose)

lumpy20:09:23

great job, would be more idiomatic if all keys used kebab case instead of snake case, i created a PR https://github.com/dawran6/emoji/pull/2