Nightcode: An IDE for Clojure and Java
nightcode.info
nightcode.info
It's nice to see people getting passionate about this sort of thing, but it's incredibly alpha, and atm it doesn't seem to have any features worth writing home about. At least, not from what I could tell after playing around with it for a little bit.
Also, is it just me or is every new editor/IDE using that same Sublime-ish colour scheme?
-Cool looking dark theme, because that’s trendy these days
http://insubstantial.github.io/insubstantial/substance/docs/...
I'm half-tempted to use Nightcode just to spare me the pain of trying to set up a Android project using Clojure. If any of the previous non-Java languages I've used on Android are any indication (Python and Lua, mainly), it's a huge pain in the ass. I really wish Google had built a more polyglot-friendly environment in Android.
Just wow! and thank you.
Even though lein is easy to use, integration like this lowers the barrier to entry for new folks wanting to learn clojure, which is awesome.
As I said before, it is still a very early release, so please let me know about other bugs you find.
With that said, I'd love to see the Scala equivalent of this - the Scala plugin for IDEA works fairly well (they still have quite a few problems with inline error highlights/parsing when your Scala code uses path dependent types), but the Typesafe official Scala IDE uses Eclipse, which utterly rules it out as far as I'm concerned.
A lightweight but functional Scala-native IDE with builtin sbt support would be absolutely awesome for a pure-Scala project.
This would indeed be wonderful. I have been using Scala as my first language of choice for some time now and personally feel that Scala is still held back a bit in terms of tooling. Please consider this!
I am a big fan of IDEA and use that for Java and Groovy, and also Jetbrains' AppCode for Obj-C development, but the Scala support in IDEA is currently just not good enough.
I don't even think the full switch can ever be made. Because it's Apple development, everything is in an "Xcode project" (instead of, say, "iOS project"). So even using AppCode I'm still dropping back to Xcode some of the time.
After reading through that, the exercises at http://4clojure.com/ helped me to solidify things and learn what the core library has available. Work through a problem on your own and then check out how someone like 'immo' or 'jbear' did it.
I've been planning to learn a modern (compared to Interlisp, which I used in the 80s) Lisp for a long time. What stops me is the need to 1st learn a very complicated IDE.
I'm also having some doubts about Clojure compared to true Lisps - those store all data as lists for a very good reason - it allows fantastic code reuse.
http://www.lispworks.com/documentation/HyperSpec/Body/c_sequ...
http://www.lispworks.com/documentation/HyperSpec/Body/t_seq....
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.65....
https://github.com/sbcl/sbcl/blob/master/src/pcl/sequence.li...
EDIT: Some actual problems http://ilc2009.scheming.org/node/7
Furthermore, the by far most common mapping functions operate only on proper lists, not sequences. [2] And in the very popular (albeit notorious) LOOP macro, one must even use in/across/"k being the hash-key using (hash-value v)", depending on whether you're operating on lists, vectors or hashtables respectively! [3]
(Of course, one could add these things to CL, in the sense that you have all of CL's power in C — by implementing CL atop C. Or you could invent your own generic seq functions, and hope others use it.)
Someone could point out that had CL's standard had continued to evolve, it might've had these things. Or that these limitations were due to weaker computers. But whatever happened happened, and this is the real-world CL we have. CL's a wonderfully powerful language (not counting the troll-dominated community), but there's seams.
[1] http://www.lispworks.com/documentation/HyperSpec/Body/26_glo...
[2] http://www.lispworks.com/documentation/HyperSpec/Body/f_mapc...
Some of my links were there to point out that it's not really, we do have extensible sequences in SBCL for example.
Thanks for making such a long reply for what basically was link dumping.
I have the feeling the response to keystrokes is somewhat delayed? Type "asdf" for example and you will set it takes perhaps 1.5x more than it should and its not even.
https://github.com/clojure-emacs/nrepl.el
This doesn't avoid emacs though if you're not an emacs user ;)
This is loads easier to setup and works really, really well.
Generate the project skeleton:
$ lein new foobar
Open up folder `foobar` with Lighttable, and you can begin evaluating code in your source files (it starts you with foobar/src/core.clj).
And you're off.
with paredit the ( ) handle themselves pretty much.
I wrote up some notes on setting it up here:
http://crucialfelix.github.io/clojure/2013/05/16/learn-by-wr...