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.

Reply via email to