Fork me on GitHub
#cider
<
2015-11-23
>
bozhidar05:11:46

I haven’t seen any screencast demonstrating much of cider

bozhidar05:11:58

guess you can watch the old slime screencast

bozhidar05:11:10

as much functionality is similar in slime and cider

bozhidar05:11:04

although keep in mind that a lot of functionality is different as well simple_smile

benedek07:11:54

although that is not the main purpose there but i guess @magnars ’s parens of the dead uses emacs/cider

bozhidar07:11:06

anyways, I hope I’ll do some recording before the release of 0.10

bozhidar07:11:22

and I know that @malabarba plans to work on some screencasts as well

drewverlee15:11:37

@benedek and @bozhidar, thanks for the advice! I already had Parens of the dead lined up. i'll probably watch that after i get through some intro clojure material.

benedek15:11:08

parens of the dead is magic. you’ve been warned 😉

roberto15:11:47

true, all my cider knowledge comes from those screencasts

roberto15:11:05

it is one thing to read the docs, another thing to see it in practice.

robert-stuttaford15:11:30

stuart halloway spoke about alien super powers coming after 6 months’ practice or so in one of his talks. Parens of the Dead is a demonstration of those alien super powers

benedek16:11:49

@bhauman: just finished setting up my relatively small clj/cljs/reagent project following https://github.com/bhauman/lein-figwheel/wiki/Using-the-Figwheel-REPL-within-NRepl in emacs/cider amazing experience so far, gives me what i really missed (eg had to work with two repls kinda) together with @malabarba /expez ’s work that cider basically routes evals to the right repl it is just mind blowing.

bhauman16:11:16

@benedek: does printing i.e. (prn 5) work for you?

bhauman16:11:28

in a cider routed cljs repl?

bhauman16:11:56

@benedek: also which version of cider are you using?

benedek16:11:36

latest snapshot (of both cider and clj-refactor)

bhauman16:11:10

I'm really glad this is all working much better simple_smile

benedek16:11:29

prn works: does not matter if i eval it from a clj or a cljs ns

bhauman16:11:16

I'll have to give the latest snapshot a try again.

roberto16:11:25

what is the latest snapshot?

roberto16:11:29

I’m afraid to upgrade

roberto16:11:34

the last time I tried I broke everything

roberto16:11:48

I’m talking about cider btw

benedek16:11:04

cider-20151122.443

benedek16:11:15

always reinstall clojure-mode too

roberto16:11:19

hmmm, that sucks

benedek16:11:33

and if anything gets broken remove clojure-mode and cider and then install them on clean

roberto16:11:43

how do you reinstall a package in emacs? Do you have to manually delete it from the file system?

benedek16:11:48

emacs package system could be better yes 😕

benedek16:11:02

you can use the package manager to remove it

benedek16:11:36

M-x package-list-packages then mark the packages with D in the buffer then X to execute

bhauman16:11:52

When is the next version going to be released?

roberto16:11:53

ah, ok. I was manually deleting from the file system.

benedek16:11:07

and then install them again. pita but fixes most problems after ugprade

roberto16:11:16

thanks, I’ll try that.

benedek16:11:21

no worries

roberto16:11:28

I was afraid I was doing something wrong, but looks like that is the default behavior

benedek16:11:47

I guess @bozhidar knows better than me

benedek16:11:59

i know it is painful but I guess emacs package manager needs some fixing not really the package… 😉

bhauman16:11:43

@benedek: is there an order to installing clojure-mode first then cider?

benedek16:11:44

we want to release clj-refactor 2.0 after 0.10 comes out

benedek16:11:16

hm… I would install clojure-mode first, yes.

bhauman16:11:01

And is a Socket REPL option part of that release or is that a whole bag of worms??

bhauman16:11:22

Just trying to gauge my documentation efforts

benedek16:11:20

I don’t think socket repl is yet on the table for 0.10

benedek16:11:40

(again @bozhidar will correct me if i am wrong)

bhauman16:11:53

sounds very likely

arrdem16:11:02

benedek: CIDER depends on clojure-mode, so you should get both if you just do CIDER

benedek16:11:22

very likely true @arrdem

benedek16:11:52

if i run into problems after an upgrade I still remove both and install clojure mode first. mind you i usually run with latest snapshots

arrdem16:11:48

I've been upgrading daily for about two years now, I don't think I've had more than a week of problems

arrdem16:11:58

surprised you're choking

benedek16:11:01

tbh I don’t. only I am aware that is a regular problem for those who use the latest snapshot (based on bugreports gitter etc)

malabarba16:11:30

@bhauman: if we get our act together, 0.10.0 should be out during decembre. But that's not a promise. simple_smile

malabarba16:11:15

And no, socket-repl is not part of it. It's currently just something on our minds. Nobody has stepped up to support it yet.

benedek16:11:14

if I understand how things look socket repl wise: we need something like nrepl implemented around the socket repl before we can roll with it too

bhauman16:11:22

@malabarba: thanks for the info. That helps

malabarba16:11:19

@roberto: @benedek The problem with Emacs' package manager is Melpa. Melpa sort of assumes its users will stay always updated, so its version numbers mess with dependencies, and that causes outdated dependencies. You can usually avoid problems by just keeping your packages regularly updated. You can do that with M-x list-packages then U then x.

malabarba16:11:32

(that's a capital U)

benedek16:11:28

there is this: https://github.com/puredanger/replicant but it is more a proof of concept than a real thing

roberto16:11:30

oh, thank you @malabarba for that tip.

roberto16:11:54

I’ve been very confused by versioning in Melpa. This explanation helps alot.

malabarba16:11:55

in particular, I think dash was a package that caused a bit of issues with Melpa. And cider no longer depends on Dash, so things should be better on that front

bhauman16:11:56

geez, well printing in cljs works it just prints before the prompt that sent the print message

bhauman16:11:08

race condition.

malabarba18:11:53

On the topic of the Socket repl... It's looking like the easiest way for cider to support it will be by somehow mimicking an nrepl server through it.

malabarba18:11:15

I guess that sort of beats the whole point of the Socket repl

malabarba18:11:51

But maintaining two separate ways of interfacing between clojure and Emacs would be insane IMO

malabarba18:11:15

Another issue is that the Socket repl is completely bare bones, so we'd have to manually do a lot of stuff that currently nrepl does for us. Though I don't know if that's just because it's new or if it's intended to be like that.

bozhidar18:11:31

I’m a bit late to the party, but still:

bozhidar18:11:51

- the 0.10 release date is projected to be the 2nd or 3rd of December

bozhidar18:11:04

(I’d like to announce the release at ClojureX in London)

bozhidar18:11:32

- @benedek and @malabarba already said pretty much everything there’s to say about the socket repl support - basically we’ll need some way to multiplex a couple of socket repl connections (one for evaluation and one for tooling stuff) and we’ll still need to ship our extra deps providing the tooling

bozhidar18:11:56

the biggest gain for supporting the socket repl will likely be better clojurescript support

bozhidar18:11:12

as the clojure and clojurescript repl there have complete feature parity

bozhidar18:11:42

but adding support for this in cider will take a while for a few reasons:

bozhidar18:11:54

- we need to abstract away all the nREPL related code we have

bozhidar18:11:34

- we’ll have to break down cider-nrepl into two packages - some library holding the tooling functionality and the middleware itself

bozhidar18:11:20

- we’ll have to come up with something like replicant which people will have to install if they want to use the socket repl

bozhidar18:11:02

I’d really love to us to support it, but it’s not super high on my persona todo list

bozhidar18:11:23

as this is quite a lot of work and the benefits of supporting it are not exactly huge

bozhidar18:11:33

(or if they are huge this is not obvious to me)

roberto20:11:00

how can I tell cider to compile the entire project?

malabarba22:11:15

@roberto do you mean just load the entire project or actually compile it into a jar file

roberto22:11:26

load entire project

roberto22:11:45

I’m using component, and everytime I reload the entire system, I need to compile every individual project again

roberto22:11:51

I mean individual ns not project

roberto22:11:00

it is getting frustrating

malabarba22:11:17

Maybe C-c C-x

malabarba22:11:51

Cider refresh reloads all files that have been loaded before

twillis22:11:03

@roberto: I usually do C-u C-c C-x

roberto22:11:56

ah, thank you, will try that