Fork me on GitHub
#boot
<
2016-10-10
>
alandipert13:10:47

boot -d nightlight:1.0.0 night -p 4000 wait so cool

dominicm13:10:22

That works? That's so cool

dominicm13:10:57

Although, I do question the whole approach somewhat - seems like a simpler solution would be just launching a repl and loading some code (a library) into that repl.

dominicm13:10:55

Corrected my statement to better clarify what I meant.

alandipert13:10:17

yeah it is 'just' a repl

alandipert13:10:24

but like, probably the most advanced one yet

alandipert13:10:22

historically in clj it hasn't been practical to run your app and your editor out of the same process though, but with pods it now is. which is probably why i think it's so neat

dominicm13:10:31

@alandipert Clarified what I meant by "just" a repl. What I really meant is that it would be neat to have these features in a totally editor-agnostic way (maybe it is and it builds on cider-nrepl?). That's a great point though about pods

alandipert13:10:16

also there has been lots of work orienting editors around users workflows, trying to make them as general as possible

alandipert13:10:35

but it seems like, not very much around orienting them around a particular language or application

alandipert13:10:18

anyway, very curious to see where it goes. and to collect ideas for my own editor that i hope to make some day but probably won't :person_frowning:

dominicm13:10:55

I must say I'm in the general camp. Mostly because the only reason vim has things like auto-completion is because large parts of cider are implemented as middleware. Language-specific applications are important though, particularly for new-to-programming people.

alandipert13:10:41

can you elaborate on what you mean by the vim/cider relationship?

dominicm13:10:42

@alandipert Sure. Cider middleware is just clojure over nrepl. So with a general nrepl client, and a little vim plugin which can understand the middleware - I get to take advantage of the middleware functions that the cider/emacs-clojure guys maintain, for free. It heavily benefits me as a minority.

alandipert13:10:39

i see, yeah. in principle i agree. although i think system with the affordances of cider might be better done without middleware

alandipert13:10:30

one area i see that hasn't explored here, that i have seen in other languages, is that since the clj compiler doesn't parse or compile incrementally, tools need to have their own analyzers

alandipert13:10:48

e.g. you can't send an incomplete top level sexp to clj and get the locals present at any 'place' in the input

dominicm13:10:29

@alandipert Large parts of cider could be implemented as functions that are in a namespace of some kind. I assume this is what you mean? Compliment can handle that. Vim even has support for it. But it is probably using a custom analyzer.

alandipert13:10:29

@dominicm yeah, like tools could send anonymous forms over to the repl and collate results. vs naming middlewares and functions to do this on the server side

alandipert13:10:52

it seems simpler but i haven't explored enough to know what downsides this has

alandipert13:10:11

maybe there are great reasons for doing it the cider/middleware way

dominicm13:10:14

@alandipert The only reason I can think of: it might be to do with the namespace munging that cider performs. Ops provides a consistent way to access the names.

dominicm13:10:32

I really need to figure out how nightlight does highlighting. This is awesome. Emacs doesn't even understand how to do comments for:

{#_#_ :foo :bar 
  :baz :bosh}

richiardiandrea16:10:52

Trying NightLight and indeed it sounds like a pioneering idea, does not work well in my project as I have a pod with nrepl for client and one one pod with nrepl for server (circa quasi following edge)...but it is neat to see appearing an editor in the browser indeed 😄

flyboarder20:10:25

I would love a cljs node backed version!

arohner21:10:06

Using boot-cljs-repl, and nginx to do SSL termination. I need the websocket to listen on port X, but I need the client to connect via port Y (so it goes through nginx and gets SSL terminated). How do I make that happen?

arohner21:10:45

looks like I don’t, without a patch

arohner21:10:12

Why does boot add compiled CLJS to the classpath, without me asking? That seems to complect

micha22:10:39

@arohner because tools and things in the JVM generally find their inputs from the classpath

micha22:10:02

and the compiled js is likely to be input for another task or tool

micha22:10:41

for example it's likely that you'll want to serve the compiled js from a dev server

micha22:10:48

in which case it should be on the classpath