Aaaaand thanks to Shantanu Kumar there is already a Leiningen plugin! I updated the website to reflect that. That should make it much nicer to use in lein projects.
On Saturday, October 8, 2016 at 10:03:58 PM UTC-4, Zach Oakes wrote: > > Just when you thought I was done with my weird obsession with making > projects that start with “night”, I went and made another. This one is > called Nightlight, and it’s a Clojure editor with a unique twist: it is > meant to run *inside* your project, giving it direct access to the state of > your program. This might end up being a great idea, or an embarrassingly > stupid one. > > Website: https://sekao.net/nightlight/ > > Github: https://github.com/oakes/Nightlight > > I’ve only been working on this for a few weeks. To explain the idea, I’ll > channel Uncle Bob and give it to you in the form of a socratic dialog > between myself (Z1) and myself from two weeks ago (Z2): > > Z2: Nightcode has a lot of crippling limitations. It has no code > completion, for starters. Its instaREPL is a toy, because it only works > with clojure core. Forget about refactoring support. > > Z1: It’s almost as if these are caused by the same core issue. > > Z2: Yeah almost. Anyway where was I... > > Z1: No, they actually are. Traditional editors and IDEs have the same > basic design -- they are standalone programs, so they have to use all sorts > of complicated maneuvers to understand your project. It’s a huge source of > complexity. > > Z2: What’s the alternative? > > Z1: Imagine completely reversing the relationship. Instead of an external > tool enveloping and running your program, what if your program ran your > development tool? What if they lived in the same process? Your editor would > have direct access to the state of your program, opening the doors to all > sorts of interactivity. > > Z2: So what’s the alternative? > > Z1: Are you serious? I just explained it. > > Z2: Right. Genius! Nobody has thought of this before. > > Z1: Plenty of people have, but for the most part those tools are not > mainstream. Various Lisp and Smalltalk tools blurred those lines. For > example, DrRacket can run your code in the same Racket instance that it is > running in. > > Z2: Doesn’t this mean if you crash your program, you crash your editor? > > Z1: Yeah...don’t do that. > > Z2: Got it. How do we build it? Should we just shoehorn Nightcode into > some kind of build task, so it pops up every time you start developing a > project? > > Z1: That would be pretty obnoxious, which I realize makes the idea more > appealing to you. But consider this: if it was a totally browser-based > editor, we could just run a little web server inside your project and the > user could interact with it via a browser. > > Z2: That sounds like a lot of work. > > Z1: Not really. Nightcode’s editor is already browser-based, so we just > need to make the rest of the interface. It should only take about a month, > or even less if a large hurricane happens to slam your city in the near > future, giving you nothing else to do but code and drink beer. > > Z2: Hah yeah that’s not going to happen. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.