This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-10-10
Channels
- # aleph (2)
- # arachne (1)
- # beginners (5)
- # boot (33)
- # cider (12)
- # cljs-dev (6)
- # cljsrn (26)
- # clojure (33)
- # clojure-austin (7)
- # clojure-belgium (6)
- # clojure-chicago (1)
- # clojure-dusseldorf (1)
- # clojure-fr (1)
- # clojure-hamburg (1)
- # clojure-nl (11)
- # clojure-portugal (3)
- # clojure-russia (14)
- # clojure-spec (35)
- # clojure-uk (28)
- # clojurescript (49)
- # component (7)
- # core-async (75)
- # cursive (13)
- # datomic (15)
- # dirac (57)
- # emacs (5)
- # events (1)
- # hoplon (34)
- # jobs (2)
- # jobs-discuss (8)
- # lambdaisland (1)
- # lein-figwheel (7)
- # leiningen (3)
- # om (5)
- # onyx (8)
- # re-frame (56)
- # reagent (13)
- # testing (7)
- # untangled (30)
- # vim (51)
- # yada (17)
boot -d nightlight:1.0.0 night -p 4000 wait
so cool
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.
yeah it is 'just' a repl
but like, probably the most advanced one yet
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
@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
also there has been lots of work orienting editors around users workflows, trying to make them as general as possible
but it seems like, not very much around orienting them around a particular language or application
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:
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.
can you elaborate on what you mean by the vim/cider relationship?
@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.
i see, yeah. in principle i agree. although i think system with the affordances of cider might be better done without middleware
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
e.g. you can't send an incomplete top level sexp to clj and get the locals present at any 'place' in the input
@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.
@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
it seems simpler but i haven't explored enough to know what downsides this has
maybe there are great reasons for doing it the cider/middleware way
@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.
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}
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 😄
I would love a cljs node backed version!
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?
Why does boot add compiled CLJS to the classpath, without me asking? That seems to complect