Anyone mourns the loss of: tryclj.com ?

2017-12-15 Thread Zach Oakes
You can get a cljs one at http://clojurescript.net but I think a JVM clojure 
web repl is pretty hard to keep safe from mischief since it needs to execute 
code server-side.

-- 
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.


Re: [ANN] Dynadoc, dynamic docs for Clojure(Script)

2017-11-28 Thread Zach Oakes
Right on! I don't remember which of my insights did the humdinging but I'm 
glad you liked it.

On Tuesday, November 28, 2017 at 7:28:04 PM UTC-5, Matching Socks wrote:
>
> Hey, gang!  There is something important here.  Gold!, amidst the nuts and 
> bolts.  A humdinger of first-rate philosophical insight is tucked, 
> inconspicuously, way toward the end of the linked demo video.  In a word, 
> it is a bat-it-out-of-the-park answer to the docstring-improvement 
> chatter.  Tastes great *and *less filling!
>
> So, endure the demo.  The deadpan showmanship does not disappoint.  
> Materially, there is fun stuff to think about, springing from the first 
> four-fifths of the video.  Imagine what clojure.org could do along these 
> lines, or what clojuredocs might do.  But don't get sidetracked before you 
> reach the big idea.  The fifth fifth.
>

-- 
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.


[ANN] Dynadoc, dynamic docs for Clojure(Script)

2017-11-27 Thread Zach Oakes
I'm releasing a new project called Dynadoc which generates a single 
searchable doc website for everything in your project, including all your 
dependencies. It supports Clojure *and* ClojureScript. It also lets you 
create interactive code examples that can be edited from the browser. 
Currently the documentation on how to use it is scarce...hah. Anyway enjoy!

https://github.com/oakes/Dynadoc

-- 
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.


Re: [ANN] tools.deps.alpha 0.2.167 and cli updates

2017-11-12 Thread Zach Oakes
That's a really neat idea, I'll check it out! It would be awesome to make a 
project usable from both boot and tools.deps.

On Sunday, November 12, 2017 at 9:00:18 PM UTC-5, Sean Corfield wrote:
>
> I promised a few people I would create a Boot task that leveraged 
> tools.deps.alpha so your dependencies could be external, in deps.edn.
>
>  
>
> I just released an early version of that 
> https://github.com/seancorfield/boot-tools-deps
>
>  
>
> Feedback welcome!
>
>  
>
> It’s tries to be as close to the clj script behavior as possible, with the 
> caveat that Boot has already selected a version of Clojure and read your 
> build.boot file (if present) by the time the deps task gets control! It 
> cascades some basic defaults (copied from clj’s system deps.edn), your home 
> deps.edn (if present in ~/.clojure) and the current directory’s deps.edn. 
> You can specify additional deps.edn files to load. It relies on 
> tools.deps.alpha to read all those files and merge their content, along 
> with handling resolve aliases and some aspects of classpath aliases, and 
> then it merges the resulting information into Boot’s environment (so it 
> ultimately relies on Boot’s artifact handling and class loading). It 
> currently leverages a couple of private functions to mimic the -R and -C 
> alias handling (Alex, I’ll talk to you via DM some time about this).
>
>  
>
> Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
> An Architect's View -- http://corfield.org/
>
> "If you're not annoying somebody, you're not really alive."
> -- Margaret Atwood
>
>  
> --
> *From:* clo...@googlegroups.com   > on behalf of Alex Miller  >
> *Sent:* Tuesday, October 31, 2017 6:21:54 AM
> *To:* Clojure
> *Subject:* [ANN] tools.deps.alpha 0.2.167 and cli updates 
>  
> tools.deps.alpha 0.2.167 was released on Oct 26th. I have not announced 
> all interim releases but some of the recent changes include: 
>
>- Overhaul of the provider extension points
>- Initial support for understanding different kinds of "manifests" in 
>local projects. Currently, only deps.edn projects are understood. Others 
>will be added.
>- Added new -Spom option to `clj` - this option will generate (or 
>update!) a pom.xml in the same project based on the contents of the 
>deps.edn file. When updating, only the dependencies section is updated and 
>other parts of the pom file will be left as is.
>- Added built-in s3 private Maven repo support (docs 
>
> ).
>  
>Many thanks to the creators of the s3-wagon-private project (which wraps 
>the Spring aws-maven project) for making this easy! 
>
> The brew installer has been updated to include these changes (versions 
> 1.8.0.179 for stable, 1.9.0-beta3.240 for --devel). If you installed using 
> the brew installer, use "brew upgrade clojure" or "brew upgrade clojure 
> --devel" to get the latest stable or development version. 
>
> Links:
>
>- Deps and CLI guide  - 
>updated for latest release
>- tools.deps.alpha project 
>
>- Change log 
>
>
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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.


[ANN] Lightmod, an all-in-one tool for full stack Clojure

2017-11-04 Thread Zach Oakes
Today I'm releasing a new tool that lets you make full stack Clojure web 
apps without any build tools or even any system-wide JDK install. It runs 
everything internally and gives a very integrated experience that I think 
is great for newcomers. You are limited to the libraries that I bundled 
with the tool, so this is just meant to be a smoother stepping stone before 
you take the red pill and become a full clojure acolyte. Anyway here's the 
website:

https://sekao.net/lightmod/

Check out the screencast on the website to see it in action. Please let me 
know when you find bugs...my first releases are always pretty shaky. Enjoy!

-- 
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.


Re: [ANN] Nightcoders.net, a cloud IDE for ClojureScript

2017-01-15 Thread Zach Oakes
Hello Erik, very valid points. I agree that young people would benefit from 
a "higher level" tool that focused on games. I think it should be a 
separate thing, though. In fact, several years ago, after I made Nightcode, 
I built a tool just like that, called Nightmod. My latest project, 
Nightcoders.net, is kind of a web-based equivalent of Nightcode. Based on 
this pattern, guess what project I'm thinking of working on next =)

Zach

On Sunday, January 15, 2017 at 4:35:04 AM UTC-5, Erik Assum wrote:
>
> Hi Zach, 
>
> I just stumbled upon your blog post about this at 
> https://sekao.net/blog/nightcoders.html, by the way of Shaun LeBron 
> retweeting Josh Burkes tweet which cited "We should try to be the next 
> Geocities, not the next Intellij". 
>
> Last night, I spent some time coding with my son over on http://code.org. 
> We started out with some flappy-bird thing, and ended 
> up on https://codecombat.com/play?hour_of_code=true which is some kind of 
> strange mix between coding and playing a game.
>
> Since I don't play games, but program, and my son doesn't program but 
> plays games, this thing hit the sweet-spot for us, and I guess
> it's an example of an idea I've had for quite some time, make a game where 
> the main interaction with the game is through coding.
>
> I'm not sure where I'm going with all this rambling, but here is a couple 
> of points:
>
> 1) The flappy bird thing https://studio.code.org/flappy/1 essentially 
> provides you with hooks into an event loop with predefined functions
> to call so kids can play around with stuff and see results easily.
>
> 2) The drawback with this approach (the graphic coding approach) is 
> highlighted in Tommy Halls euroclojure talk from 2013
> https://vimeo.com/100425264, which basically states that these approaches 
> are not turtles all the way down and that that is a bad thing.
>
> 3) Knowing that you create games (
> https://www.youtube.com/watch?v=0GzzFeS5cMc), I'd love to see some kind 
> of more fleshed out 
> game example in Nightcoders to start, well, playing with.
>
> 4) For kids (at least my 9yo), it seems like giving them an IDE and say 
> here, code some stuff, doesn't work. But give a kid something like 
> http://dragonbox.com/products/algebra-5, and they cannot stop solving 
> equations. 
>
> I'm not quite sure why I'm writing this, other than to say Nightcoders 
> seems like a step in the right direction, and that I agree with the
> quote from the blog, and here are the thoughts it provoked.
>
> Erik.
>
> On Wed, Jan 4, 2017 at 5:20 PM, Zach Oakes <zso...@gmail.com 
> > wrote:
>
>> Cloud IDEs are becoming more common. To quote the rifleman's creed, there 
>> are many others like it, but this one is mine:
>>
>> http://nightcoders.net/
>>
>> It's basically a hosted version of Nightlight, running the compiler on my 
>> server so you can build CLJS projects using nothing but a web browser. I'm 
>> aiming at beginners, much like I did with the original Nightcode, but this 
>> time I'm going further by eliminating all setup requirements.
>>
>> Please be gentle with it. I've only been working on this for the past few 
>> weeks while vacationing in mexico...mostly as a distraction while my body 
>> convulsed over the somewhat unhygienic street food I gave it. I spent a lot 
>> of time in the bathroom. That may be oversharing. Oh well.
>>
>> Enjoy!
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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.


Re: [ANN] Nightcoders.net, a cloud IDE for ClojureScript

2017-01-04 Thread Zach Oakes
OK it is back up now. Please let me know if you notice any problems -- in 
addition to fixing the Safari issue, I migrated to a server with more 
memory.

On Wednesday, January 4, 2017 at 8:52:17 PM UTC-6, Zach Oakes wrote:
>
> Thanks for the feedback! I fixed the Safari issue and I'm about to take 
> the server down to do another deploy. Hang tight and sorry again to those 
> who are currently on it.
>
> On Wednesday, January 4, 2017 at 10:20:20 AM UTC-6, Zach Oakes wrote:
>>
>> Cloud IDEs are becoming more common. To quote the rifleman's creed, there 
>> are many others like it, but this one is mine:
>>
>> http://nightcoders.net/
>>
>> It's basically a hosted version of Nightlight, running the compiler on my 
>> server so you can build CLJS projects using nothing but a web browser. I'm 
>> aiming at beginners, much like I did with the original Nightcode, but this 
>> time I'm going further by eliminating all setup requirements.
>>
>> Please be gentle with it. I've only been working on this for the past few 
>> weeks while vacationing in mexico...mostly as a distraction while my body 
>> convulsed over the somewhat unhygienic street food I gave it. I spent a lot 
>> of time in the bathroom. That may be oversharing. Oh well.
>>
>> Enjoy!
>>
>

-- 
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.


Re: [ANN] Nightcoders.net, a cloud IDE for ClojureScript

2017-01-04 Thread Zach Oakes
Thanks for the feedback! I fixed the Safari issue and I'm about to take the 
server down to do another deploy. Hang tight and sorry again to those who 
are currently on it.

On Wednesday, January 4, 2017 at 10:20:20 AM UTC-6, Zach Oakes wrote:
>
> Cloud IDEs are becoming more common. To quote the rifleman's creed, there 
> are many others like it, but this one is mine:
>
> http://nightcoders.net/
>
> It's basically a hosted version of Nightlight, running the compiler on my 
> server so you can build CLJS projects using nothing but a web browser. I'm 
> aiming at beginners, much like I did with the original Nightcode, but this 
> time I'm going further by eliminating all setup requirements.
>
> Please be gentle with it. I've only been working on this for the past few 
> weeks while vacationing in mexico...mostly as a distraction while my body 
> convulsed over the somewhat unhygienic street food I gave it. I spent a lot 
> of time in the bathroom. That may be oversharing. Oh well.
>
> Enjoy!
>

-- 
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.


Re: [ANN] Nightcoders.net, a cloud IDE for ClojureScript

2017-01-04 Thread Zach Oakes
OK I'll look into dealing with that more gracefully.

BTW for those who were just on, I just restarted the server, sorry bout 
that. I needed to improve the confirmation dialog for deleting 
projects/accounts. Eventually i'll figure out how to deploy like the pros 
do...

On Wednesday, January 4, 2017 at 1:08:42 PM UTC-6, Alex Miller wrote:
>
> Ah, it was Ghostery. 
>
> On Wednesday, January 4, 2017 at 1:06:13 PM UTC-6, Zach Oakes wrote:
>>
>> Hmm! Anyone else get that? Can't reproduce even after clearing cache and 
>> whatnot.
>>
>> On Wednesday, January 4, 2017 at 12:59:49 PM UTC-6, Alex Miller wrote:
>>>
>>> Didn't load for me...
>>>
>>> Uncaught TypeError: gapi.load is not a function
>>> at nightcoders.js:513
>>> at nightcoders.js:513
>>>
>>> Did I broke it?
>>>
>>>
>>> On Wednesday, January 4, 2017 at 10:20:20 AM UTC-6, Zach Oakes wrote:
>>>>
>>>> Cloud IDEs are becoming more common. To quote the rifleman's creed, 
>>>> there are many others like it, but this one is mine:
>>>>
>>>> http://nightcoders.net/
>>>>
>>>> It's basically a hosted version of Nightlight, running the compiler on 
>>>> my server so you can build CLJS projects using nothing but a web browser. 
>>>> I'm aiming at beginners, much like I did with the original Nightcode, but 
>>>> this time I'm going further by eliminating all setup requirements.
>>>>
>>>> Please be gentle with it. I've only been working on this for the past 
>>>> few weeks while vacationing in mexico...mostly as a distraction while my 
>>>> body convulsed over the somewhat unhygienic street food I gave it. I spent 
>>>> a lot of time in the bathroom. That may be oversharing. Oh well.
>>>>
>>>> Enjoy!
>>>>
>>>

-- 
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.


Re: [ANN] Nightcoders.net, a cloud IDE for ClojureScript

2017-01-04 Thread Zach Oakes
Hmm! Anyone else get that? Can't reproduce even after clearing cache and 
whatnot.

On Wednesday, January 4, 2017 at 12:59:49 PM UTC-6, Alex Miller wrote:
>
> Didn't load for me...
>
> Uncaught TypeError: gapi.load is not a function
> at nightcoders.js:513
> at nightcoders.js:513
>
> Did I broke it?
>
>
> On Wednesday, January 4, 2017 at 10:20:20 AM UTC-6, Zach Oakes wrote:
>>
>> Cloud IDEs are becoming more common. To quote the rifleman's creed, there 
>> are many others like it, but this one is mine:
>>
>> http://nightcoders.net/
>>
>> It's basically a hosted version of Nightlight, running the compiler on my 
>> server so you can build CLJS projects using nothing but a web browser. I'm 
>> aiming at beginners, much like I did with the original Nightcode, but this 
>> time I'm going further by eliminating all setup requirements.
>>
>> Please be gentle with it. I've only been working on this for the past few 
>> weeks while vacationing in mexico...mostly as a distraction while my body 
>> convulsed over the somewhat unhygienic street food I gave it. I spent a lot 
>> of time in the bathroom. That may be oversharing. Oh well.
>>
>> Enjoy!
>>
>

-- 
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.


[ANN] Nightcoders.net, a cloud IDE for ClojureScript

2017-01-04 Thread Zach Oakes
Cloud IDEs are becoming more common. To quote the rifleman's creed, there 
are many others like it, but this one is mine:

http://nightcoders.net/

It's basically a hosted version of Nightlight, running the compiler on my 
server so you can build CLJS projects using nothing but a web browser. I'm 
aiming at beginners, much like I did with the original Nightcode, but this 
time I'm going further by eliminating all setup requirements.

Please be gentle with it. I've only been working on this for the past few 
weeks while vacationing in mexico...mostly as a distraction while my body 
convulsed over the somewhat unhygienic street food I gave it. I spent a lot 
of time in the bathroom. That may be oversharing. Oh well.

Enjoy!

-- 
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.


[ANN] Nightlight 1.3.0: Total Rewrite (of the frontend)

2016-12-07 Thread Zach Oakes
TL;DR: Nightlight, and embedded Clojure editor, just got a makeover: 
https://sekao.net/nightlight/

Well, it had to happen at some point. The original version of Nightlight I 
wrote a few months ago was cobbled together with bootstrap, jQuery, and 
regrets. I knew about React, but I was but a simple farmer tending to my 
parenthesis, and wasn’t sure how to use it.

I finally found the time to learn and over a few days I rewrote the front 
end with Reagent and the Material UI library. In addition to just looking 
better (subjectively), it’ll be much nicer to maintain. Here’s the 
obligatory before 

 
and after  
shots.

Oh, and I will be giving a talk about Nightlight at ClojureD in February!

-- 
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.


Re: [ANN] Nightlight, an embedded editor for Clojure

2016-10-29 Thread Zach Oakes
Yep I definitely plan on adding that feature. For now, you'll just have to 
refresh your browser =) By the way, I just released version 1.1.0, which 
adds some initial support for ClojureScript! I added a new section on the 
website that explains how to set it up.

On Saturday, October 29, 2016 at 3:41:05 AM UTC-4, ru wrote:
>
> Great work, Zach! Thank you. I would like to switch from 
> Lifhttable+Terminal working environment that I use now, to Nightlight. But 
> I definitely need "Refresh folder" and/or "Refresh file" actions, because 
> sometimes I update source files from outside of a project. Is it possible 
> to add something like that to Nightlight? 
>
> Sincerely,
>  Ru
>
> воскресенье, 9 октября 2016 г., 5:03:58 UTC+3 пользователь Zach Oakes 
> написал:
>>
>> 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.


Re: [ANN] Nightlight, an embedded editor for Clojure

2016-10-19 Thread Zach Oakes
I forgot all about the dependency issue, sorry about that. I just released 
1.0.1 which removes that dependency so hopefully it should work without 
requiring that workaround.

On Wednesday, October 19, 2016 at 9:46:39 AM UTC-4, ma...@pickaplay.net 
wrote:
>
> Although, I am using boot and not lein, I added this dependency to my 
> project: [org.flatland/useful "0.11.5"]. After this, nightlight works as it 
> should.
>
>
>
>
> On Sunday, October 9, 2016 at 2:33:31 PM UTC-4, Zach Oakes wrote:
>>
>> I'll look into it. It looks like it's probably a dependency conflict. I'm 
>> using clojail to prevent the instaREPL from taking too long to run. It's 
>> using pretty old dependencies so I'll probably just fork and update it so 
>> this issue goes away.
>>
>> On Sunday, October 9, 2016 at 2:21:54 PM UTC-4, Hari Krishnan wrote:
>>>
>>> Thanks for creating an editor like this.  I may have a good use case..
>>>>>
>>>>
>>> I followed the  updated instructions, and I am getting this error.  I am 
>>> on [org.clojure/clojure "1.8.0"]
>>>
>>> [2016-10-09 11:16:00,994][DEBUG][org.jboss.logging] Logging Provider: 
>>> org.jboss.logging.Log4jLoggerProvider
>>> Exception in thread "main" java.lang.IllegalAccessError: flatten-all 
>>> does not exist, compiling:(clojail/core.clj:1:1)
>>> at clojure.lang.Compiler.load(Compiler.java:7391)
>>> at clojure.lang.RT.loadResourceScript(RT.java:372)
>>> at clojure.lang.RT.loadResourceScript(RT.java:363)
>>> at clojure.lang.RT.load(RT.java:453)
>>> at clojure.lang.RT.load(RT.java:419)
>>> at clojure.core$load$fn__5677.invoke(core.clj:5893)
>>> at clojure.core$load.invokeStatic(core.clj:5892)
>>> at clojure.core$load.doInvoke(core.clj:5876)
>>> at clojure.lang.RestFn.invoke(RestFn.java:408)
>>> at clojure.core$load_one.invokeStatic(core.clj:5697)
>>> at clojure.core$load_one.invoke(core.clj:5692)
>>> at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
>>> at clojure.core$load_lib.invokeStatic(core.clj:5736)
>>> at clojure.core$load_lib.doInvoke(core.clj:5717)
>>> at clojure.lang.RestFn.applyTo(RestFn.java:142)
>>> at clojure.core$apply.invokeStatic(core.clj:648)
>>> at clojure.core$load_libs.invokeStatic(core.clj:5774)
>>> at clojure.core$load_libs.doInvoke(core.clj:5758)
>>> at clojure.lang.RestFn.applyTo(RestFn.java:137)
>>> at clojure.core$apply.invokeStatic(core.clj:648)
>>> at clojure.core$require.invokeStatic(core.clj:5796)
>>> at clojure.core$require.doInvoke(core.clj:5796)
>>> at clojure.lang.RestFn.invoke(RestFn.java:421)
>>> at 
>>> eval_soup.core$eval42846$loading__5569__auto42847.invoke(core.clj:1)
>>> at eval_soup.core$eval42846.invokeStatic(core.clj:1)
>>> at eval_soup.core$eval42846.invoke(core.clj:1)
>>> at clojure.lang.Compiler.eval(Compiler.java:6927)
>>> at clojure.lang.Compiler.eval(Compiler.java:6916)
>>> at clojure.lang.Compiler.load(Compiler.java:7379)
>>> at clojure.lang.RT.loadResourceScript(RT.java:372)
>>> at clojure.lang.RT.loadResourceScript(RT.java:363)
>>> at clojure.lang.RT.load(RT.java:453)
>>> at clojure.lang.RT.load(RT.java:419)
>>> at clojure.core$load$fn__5677.invoke(core.clj:5893)
>>> at clojure.core$load.invokeStatic(core.clj:5892)
>>> at clojure.core$load.doInvoke(core.clj:5876)
>>> at clojure.lang.RestFn.invoke(RestFn.java:408)
>>> at clojure.core$load_one.invokeStatic(core.clj:5697)
>>> at clojure.core$load_one.invoke(core.clj:5692)
>>> at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
>>> at clojure.core$load_lib.invokeStatic(core.clj:5736)
>>> at clojure.core$load_lib.doInvoke(core.clj:5717)
>>> at clojure.lang.RestFn.applyTo(RestFn.java:142)
>>> at clojure.core$apply.invokeStatic(core.clj:648)
>>> at clojure.core$load_libs.invokeStatic(core.clj:5774)
>>> at clojure.core$load_libs.doInvoke(core.clj:5758)
>>> at clojure.lang.RestFn.applyTo(RestFn.java:137)
>>> at clojure.core$apply.invokeStatic(core.clj:648)
>>> at clojure.core$require.invokeStatic(core.clj:5796)
>>> at clojure.core$require.doInvoke(core.clj:5796)
>>> at clojure.lang.RestFn.invoke(RestFn.java:1096)
>>> at 
>>> nightlight.core$eval42840$loading__5569__auto42841.invoke(core.clj:1)
>>> at nightlight.core$eval42840.invokeStatic(core.clj:1)
>>> at nightlight.core$eval42840.invoke(core.clj:1)
>>> at clojure.lang.Compiler.eval(Compiler.java:6927)
>>>

Re: [ANN] Nightlight, an embedded editor for Clojure

2016-10-09 Thread Zach Oakes
I'll look into it. It looks like it's probably a dependency conflict. I'm 
using clojail to prevent the instaREPL from taking too long to run. It's 
using pretty old dependencies so I'll probably just fork and update it so 
this issue goes away.

On Sunday, October 9, 2016 at 2:21:54 PM UTC-4, Hari Krishnan wrote:
>
> Thanks for creating an editor like this.  I may have a good use case..
>>>
>>
> I followed the  updated instructions, and I am getting this error.  I am 
> on [org.clojure/clojure "1.8.0"]
>
> [2016-10-09 11:16:00,994][DEBUG][org.jboss.logging] Logging Provider: 
> org.jboss.logging.Log4jLoggerProvider
> Exception in thread "main" java.lang.IllegalAccessError: flatten-all does 
> not exist, compiling:(clojail/core.clj:1:1)
> at clojure.lang.Compiler.load(Compiler.java:7391)
> at clojure.lang.RT.loadResourceScript(RT.java:372)
> at clojure.lang.RT.loadResourceScript(RT.java:363)
> at clojure.lang.RT.load(RT.java:453)
> at clojure.lang.RT.load(RT.java:419)
> at clojure.core$load$fn__5677.invoke(core.clj:5893)
> at clojure.core$load.invokeStatic(core.clj:5892)
> at clojure.core$load.doInvoke(core.clj:5876)
> at clojure.lang.RestFn.invoke(RestFn.java:408)
> at clojure.core$load_one.invokeStatic(core.clj:5697)
> at clojure.core$load_one.invoke(core.clj:5692)
> at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
> at clojure.core$load_lib.invokeStatic(core.clj:5736)
> at clojure.core$load_lib.doInvoke(core.clj:5717)
> at clojure.lang.RestFn.applyTo(RestFn.java:142)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$load_libs.invokeStatic(core.clj:5774)
> at clojure.core$load_libs.doInvoke(core.clj:5758)
> at clojure.lang.RestFn.applyTo(RestFn.java:137)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$require.invokeStatic(core.clj:5796)
> at clojure.core$require.doInvoke(core.clj:5796)
> at clojure.lang.RestFn.invoke(RestFn.java:421)
> at eval_soup.core$eval42846$loading__5569__auto42847.invoke(core.clj:1)
> at eval_soup.core$eval42846.invokeStatic(core.clj:1)
> at eval_soup.core$eval42846.invoke(core.clj:1)
> at clojure.lang.Compiler.eval(Compiler.java:6927)
> at clojure.lang.Compiler.eval(Compiler.java:6916)
> at clojure.lang.Compiler.load(Compiler.java:7379)
> at clojure.lang.RT.loadResourceScript(RT.java:372)
> at clojure.lang.RT.loadResourceScript(RT.java:363)
> at clojure.lang.RT.load(RT.java:453)
> at clojure.lang.RT.load(RT.java:419)
> at clojure.core$load$fn__5677.invoke(core.clj:5893)
> at clojure.core$load.invokeStatic(core.clj:5892)
> at clojure.core$load.doInvoke(core.clj:5876)
> at clojure.lang.RestFn.invoke(RestFn.java:408)
> at clojure.core$load_one.invokeStatic(core.clj:5697)
> at clojure.core$load_one.invoke(core.clj:5692)
> at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
> at clojure.core$load_lib.invokeStatic(core.clj:5736)
> at clojure.core$load_lib.doInvoke(core.clj:5717)
> at clojure.lang.RestFn.applyTo(RestFn.java:142)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$load_libs.invokeStatic(core.clj:5774)
> at clojure.core$load_libs.doInvoke(core.clj:5758)
> at clojure.lang.RestFn.applyTo(RestFn.java:137)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$require.invokeStatic(core.clj:5796)
> at clojure.core$require.doInvoke(core.clj:5796)
> at clojure.lang.RestFn.invoke(RestFn.java:1096)
> at 
> nightlight.core$eval42840$loading__5569__auto42841.invoke(core.clj:1)
> at nightlight.core$eval42840.invokeStatic(core.clj:1)
> at nightlight.core$eval42840.invoke(core.clj:1)
> at clojure.lang.Compiler.eval(Compiler.java:6927)
> at clojure.lang.Compiler.eval(Compiler.java:6916)
> at clojure.lang.Compiler.load(Compiler.java:7379)
> at clojure.lang.RT.loadResourceScript(RT.java:372)
> at clojure.lang.RT.loadResourceScript(RT.java:363)
> at clojure.lang.RT.load(RT.java:453)
> at clojure.lang.RT.load(RT.java:419)
> at clojure.core$load$fn__5677.invoke(core.clj:5893)
> at clojure.core$load.invokeStatic(core.clj:5892)
> at clojure.core$load.doInvoke(core.clj:5876)
> at clojure.lang.RestFn.invoke(RestFn.java:408)
> at clojure.core$load_one.invokeStatic(core.clj:5697)
> at clojure.core$load_one.invoke(core.clj:5692)
> at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
> at clojure.core$load_lib.invokeStatic(core.clj:5736)
> at clojure.core$load_lib.doInvoke(core.clj:5717)
> at clojure.lang.RestFn.applyTo(RestFn.java:142)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$load_libs.invokeStatic(core.clj:5774)
> at clojure.core$load_libs.doInvoke(core.clj:5758)
> at clojure.lang.RestFn.applyTo(RestFn.java:137)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$require.invokeStatic(core.clj:5796)
> at clojure.core$require.doInvoke(core.clj:5796)
> at clojure.lang.RestFn.invoke(RestFn.java:408)
> at user$eval42836.invokeStatic(form-init3168806215743400634.clj:1)
> at user$eval42836.invoke(form-init3168806215743400634.clj:1)
> at 

Re: [ANN] Nightlight, an embedded editor for Clojure

2016-10-09 Thread Zach Oakes
And 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.


[ANN] Nightlight, an embedded editor for Clojure

2016-10-08 Thread Zach Oakes


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.


Re: Execution Model

2016-08-11 Thread Zach Oakes
Not sure there is any direct way to change that behavior but want to look 
into Boot scripts if you want to write small scripts without dealing with a 
main method. Here's a cool demonstration of writing a Boot script that 
starts a web server at the top level of the file:

https://medium.com/@bendyorke/0-to-clojure-in-less-than-10-lines-of-code-789b360f

On Thursday, August 11, 2016 at 8:46:32 AM UTC-4, John White wrote:
>
> Hello,
>
> Does anyone know how to make Clojure behave more like ClojureScript when 
> compiling?
>
> That is, I don't want the top level forms evaluated - just analyzed and 
> compiled, so I can write a script of top level forms that won't run when I 
> compile the clj?
>
> Thanks,
> John
>

-- 
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.


Re: [ANN] Nightcode 2: Total Rewrite

2016-07-17 Thread Zach Oakes
I just released 2.0.1 which (hopefully) fixes the REPL issue that occurred 
when using Overtone. I also adds the ability to cycle through REPL history 
with up/down arrows. Lastly, for those with issues using it on Linux with 
OpenJDK, I now have deb/rpm packages that bundle the necessary oracle stuff.

Dave: Thanks for making alda! It rocks and I'm hoping to do all kinds of 
stuff to integrate with it.

On Wednesday, July 13, 2016 at 1:58:05 PM UTC-4, Zach Oakes wrote:
>
> TL;DR: Nightcode, a Clojure IDE, just got a makeover: 
> https://sekao.net/nightcode/
>
> In a world...where developer tools are gargantuan beasts, unapproachable 
> to beginners, one IDE stood alone.
>
> *a fiddle softly plays ashokan farewell*
>
> “You’re not going already, are you, Nightcode?”
>
> “I must, father. So many new people are learning Clojure. They need me.”
>
> *music becomes ominous as Nightcode rides a wagon into the distance*
>
> Until one day, when it embarked on a journey to save the world...from 
> itself.
>
> *scene switches to Nightcode crouching in a fetal position in a dense 
> forest*
>
> “I’m hearing voices.”
>
> *heavy breathing*
>
> “STOP TALKING TO ME!”
>
> *one of those jumanji drums starts beating slowly and then gets faster and 
> louder*
>
> *the camera zooms in on Nightcode’s face as it suddenly smiles wryly*
>
> Things are about to get...complicated.
>
> *scene changes, a crowd gathers in a small village*
>
> “Gather ‘round! I’m making it easy to start coding!”
>
> “But Nightcode, those appear to be bugs!”
>
> “Wrong, ma’am, they are features! All of them!”
>
> “SILENCE!”
>
> *the crowd becomes mute as a hooded figure moves forward*
>
> “Enough of this madness, Nightcode. In three years your features have 
> remained dormant as your bug count has exploded! Meanwhile, people have 
> been using --”
>
> “Don’t listen to this fraud, you all need me”
>
> *Nightcode lifts its trench coat and releases a plague of bugs on the 
> village as it runs away*
>
> “I don’t want to crash but I will if I have to. I don’t want to crash but 
> I will if I have to. I don’t want to crash but I will if I have to. STOP 
> THE VOICES, MAKE IT STOP!”
>
> When your life is no longer your own...
>
> *screen dims, Nightcode runs into a forest as the village is ravaged*
>
> ...a hero must rise.
>
> *the hooded figure reveals himself*
>
> Meet...Kevin.
>
> *Kevin Hart smiles as upbeat music blares*
>
> “HEY Y’ALL THAT WAS CRAZY! I guess it’s a bad time to ask for a better 
> hotel. HAHA!”
>
> Kevin is just an average guy, with a few...friends.
>
> *the camera pans several feet up to reveal...Ice Cube and Dwayne Johnson*
>
> “This is gonna be bad, Cube.”
>
> “I know, man. How did we get stuck with this guy again?”
>
> A brave trio must save the world from Nightcode...by reinventing it.
>
> “Check it. Nightcode can’t be killed. We gotta find the good inside it and 
> rip it out!”
>
> “YEAH CUBE I AGREE. JUST LIKE YOU DID WITH YOUR CAREER!”
>
> *Cube slaps Hart and continues*
>
> “There’s only one way to do that. We gotta rewrite Nightcode.”
>
> “You mean like a sequel? Like we keep doing with Fast and the Furious? No 
> way.”
>
> “YEAH CUBE, JOEL SPOLSKY SAID YOU SHOULD NEVER --”
>
> “Dammit I KNOW what Joel Spolsky said, and I don’t care. You guys got any 
> better ideas?”
>
> *Hart and Johnson look at each other sheepishly*
>
> *scene switches to a workshop with maps and shit*
>
> “Nightcode is written with Swing, a deprecated UI framework. We’re gonna 
> replace it with Java FX. What do you got Rock?”
>
> “The editor. Right now it doesn’t offer much beyond syntax highlighting. 
> We’re gonna have to write something from scratch.”
>
> “AWW HELL YEAH, GONNA BE LIKE LIGHT TABLE HAD A BABY WITH CURSIVE, 
> HAHAA!”
>
> “What? No. Relax Kev. An instaREPL and some basic inline errors, that’s 
> all we have time for.”
>
> The trio will learn…
>
> *Hart looks in a mirror*
>
> “Oh hey Nightcode, what’s up? CAN YOU DEAL WITH THESE RAINBOW PARENS?! 
> Didn’t think so.”
>
> ...what it’s like…
>
> *Cube emerges from the workshop covered in oil*
>
> “We shrunk the damn jar file from 50 MB to just 19!”
>
> ...to overcome odds.
>
> “The new version has just 1600 lines of code, less than half what the old 
> one has. We may actually pull this off.”
>
> This summer, get ready…
>
> “WATCH ME MOVE. WATCH ME MOVE. WATCH ME -- hey man take it easy put that 
> down be cool.”
>
> ...for the rewrite…
>
> “I’m sick of these motherfuckin’ bugs, on this motherfuckin’ IDE!”
>
> ...of your life.
>
> “We’re gonna ge

Re: [ANN] Nightcode 2: Total Rewrite

2016-07-15 Thread Zach Oakes
I will definitely look into the REPL issue this weekend. Sorry about that 
regression -- there are some rough edges right now. My users are also my 
beta testers :)

On Thursday, July 14, 2016 at 10:46:17 PM UTC-4, yokolet wrote:
>
> Thanks for the update! A single REPL window on the new version looks nice. 
> It's good to avoid confusion for beginners.
> Recently, ClojureBridge (clojurebridge.org) officially switched to 
> Nightcode. I think ClojureBridge students will like this easy to use editor.
>
> However, there's a really *ouch* problem in version 2.0.0. It doesn't play 
> nicely with Overtone. ClojureBridge has one Overtone material, which works 
> well on night code 1.3.1. I could run (piano),  (piano 48) or other 
> Overtone functions many times on the REPL window. But, on 2.0.0, if I run 
> (piano) once, that's it. REPL window acts weirdly.
>
> Are there any links to older versions? For a while, ClojureBridge wants to 
> stick to version 1.3.x.
>
> - Yoko
>
>
>
> On Wed, Jul 13, 2016 at 11:18 PM, Christopher Small <metas...@gmail.com 
> > wrote:
>
>> OMG. Thank you for this brilliant introduction. And of course all your 
>> hard work, as well :-)
>>
>>
>>
>> On Wednesday, July 13, 2016 at 7:35:53 PM UTC-7, Zach Oakes wrote:
>>>
>>> As I understand it, the Boot.java I linked to basically does that. You 
>>> just run its main function and it takes care of downloading Boot to the 
>>> right spot and invoking it.
>>>
>>> On Wednesday, July 13, 2016 at 10:18:05 PM UTC-4, Colin Fleming wrote:
>>>>
>>>> What I do for Leiningen in Cursive is basically mimic what the lein 
>>>> script does, and download the uberjars to .lein/self-installs, and then 
>>>> run 
>>>> processes with those on the classpath. Would something similar for Boot 
>>>> work? As I understand it, boot.sh is just a tricky wrapper around an 
>>>> embedded jar, so hopefully that would work. I'm also selfishly interested 
>>>> in this because I don't support boot yet but I want to.
>>>>
>>>> On 14 July 2016 at 14:12, Zach Oakes <zso...@gmail.com> wrote:
>>>>
>>>>> If I get desperate I may do that, but the main users I care about are 
>>>>> beginners, and they generally have trouble installing CLI tools. I'm 
>>>>> hoping 
>>>>> it is a trivial fix and I'll be able to get Boot working in 2.1.0 :)
>>>>>
>>>>> On Wednesday, July 13, 2016 at 9:44:50 PM UTC-4, Mark wrote:
>>>>>>
>>>>>> How about, until the issues are resolved, you require boot to be 
>>>>>> installed?
>>>>>> On Jul 13, 2016 6:52 PM, "Zach Oakes" <zso...@gmail.com> wrote:
>>>>>>
>>>>>>> That Boot tab is quite a tease ;) I wanted to finish support for it 
>>>>>>> so bad, but technical difficulties prevented me from doing it. I 
>>>>>>> definitely 
>>>>>>> plan to still do so, and any help would be appreciated.
>>>>>>>
>>>>>>> The issue is actually pretty simple: I need to be able to call Boot 
>>>>>>> commands without having Boot installed. I do so for Leiningen by 
>>>>>>> literally 
>>>>>>> adding it as a dependency and calling its build commands 
>>>>>>> programatically. 
>>>>>>> Boot simply isn't designed to work that way.
>>>>>>>
>>>>>>> After talking to the Boot folks, they suggested I add Boot.java 
>>>>>>> <https://github.com/boot-clj/boot-bin/blob/master/src/Boot.java> to 
>>>>>>> my project and start a process that calls its main method with the 
>>>>>>> appropriate task names. Easy enough, but that does not actually work. 
>>>>>>> It 
>>>>>>> turns out that AOT compilation causes this java file to not behave 
>>>>>>> correctly.
>>>>>>>
>>>>>>> If anyone is interested in investigating this, I created a minimal 
>>>>>>> case for this issue here: https://github.com/oakes/boot-clj-issue
>>>>>>>
>>>>>>> Once that is resolved, it will be pretty trivial to enable building 
>>>>>>> Boot projects.I actually would like to make the built-in templates use 
>>>>>>> Boot 
>>>>>>> by default instead of Leiningen. Boot script

Re: [ANN] Nightcode 2: Total Rewrite

2016-07-13 Thread Zach Oakes
As I understand it, the Boot.java I linked to basically does that. You just 
run its main function and it takes care of downloading Boot to the right 
spot and invoking it.

On Wednesday, July 13, 2016 at 10:18:05 PM UTC-4, Colin Fleming wrote:
>
> What I do for Leiningen in Cursive is basically mimic what the lein script 
> does, and download the uberjars to .lein/self-installs, and then run 
> processes with those on the classpath. Would something similar for Boot 
> work? As I understand it, boot.sh is just a tricky wrapper around an 
> embedded jar, so hopefully that would work. I'm also selfishly interested 
> in this because I don't support boot yet but I want to.
>
> On 14 July 2016 at 14:12, Zach Oakes <zso...@gmail.com > 
> wrote:
>
>> If I get desperate I may do that, but the main users I care about are 
>> beginners, and they generally have trouble installing CLI tools. I'm hoping 
>> it is a trivial fix and I'll be able to get Boot working in 2.1.0 :)
>>
>> On Wednesday, July 13, 2016 at 9:44:50 PM UTC-4, Mark wrote:
>>>
>>> How about, until the issues are resolved, you require boot to be 
>>> installed?
>>> On Jul 13, 2016 6:52 PM, "Zach Oakes" <zso...@gmail.com> wrote:
>>>
>>>> That Boot tab is quite a tease ;) I wanted to finish support for it so 
>>>> bad, but technical difficulties prevented me from doing it. I definitely 
>>>> plan to still do so, and any help would be appreciated.
>>>>
>>>> The issue is actually pretty simple: I need to be able to call Boot 
>>>> commands without having Boot installed. I do so for Leiningen by literally 
>>>> adding it as a dependency and calling its build commands programatically. 
>>>> Boot simply isn't designed to work that way.
>>>>
>>>> After talking to the Boot folks, they suggested I add Boot.java 
>>>> <https://github.com/boot-clj/boot-bin/blob/master/src/Boot.java> to my 
>>>> project and start a process that calls its main method with the 
>>>> appropriate 
>>>> task names. Easy enough, but that does not actually work. It turns out 
>>>> that 
>>>> AOT compilation causes this java file to not behave correctly.
>>>>
>>>> If anyone is interested in investigating this, I created a minimal case 
>>>> for this issue here: https://github.com/oakes/boot-clj-issue
>>>>
>>>> Once that is resolved, it will be pretty trivial to enable building 
>>>> Boot projects.I actually would like to make the built-in templates use 
>>>> Boot 
>>>> by default instead of Leiningen. Boot scripts in particular will be 
>>>> awesome 
>>>> for beginners.
>>>>
>>>> On Wednesday, July 13, 2016 at 6:44:01 PM UTC-4, Sean Corfield wrote:
>>>>>
>>>>> I see a Boot tab in the REPL area but looking at the source code, 
>>>>> detecting build.boot is disabled (and, indeed, I can’t get NC to 
>>>>> recognize 
>>>>> any of my Boot-only projects).
>>>>>
>>>>>  
>>>>>
>>>>> Can you speak to where you are on Boot support?
>>>>>
>>>>>  
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
>>>>> An Architect's View -- http://corfield.org/
>>>>>
>>>>> "If you're not annoying somebody, you're not really alive."
>>>>> -- Margaret Atwood
>>>>>
>>>>>  
>>>>>
>>>>> On 7/13/16, 10:58 AM, "Zach Oakes" <clo...@googlegroups.com on behalf 
>>>>> of zso...@gmail.com> wrote:
>>>>>
>>>>> TL;DR: Nightcode, a Clojure IDE, just got a makeover: 
>>>>> https://sekao.net/nightcode/
>>>>>
>>>>>  
>>>>>
>>>>>  
>>>>>
>>>>> -- 
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To post to this group, send email to clo...@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+u...@googlegroups.com
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/clojure?hl=en
>>>> --- 
&

Re: [ANN] Nightcode 2: Total Rewrite

2016-07-13 Thread Zach Oakes
If I get desperate I may do that, but the main users I care about are 
beginners, and they generally have trouble installing CLI tools. I'm hoping 
it is a trivial fix and I'll be able to get Boot working in 2.1.0 :)

On Wednesday, July 13, 2016 at 9:44:50 PM UTC-4, Mark wrote:
>
> How about, until the issues are resolved, you require boot to be installed?
> On Jul 13, 2016 6:52 PM, "Zach Oakes" <zso...@gmail.com > 
> wrote:
>
>> That Boot tab is quite a tease ;) I wanted to finish support for it so 
>> bad, but technical difficulties prevented me from doing it. I definitely 
>> plan to still do so, and any help would be appreciated.
>>
>> The issue is actually pretty simple: I need to be able to call Boot 
>> commands without having Boot installed. I do so for Leiningen by literally 
>> adding it as a dependency and calling its build commands programatically. 
>> Boot simply isn't designed to work that way.
>>
>> After talking to the Boot folks, they suggested I add Boot.java 
>> <https://github.com/boot-clj/boot-bin/blob/master/src/Boot.java> to my 
>> project and start a process that calls its main method with the appropriate 
>> task names. Easy enough, but that does not actually work. It turns out that 
>> AOT compilation causes this java file to not behave correctly.
>>
>> If anyone is interested in investigating this, I created a minimal case 
>> for this issue here: https://github.com/oakes/boot-clj-issue
>>
>> Once that is resolved, it will be pretty trivial to enable building Boot 
>> projects.I actually would like to make the built-in templates use Boot by 
>> default instead of Leiningen. Boot scripts in particular will be awesome 
>> for beginners.
>>
>> On Wednesday, July 13, 2016 at 6:44:01 PM UTC-4, Sean Corfield wrote:
>>>
>>> I see a Boot tab in the REPL area but looking at the source code, 
>>> detecting build.boot is disabled (and, indeed, I can’t get NC to recognize 
>>> any of my Boot-only projects).
>>>
>>>  
>>>
>>> Can you speak to where you are on Boot support?
>>>
>>>  
>>>
>>> Thanks,
>>>
>>> Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
>>> An Architect's View -- http://corfield.org/
>>>
>>> "If you're not annoying somebody, you're not really alive."
>>> -- Margaret Atwood
>>>
>>>  
>>>
>>> On 7/13/16, 10:58 AM, "Zach Oakes" <clo...@googlegroups.com on behalf 
>>> of zso...@gmail.com> wrote:
>>>
>>> TL;DR: Nightcode, a Clojure IDE, just got a makeover: 
>>> https://sekao.net/nightcode/
>>>
>>>  
>>>
>>>  
>>>
>>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
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.


Re: [ANN] Nightcode 2: Total Rewrite

2016-07-13 Thread Zach Oakes
That Boot tab is quite a tease ;) I wanted to finish support for it so bad, 
but technical difficulties prevented me from doing it. I definitely plan to 
still do so, and any help would be appreciated.

The issue is actually pretty simple: I need to be able to call Boot 
commands without having Boot installed. I do so for Leiningen by literally 
adding it as a dependency and calling its build commands programatically. 
Boot simply isn't designed to work that way.

After talking to the Boot folks, they suggested I add Boot.java 
<https://github.com/boot-clj/boot-bin/blob/master/src/Boot.java> to my 
project and start a process that calls its main method with the appropriate 
task names. Easy enough, but that does not actually work. It turns out that 
AOT compilation causes this java file to not behave correctly.

If anyone is interested in investigating this, I created a minimal case for 
this issue here: https://github.com/oakes/boot-clj-issue

Once that is resolved, it will be pretty trivial to enable building Boot 
projects.I actually would like to make the built-in templates use Boot by 
default instead of Leiningen. Boot scripts in particular will be awesome 
for beginners.

On Wednesday, July 13, 2016 at 6:44:01 PM UTC-4, Sean Corfield wrote:
>
> I see a Boot tab in the REPL area but looking at the source code, 
> detecting build.boot is disabled (and, indeed, I can’t get NC to recognize 
> any of my Boot-only projects).
>
>  
>
> Can you speak to where you are on Boot support?
>
>  
>
> Thanks,
>
> Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
> An Architect's View -- http://corfield.org/
>
> "If you're not annoying somebody, you're not really alive."
> -- Margaret Atwood
>
>  
>
> On 7/13/16, 10:58 AM, "Zach Oakes" <clo...@googlegroups.com  
> on behalf of zso...@gmail.com > wrote:
>
> TL;DR: Nightcode, a Clojure IDE, just got a makeover: 
> https://sekao.net/nightcode/
>
>  
>
>  
>
>

-- 
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.


Re: [ANN] Nightcode 2: Total Rewrite

2016-07-13 Thread Zach Oakes
Ah yeah I don't think Java FX is part of openjdk yet, so I think you need 
to install the oracle version to get it to work on linux.

On Wednesday, July 13, 2016 at 3:29:40 PM UTC-4, Gary Trakhman wrote:
>
> Pretty cool!
>
> On Ubuntu, I was unable to run the jar, it couldn't find the main 
> sekao...core class, although on inspection it was there just fine.
>
> I was able to run it from a git checkout with `boot run`, however I 
> additionally found out I needed to `sudo apt-get install openjfx` 
>
> On Wed, Jul 13, 2016 at 2:16 PM Boris Kourtoukov <boris...@gmail.com 
> > wrote:
>
>> Looks awesome so far Zach! Thanks for going through this monumental 
>> rewrite!
>>
>>
>> On Wednesday, July 13, 2016 at 1:58:05 PM UTC-4, Zach Oakes wrote:
>>>
>>> TL;DR: Nightcode, a Clojure IDE, just got a makeover: 
>>> https://sekao.net/nightcode/
>>>
>>> In a world...where developer tools are gargantuan beasts, unapproachable 
>>> to beginners, one IDE stood alone.
>>>
>>> *a fiddle softly plays ashokan farewell*
>>>
>>> “You’re not going already, are you, Nightcode?”
>>>
>>> “I must, father. So many new people are learning Clojure. They need me.”
>>>
>>> *music becomes ominous as Nightcode rides a wagon into the distance*
>>>
>>> Until one day, when it embarked on a journey to save the world...from 
>>> itself.
>>>
>>> *scene switches to Nightcode crouching in a fetal position in a dense 
>>> forest*
>>>
>>> “I’m hearing voices.”
>>>
>>> *heavy breathing*
>>>
>>> “STOP TALKING TO ME!”
>>>
>>> *one of those jumanji drums starts beating slowly and then gets faster 
>>> and louder*
>>>
>>> *the camera zooms in on Nightcode’s face as it suddenly smiles wryly*
>>>
>>> Things are about to get...complicated.
>>>
>>> *scene changes, a crowd gathers in a small village*
>>>
>>> “Gather ‘round! I’m making it easy to start coding!”
>>>
>>> “But Nightcode, those appear to be bugs!”
>>>
>>> “Wrong, ma’am, they are features! All of them!”
>>>
>>> “SILENCE!”
>>>
>>> *the crowd becomes mute as a hooded figure moves forward*
>>>
>>> “Enough of this madness, Nightcode. In three years your features have 
>>> remained dormant as your bug count has exploded! Meanwhile, people have 
>>> been using --”
>>>
>>> “Don’t listen to this fraud, you all need me”
>>>
>>> *Nightcode lifts its trench coat and releases a plague of bugs on the 
>>> village as it runs away*
>>>
>>> “I don’t want to crash but I will if I have to. I don’t want to crash 
>>> but I will if I have to. I don’t want to crash but I will if I have to. 
>>> STOP THE VOICES, MAKE IT STOP!”
>>>
>>> When your life is no longer your own...
>>>
>>> *screen dims, Nightcode runs into a forest as the village is ravaged*
>>>
>>> ...a hero must rise.
>>>
>>> *the hooded figure reveals himself*
>>>
>>> Meet...Kevin.
>>>
>>> *Kevin Hart smiles as upbeat music blares*
>>>
>>> “HEY Y’ALL THAT WAS CRAZY! I guess it’s a bad time to ask for a 
>>> better hotel. HAHA!”
>>>
>>> Kevin is just an average guy, with a few...friends.
>>>
>>> *the camera pans several feet up to reveal...Ice Cube and Dwayne Johnson*
>>>
>>> “This is gonna be bad, Cube.”
>>>
>>> “I know, man. How did we get stuck with this guy again?”
>>>
>>> A brave trio must save the world from Nightcode...by reinventing it.
>>>
>>> “Check it. Nightcode can’t be killed. We gotta find the good inside it 
>>> and rip it out!”
>>>
>>> “YEAH CUBE I AGREE. JUST LIKE YOU DID WITH YOUR CAREER!”
>>>
>>> *Cube slaps Hart and continues*
>>>
>>> “There’s only one way to do that. We gotta rewrite Nightcode.”
>>>
>>> “You mean like a sequel? Like we keep doing with Fast and the Furious? 
>>> No way.”
>>>
>>> “YEAH CUBE, JOEL SPOLSKY SAID YOU SHOULD NEVER --”
>>>
>>> “Dammit I KNOW what Joel Spolsky said, and I don’t care. You guys got 
>>> any better ideas?”
>>>
>>> *Hart and Johnson look at each other sheepishly*
>>>
>>> *scene switches to a workshop with maps and shit*
>>>
>>> “Nightcode is written with Swing

[ANN] Nightcode 2: Total Rewrite

2016-07-13 Thread Zach Oakes


TL;DR: Nightcode, a Clojure IDE, just got a makeover: 
https://sekao.net/nightcode/

In a world...where developer tools are gargantuan beasts, unapproachable to 
beginners, one IDE stood alone.

*a fiddle softly plays ashokan farewell*

“You’re not going already, are you, Nightcode?”

“I must, father. So many new people are learning Clojure. They need me.”

*music becomes ominous as Nightcode rides a wagon into the distance*

Until one day, when it embarked on a journey to save the world...from 
itself.

*scene switches to Nightcode crouching in a fetal position in a dense 
forest*

“I’m hearing voices.”

*heavy breathing*

“STOP TALKING TO ME!”

*one of those jumanji drums starts beating slowly and then gets faster and 
louder*

*the camera zooms in on Nightcode’s face as it suddenly smiles wryly*

Things are about to get...complicated.

*scene changes, a crowd gathers in a small village*

“Gather ‘round! I’m making it easy to start coding!”

“But Nightcode, those appear to be bugs!”

“Wrong, ma’am, they are features! All of them!”

“SILENCE!”

*the crowd becomes mute as a hooded figure moves forward*

“Enough of this madness, Nightcode. In three years your features have 
remained dormant as your bug count has exploded! Meanwhile, people have 
been using --”

“Don’t listen to this fraud, you all need me”

*Nightcode lifts its trench coat and releases a plague of bugs on the 
village as it runs away*

“I don’t want to crash but I will if I have to. I don’t want to crash but I 
will if I have to. I don’t want to crash but I will if I have to. STOP THE 
VOICES, MAKE IT STOP!”

When your life is no longer your own...

*screen dims, Nightcode runs into a forest as the village is ravaged*

...a hero must rise.

*the hooded figure reveals himself*

Meet...Kevin.

*Kevin Hart smiles as upbeat music blares*

“HEY Y’ALL THAT WAS CRAZY! I guess it’s a bad time to ask for a better 
hotel. HAHA!”

Kevin is just an average guy, with a few...friends.

*the camera pans several feet up to reveal...Ice Cube and Dwayne Johnson*

“This is gonna be bad, Cube.”

“I know, man. How did we get stuck with this guy again?”

A brave trio must save the world from Nightcode...by reinventing it.

“Check it. Nightcode can’t be killed. We gotta find the good inside it and 
rip it out!”

“YEAH CUBE I AGREE. JUST LIKE YOU DID WITH YOUR CAREER!”

*Cube slaps Hart and continues*

“There’s only one way to do that. We gotta rewrite Nightcode.”

“You mean like a sequel? Like we keep doing with Fast and the Furious? No 
way.”

“YEAH CUBE, JOEL SPOLSKY SAID YOU SHOULD NEVER --”

“Dammit I KNOW what Joel Spolsky said, and I don’t care. You guys got any 
better ideas?”

*Hart and Johnson look at each other sheepishly*

*scene switches to a workshop with maps and shit*

“Nightcode is written with Swing, a deprecated UI framework. We’re gonna 
replace it with Java FX. What do you got Rock?”

“The editor. Right now it doesn’t offer much beyond syntax highlighting. 
We’re gonna have to write something from scratch.”

“AWW HELL YEAH, GONNA BE LIKE LIGHT TABLE HAD A BABY WITH CURSIVE, 
HAHAA!”

“What? No. Relax Kev. An instaREPL and some basic inline errors, that’s all 
we have time for.”

The trio will learn…

*Hart looks in a mirror*

“Oh hey Nightcode, what’s up? CAN YOU DEAL WITH THESE RAINBOW PARENS?! 
Didn’t think so.”

...what it’s like…

*Cube emerges from the workshop covered in oil*

“We shrunk the damn jar file from 50 MB to just 19!”

...to overcome odds.

“The new version has just 1600 lines of code, less than half what the old 
one has. We may actually pull this off.”

This summer, get ready…

“WATCH ME MOVE. WATCH ME MOVE. WATCH ME -- hey man take it easy put that 
down be cool.”

...for the rewrite…

“I’m sick of these motherfuckin’ bugs, on this motherfuckin’ IDE!”

...of your life.

“We’re gonna get this done or die tryin’. And Kevin IF YOU DON’T STOP 
DANCING YOU’LL DIE NO MATTER WHAT.”

*a door opens as the trio argue, music stops, and Nightcode’s silhouette 
appears*

“Game over, gents. How can you replace me? Beginners don’t know how to run 
jar files.”

“We built native installers, fool.”

*explosions*

NIGHTCODE 2

TOTAL REWRITE

https://sekao.net/nightcode/

-- 
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.


[ANN] paren-soup 2.0, a browser-based editor for CLJS

2016-05-21 Thread Zach Oakes
Have you ever had a need for a really good browser-based Clojure(Script) 
editor? Me neither, but for some reason I've been spending a lot of time 
building one. It's meant to be a replacement for things like CodeMirror, 
which is already pretty good and in no need of replacement. Nonetheless, 
mine supports Parinfer, it has an instaREPL, it shows inline reader errors, 
and other stuff that you probably don't need but are cool anyway. Check it 
out!

Github: https://github.com/oakes/paren-soup
Demo: http://oakes.github.io/paren-soup/

-- 
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.


[ANN] Nightcode 1.2.0 with "smart" indentation snapping

2016-04-07 Thread Zach Oakes
Nightcode's recent Parinfer  
integration is finally starting to stabilize. This latest release adds an 
(allegedly) smart indentation snapping feature. Instead of tab and 
shift+tab always moving your code two spaces, it moves it to the next 
semantically meaningful location. I added the same feature to my web-based 
editor, paren-soup, so you can try it out in your browser here 
.

Website: https://sekao.net/nightcode/
Github: https://github.com/oakes/Nightcode

-- 
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.


[ANN] Nightcode 1.1.0 now with Parinfer

2016-03-19 Thread Zach Oakes
Nightcode is an IDE for beginners -- or for hipsters who think emacs and 
intellij are too mainstream. Previously, it supported a subset of paredit 
commands, but I've always longed for some other way to avoid misbalanced 
parens, because paredit is difficult for beginners. Let's face it, Lisp has 
traditionally been harder to edit than other syntaxes.

Parinfer  has been a huge advance 
because it promises to make Lisp as easy to edit as Python. I'm so 
optimistic about it that it is now the only editing mode in Nightcode. That 
said, I had to change a lot of things so there may still be issues. I'm 
using it to teach clojure to my students next week so i'll let them find 
the bugs for me.

Thank you to Shaun LeBron for developing the original version 
, and to Chris Oakman and Colin 
Fleming for developing the JVM port  
that I am relying on.

Website: https://sekao.net/nightcode/
Github: https://github.com/oakes/Nightcode

-- 
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.


Re: a project template containing clj, cljs cljc files

2016-03-08 Thread Zach Oakes
For those looking for such a template for Boot, check out my example 
project:

https://github.com/oakes/full-stack-boot-example

On Sunday, March 6, 2016 at 12:25:41 AM UTC-5, Sunil Nandihalli wrote:
>
> Hi everybody,
>  I am trying to port an old project which uses cljx plugin and reagent to 
> use cljc and reader-conditionals. I was wondering if somebody can share a 
> simple template which has clj, cljs and cljc files in it?
>
> Thanks and regards,
> Sunil.
>

-- 
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.


Re: [GSoC idea] Pluggable back-ends architecture for ClojureScript compiler

2016-02-22 Thread Zach Oakes
Yeah I forgot about tools.analyzer. Maybe just updating its JS emitter to 
work with the latest ClojureScript would be a good project. It still 
wouldn't solve the issue of keeping up with the latest ClojureScript 
releases, but it seems like it would be a decent scope for a GSoC project.

On Monday, February 22, 2016 at 5:57:57 AM UTC-5, Thomas Heller wrote:
>
> Projects for this already exist but are somewhat dormant.
>
> See:
> https://github.com/clojure/tools.analyzer
> https://github.com/clojure/tools.analyzer.jvm
> https://github.com/clojure/tools.analyzer.js
> https://github.com/clojure/tools.analyzer.clr
> https://github.com/clojure/tools.emitter.jvm
>
> Neither Clojure or ClojureScript currently use them since they are either 
> incomplete or have performance issues compared to the default 
> implementation. The idea was however to have a pluggable solution that can 
> share as much code as possible. IIRC it all started as GSoC work, so it 
> might be useful to continue in this way. I'm not sure who was involved but 
> authors are still around I think.
>
> Cheers,
> /thomas
>
>
>
> On Sunday, February 21, 2016 at 9:20:18 AM UTC+1, Edward Knyshov wrote:
>>
>>
>>
>> *Pluggable back-ends architecture for ClojureScript compilerBrief 
>> explanation:* There are a lot of ClojureScript script compiler forks 
>> exist to provide different compilation targets other than js. Most of them 
>> are currently stuck because of rapid ClojureScript development and 
>> difficulties with keeping fork in sync with upstream. We could consider 
>> refactoring ClojureScript to provide plugable backends architecture, 
>> specifically to allow users replace code generation stage of compiler and 
>> implement js generator as one of such backends.
>>  
>> *Expected results: *ClojureScript compiler is refactored to allow 
>> further active development of plenty other backends to bootstrap Clojure in 
>> such environments as c/c++, llvm, python, emacs lisp, lua, etc. Ability to 
>> use clojure mostly everywhere.
>>  
>> *Knowledge:* ClojureScript, Clojure, JavaScript
>>
>> Need to know, what do you think guys.
>>
>

-- 
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.


Re: [GSoC idea] Pluggable back-ends architecture for ClojureScript compiler

2016-02-21 Thread Zach Oakes
That's a really good idea. There are a lot of clojurescript-to-something 
projects that would benefit from that, along with any future ones. It may 
help to actually choose a specific backend to work on while you refactor 
the compiler itself. Also, it would be good to limit the impact on the 
current JS generation code for the sake of the ClojureScript maintainers. 
They can chime in about the likelihood of merging this. I'm happy to 
mentor, though having one of them as a mentor would obviously be better =)

On Sunday, February 21, 2016 at 3:20:18 AM UTC-5, Edward Knyshov wrote:
>
>
>
> *Pluggable back-ends architecture for ClojureScript compilerBrief 
> explanation:* There are a lot of ClojureScript script compiler forks 
> exist to provide different compilation targets other than js. Most of them 
> are currently stuck because of rapid ClojureScript development and 
> difficulties with keeping fork in sync with upstream. We could consider 
> refactoring ClojureScript to provide plugable backends architecture, 
> specifically to allow users replace code generation stage of compiler and 
> implement js generator as one of such backends.
>  
> *Expected results: *ClojureScript compiler is refactored to allow further 
> active development of plenty other backends to bootstrap Clojure in such 
> environments as c/c++, llvm, python, emacs lisp, lua, etc. Ability to use 
> clojure mostly everywhere.
>  
> *Knowledge:* ClojureScript, Clojure, JavaScript
>
> Need to know, what do you think guys.
>

-- 
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.


[ANN] paren-soup 1.0, now with parinfer

2016-02-19 Thread Zach Oakes
This is a new release of paren-soup, a browser-based ClojureScript editor 
for people who think CodeMirror is too stable and performant for their 
taste. I gutted my embarrassing paren completion and auto-indentation code 
to make it use the amazing Parinfer library instead. I also added a some 
support for undo/redo. Please direct all bug reports to whoever designed 
contenteditable.

Code: https://github.com/oakes/paren-soup
Demo: http://oakes.github.io/paren-soup/

-- 
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.


Re: [Video] Game development in Clojure (with play-clj)

2015-10-18 Thread Zach Oakes
That function was renamed to `key-pressed?`.

On Saturday, October 17, 2015 at 7:32:44 PM UTC-4, amirteymuri wrote:
>
> Dear James,
> is-pressed? can not be resolved for me. Is this a version matter? Is there 
> still a is-pressed? function?
> Greetings
>
> Am Donnerstag, 27. März 2014 18:07:21 UTC+1 schrieb James Trunk:
>>
>> Hi everyone,
>>
>> I thought some of you might be interested to watch my screencast about game 
>> development in Clojure with play-clj 
>> .
>>
>> Cheers,
>> James
>>
>

-- 
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.


[ANN] paren-soup 0.1.1, a browser-based editor for CLJS

2015-09-08 Thread Zach Oakes
This is a ClojureScript viewer and editor you can embed in any website. I 
hope to make it better than CodeMirror for those who don't need polyglot 
support. I announced it last week but it was pretty much unusable because 
it didn't have paren completion. Now it is slightly more usable. Here are 
the features:

   - Syntax highlighting
   - Rainbow delimiters
   - Automatic indentation
   - InstaREPL (à la Light Table)
   
Code: https://github.com/oakes/paren-soup
Demo: http://oakes.github.io/paren-soup

I use the new ClojureScript eval capability for the instarepl, and the new 
CLJS version of tools.reader to provide highlighting and indentation. The 
downside to using tools.reader is that reader errors break both of those 
things, which is why paren completion was strictly necessary! It is still 
pretty flawed, but hopefully I'll be able to make this production-ready 
eventually.

-- 
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.


Re: [ANN] paren-soup 0.1.1, a browser-based editor for CLJS

2015-09-08 Thread Zach Oakes
Yeah I should've tested on a non-Mac. That should just be a CSS change if there 
is a way to make scrollbars disappear. I'll look into it soon. 

-- 
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.


Re: [ANN] paren-soup 0.1.1, a browser-based editor for CLJS

2015-09-08 Thread Zach Oakes
Thanks, I just made the change in both the release zip and the demo. I was 
aware of "overflow: hidden", but it prevents you from scrolling with your 
mouse/trackpad either, so results that can't fit will just be cut off. 
However, I think supporting browsers and OSes that have visible scrollers 
is more important so the change is now live.

On Tuesday, September 8, 2015 at 9:08:24 PM UTC-4, Aaron Cohen wrote:
>
> I should have given you that information up front, sorry.
>
> I just tried it in Windows 10 using both Edge and Chrome and both have 
> scrollbars. Earlier I was using Chrome in Windows 7.
>
> I was able to fix it in the inspector using "overflow: hidden": 
>
> .paren-soup .instarepl .result {
> position: relative;
> overflow: hidden;
> background-color: lightgreen;
> outline: 1px solid;
> }
>  
>
> On Tue, Sep 8, 2015 at 8:46 PM, Zach Oakes <zso...@gmail.com 
> > wrote:
>
>> I'm bad at CSS, but it looks like there isn't a standard way to hide 
>> scrollbars in browsers without removing the ability to scroll. Are you 
>> using Windows? Maybe I can boot up a VM and try things out to fix this 
>> issue.
>>
>>
>> On Tuesday, September 8, 2015 at 5:05:32 PM UTC-4, Zach Oakes wrote:
>>>
>>> Yeah I should've tested on a non-Mac. That should just be a CSS change 
>>> if there is a way to make scrollbars disappear. I'll look into it soon. 
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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.


[ANN] paren-soup, a browser-based ClojureScript editor

2015-09-03 Thread Zach Oakes
I’m releasing paren-soup, a ClojureScript viewer and editor that you can 
embed in any website. While projects like CodeMirror are nice if you need 
to support other languages, I hope to make paren-soup a better choice for 
those who only want to edit ClojureScript. Here are the features:


   - Syntax highlighting
   - Rainbow delimiters
   - Automatic indentation
   - InstaREPL (à la Light Table)


Code: https://github.com/oakes/paren-soup
Demo: http://oakes.github.io/paren-soup

The InstaREPL is possible thanks to the recent bootstrapping of 
ClojureScript. The syntax highlighting and auto-indentation are possible 
thanks to the new ClojureScript version of tools.reader. The upside to 
using tools.reader is that the highlighting is pretty faithful to the 
language; the downside is that reader errors break highlighting =)

As usual with my projects, the first release is pretty rough. Performance 
is awful once the file gets large enough. I hope to improve that and add 
features like paredit and *semantic* highlighting eventually. This is my 
very first ClojureScript project, by the way! Please let me know when you 
find bugs.

-- 
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.


Re: [ANN] Planck 1.0 - Bootstrapped ClojureScript OS X REPL

2015-08-05 Thread Zach Oakes
Mike, thanks for this tool. I want to use it to introduce ClojureScript to 
some local JavaScript devs, since they would be less likely to install 
anything that required the JVM. I cannot seem to get `brew install planck` 
to work, however. It just hangs. It looks like `brew upgrade` hangs 
indefinitely as well, though, so this may just be my mac's fault. If anyone 
knows how to fix this, please let me know.

On Tuesday, August 4, 2015 at 9:51:31 AM UTC-4, Mike Fikes wrote:

 Planck 1.3 is now available via Homebrew: 

http://blog.fikesfarm.com/posts/2015-08-04-pour-a-pint-of-planck.html

-- 
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.


Re: Google Clojure REPL

2014-11-24 Thread Zach Oakes
I believe there are still issues with ART that need to be resolved before 
Clojure apps run on Lillipop. You may want to ask this on the 
clojure-android list instead:

https://groups.google.com/forum/#!forum/clojure-android

On Sunday, November 23, 2014 5:39:08 PM UTC-5, Lorentzz00 wrote:

 Hello to all; 

 So, the Clojure REPL for Lollipop doesn't 
 Work. Why? Why won't it install? When will you migrate to 1.6 or 1.7? 

 Hope to hear something soon. 
 Lorentzz

-- 
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.


Re: [PSA] Clojars scp disabled until further notice

2014-09-27 Thread Zach Oakes
I'd love to kick in a few bucks per week. Gratipay might work for you; it 
doesn't skim anything after credit card fees (full disclosure, I am friends 
with the person who runs it).

On Friday, September 26, 2014 3:30:29 PM UTC-4, Nelson Morris wrote:

 I have no expectations for anyone. Clojars has been free to use 
 (push/pull,individual/corp) since it started. I have no intentions of 
 changing that. My belief is there is value to maintenance/dev, and hope 
 that it can financed in a sustainable way.  If it can be done by being 
 spread out among people deriving that value, then even better.

 I'll plan to set up something for individuals in the future, though that 
 will wait until after I talk to businesses. As for numbers, I don't have a 
 direct answer for you. It comes down to the value the company can get back. 
 I'm starting with conversations with businesses that are interested, and 
 will determine from there.

 On Fri, Sep 26, 2014 at 1:44 PM, Howard M. Lewis Ship hls...@gmail.com 
 javascript: wrote:

 There's a number of options out there for collecting small recurring 
 payments.  I already make regular payments to Wikipedia and a couple of 
 others (including GitHub), and would be willing to kick in some money 
 towards Clojars.

 The question is: what is a reasonable amount?  This is tricky; I'm 
 comfortable, as a self-employed, individual developer, to kick in $3-$5 per 
 month. What kind of numbers are you looking at for the more corporate users 
 of Clojars?  What would you expect for an organization that simply pulls 
 for Clojars, vs. one that distributes code via Clojars?


 On Friday, 26 September 2014 08:09:55 UTC-7, Nelson Morris wrote:

 Clojars has become a critical part of the clojure ecosystem. As a small 
 sample, it hosts artifacts for:

 * Web development - ring, compojure, hoplon, hiccup, enlive, friend, 
 immutant
 * Tooling - lein templates/plugins, cider-nrepl, clojure-complete, 
 gorilla-repl
 * Clojurescript - lein-cljsbuild, austin, om, reagent, sente
 * Misc - Clojurewerkz projects, storm, incanter, clj-time, cheshire, 
 clj-http, 
 * Company projects - pedestal, dommy, schema

 Vulnerabilities like shellshock and heartbleed always require quick 
 response. An insecure clojars service could lead to compromised systems in 
 multiple companies, potentially any project that used an artifact from it. 
 A similar situation exist for maven central, rubygems, apt, and other 
 repositories.

 There are other administration tasks such as verifying backups, server 
 updates, better response time to deletion requests, and potentially the 
 need to handle unexpected downtime. Additionally, development time is 
 needed for the releases repo w/ signatures, CDN deployments, additional UI 
 work, and more.

 Currently clojars is maintained by a collaboration between 3 very spare 
 time people. Vulnerabilities get attention due to the damage potential. 
 However, being a spare time project many of the other tasks languish until 
 required, or wait behind the queue of life's requirements. I'd love to 
 change that.

 I've been a co-maintainer for clojars for two years. I implemented the 
 https deployment, better search, and download statistics for clojars. I've 
 handled most of the deletion requests over the past year. I've also got 
 work in leiningen including almost everything related to dependency 
 resolution and trees.

 I want your help.

 Do you work at a company that runs clojure in production?  Does it have 
 a financial interest in a well maintained and secure clojars service? Would 
 it be interested in sponsorships, business features, or another arrangement 
 that produces value? Then I request you email me. I want to create a 
 sustainable path for this critical piece of the clojure ecosystem.

 Thanks,
 Nelson Morris

  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com 
 javascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.




-- 
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 

Re: [ANN] Skummet alpha-1 released

2014-08-12 Thread Zach Oakes
I am so excited to use this, Alex! A hello world uberjar with Skummet is 1 
MB slimmer and launches twice as fast on my netbook, though I won't call it 
a scientific test. And of course you know I'm excited about the prospects 
for CoA -- have you been testing it with ART yet, or just Dalvik? Great 
work.

Zach

On Tuesday, August 12, 2014 10:18:23 AM UTC-4, Alexander Yakushev wrote:

 So I am finally comfortable for showing Project Skummet to the general 
 public.
 Skummet is a experimental Clojure branch that features a modified 
 AOT-compiler
 providing the following features:

 a) Compiling vars into objects stored as namespace's static fields;
 b) Skipping emission of macros;
 c) Skipping emission of metadata without eliding it completely (so it is 
 used
 during compilation but not emitted in the resulting classes).

 Since it's still in alpha stage, bugs might occur. I was able to 
 lean-compile
 Clojure, core.async and a few other small libraries, but for others it 
 might
 fail for one reason or another. The most usual problem is when a library
 declares a var that it then references explicitly (by with-redefs or by
 calling methods on that Var object). How to deal with that is described 
 below as
 step 3.

 To try Skummet you need to add two things to your Leiningen's project.clj:

 1. Add special Clojure version to the :dependencies

[org.bytopia/clojure 1.7.0-skummet-SNAPSHOT]

 2. Add lein-skummet to the :plugin section:

[lein-skummet 0.1.4-SNAPSHOT]

 3. If errors with direct Var usage occur, you can put a vector to
 :skummet-skip-vars that contains stringified var names that have to be made
 non-lean:

:skummet-skip-vars [#'neko.context/context 
 #'neko.resource/package-name]

 Then to compile a project with Skummet use lein skummet compile. This 
 will
 produce AOT-compiled Clojure classes. You can then run it with lein 
 skummet
 run (the only difference from lein run is that no source dependencies 
 are
 included to the classpath, so you are sure you are running only the compile
 code); or you can execute lein skummet jar to create an uberjar that can 
 then
 be used regularly.

 There is a sample project that already has all necessary configuration for
 Skummet: https://github.com/alexander-yakushev/leantest.

 I'd be really grateful if you tried this project and shared your 
 experiences
 (specifically disappointing ones:)). It is important now to test Skummet 
 with
 different libraries and find code where it falls short compiling. A good 
 idea
 will be to benchmark results. My experiments so far show a reduction in 
 startup
 time by ~40% for Clojure, core.async and for Clojure on Android (right now
 lein-skummet cannot be used with lein-droid, but this option will be 
 available
 soon).



-- 
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.


Re: Looking for Clojure-centric career advice/suggestions

2014-07-22 Thread Zach Oakes
It sounds like you know what you want, and you're fortunate for that. I 
often don't, and I can tell you that greatly complicates things. At any 
rate, there are few things more stressful than career changes.

Perhaps you are casting too small a net. Many here would love to be paid to 
write Clojure, but if you can't find such an opportunity, you may want to 
broaden your search for functional or JVM-based jobs instead.

It is also very helpful to have some open source work you can show off. 
Coding challenges are often completely detached from reality, and open 
source work can sometimes offset their importance.

Zach

On Tuesday, July 22, 2014 9:03:13 PM UTC-4, VaedaStrike wrote:

 TL;DR - Got as close to a dream job as I could have wanted, after 6 months 
 lost it. Now, with only experience in Clojure and Scala, and seemingly 
 stuck in Utah, not sure what's the best next course of action.

 I'm putting this out there because of all the good experiences I've had 
 over the years with people in the Clojure community. I very much value what 
 you all have done and do. As best I can tell you're the salt of the earth.

 I'm a rather newly minted programmer. Six months on the job.

 I claim Clojure as my first language simply because I never saw my initial 
 tryst with VB.NET and Visual Studio as being much more than tinkering/not 
 really understanding. 

 It's kind of a long and convoluted story as to how I got here, I can share 
 it if anyone's interested, but for now let's just say that my 6 years of 
 trying to learn Clojure in my spare time landed me my first official 
 programming gig ... learning Scala.

 Being a bit tied to Utah (fiscally and family-wise at the moment) this 
 seemed to be the best chance I had at starting my professional programming 
 career on as close to my terms as possible, so I took it.

 I still like Clojure better than Scala (though I've learned a lot using 
 Scala), but these last six months programming in a professional environment 
 has cemented for me that I absolutely love programming. Being able to work 
 in a code repository of functional, industry oriented code and doing real 
 stuff that made a difference, I'll just say I never thought work could be 
 so enjoyable, nor that I'd ever have the chance to work with so many smart 
 and good people. 

 Unfortunately, as an outgrowth of my newness, company politics and a 
 change in team management I was told to look for a job elsewhere. 

 I got right to work and applied to everything that looked anything close 
 to what I then had. 

 I was amazed, the first four I applied to all responded well. And as a 
 plus they all were either using, or experimenting with either Clojure or 
 Scala.

 Unfortunately, as unexpected as the job loss was for myself, it hit my 
 wife even harder, we've not had an easy time our first 4 years of marriage 
 on the economic side of things and emotionally she was rather paralyzed by 
 this news. This combined in an unfortunate way with the fact that all four 
 places quickly responded to me and, also in a difficult way, with a few 
 decisions in how to approach the coding challenges I was given. In short, I 
 was not terribly impressive for any of the four companies. Ironically the 
 one company where I felt I did the worst has been the most understanding 
 and is willing to give me a second chance after I take a couple of 
 challenges they've given me.

 The problem I'm looking for help with is to know how to approach this in 
 the best way that keeps me bringing in food for and keeping a roof over 
  the head of my wife and son, all this hopefully without sidelining my 
 career goals, to the extent that that's possible. 

 While I can't go and do a hard ruling out of anything, the whole 
 relocation idea to where jobs are would be an insanely tough sell. I'm not 
 sure if anyone would take on a remote worker as green as myself. And here, 
 where I'm at in Utah, is hardly full of companies ready to take some guy 
 who has 6 months of Scala experience and only self-taught (and what most 
 would consider 'hobby' experience) with Clojure. Aside from the fact that 
 very few even know what those languages are is the fact that since I've 
 been so focused on functional programming I'm really hard pressed to show 
 people what I know and what I can do. And then finding someone willing to 
 take a chance on me.

 I'd like to avoid the tech support jobs I've had before as they would both 
 pay substantially less AND they would be significant distractions on the 
 time for me to move forward and learn. I just feel like I'm on the cusp of 
 being a very productive and capable programmer and, at the same time, like 
 it's all trying to get away from me. I'm trying to learn and apply what I 
 know in the time between applying for work and handling all the other 
 miscellany connected with that and keeping my little family going. And 
 while I can't rule out school I'm having a hard time justifying it in 

Re: Why clojure does not have pure lazy-evaluation like Haskell ?

2014-07-08 Thread Zach Oakes
Abstract topics like this are interesting, but you may be better off 
starting a discussion at a more generic venue like /r/programming, because 
it isn't really specific to Clojure. I would assume that pervasive laziness 
would greatly complicate interop with hosts like the JVM.

On Tuesday, July 8, 2014 9:13:56 AM UTC-4, Ashish Negi wrote:

 I am new to clojure and finding it great.. :)

 I came across a paper - Why functional programming matters ?
 at www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf



 to quote it :
 This paper is also relevant to the present controversy over lazy 
 evaluation.
 Some believe that functional languages should be lazy; others believe they
 should not. Some compromise and provide only lazy lists, with a special 
 syntax
 for constructing them (as, for example, in Scheme [1]). This paper provides
 further evidence that lazy evaluation is too important to be relegated to 
 *secondclasscitizenship*. It is perhaps the most powerful glue functional 
 programmers
 possess. One should not obstruct access to such a vital tool.

 I know that if you people have taken some important decision for clojure, 
 it must had been after some thoughts.

 Was it difficult to implement or not that good ?


-- 
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.


[ANN] Nightcode 0.3.8 and Nightmod 0.1.4

2014-07-08 Thread Zach Oakes
I recently released updates for Nightcode (a Clojure IDE) and Nightmod (a 
Clojure game tool).

Nightcode https://nightcode.info/ has mostly received maintenance 
updates, because the main priority is being beginner-friendly rather than 
featureful. I finally added support for evaling a selected form in a REPL, 
for example, almost a year since I first released it.

Nightmod https://nightmod.net/ has been steadily improved since my first 
release over a month ago. You can star it on Github 
https://github.com/oakes/Nightmod and give it visibility on HN 
https://news.ycombinator.com/item?id=8004668. I hope it becomes useful 
for teaching, as it is an all-in-one tool and provides instant feedback.

-- 
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.


Re: Deploying to Clojars no longer works

2014-07-05 Thread Zach Oakes
Regarding Read timed out, I made an issue 
https://github.com/ato/clojars-web/issues/219 for it. It happened with 
play-clj/lein-template 0.3.7, as well as nightcode/nightcode 0.3.7. And 
yes, they are quite large because they contain native binaries, but after a 
few tries they did eventually upload.

On Saturday, July 5, 2014 10:49:17 AM UTC-4, Nelson Morris wrote:

 Read timed out sounds like the artifact might be too large, but if 
 future tries succeed then that's not the case.  Could you send me the 
 group/artifact/versions that failed?


 On Thu, Jul 3, 2014 at 9:02 AM, Zach Oakes zso...@gmail.com javascript:
  wrote:

 Even on the latest version (2.4.0), I've experienced problems in the last 
 three weeks. I believe they've coincided with the site redesign, but they 
 may not be related. I sometimes get Read timed out when uploading an 
 artifact. Since deployments aren't atomic, the library or template will be 
 partially uploaded and thus unusable, so I have to increment the version 
 number and try again.


 On Thursday, July 3, 2014 3:29:17 AM UTC-4, Adam Clements wrote:

 Have you tried upgrading leiningen to the latest version? I don't think 
 you can deploy from old versions, at least that's been a problem for me in 
 the past. 
 On 2 Jul 2014 20:55, Jacob Goodson submissio...@gmx.com wrote:

  I have been deploying the same project to clojars for quite a while 
 now(5 months?); for some reason it decided it no longer wanted to work. 
  After giving my pass phrase I get peer not authenticated.  I have not 
 changed computers nor do I have a new internet connection.  Does anyone 
 know what the heck I've done to blow it up?

 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.

 For more options, visit https://groups.google.com/d/optout.

  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com 
 javascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.




-- 
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.


Re: Deploying to Clojars no longer works

2014-07-05 Thread Zach Oakes
One thing worth noting is that I don't have a home internet connection, so 
all my deployments happen over a tethered 3G connection. I suppose that a 
large upload combined with a slow link to the net is the problem.

On Saturday, July 5, 2014 12:24:20 PM UTC-4, Zach Oakes wrote:

 Regarding Read timed out, I made an issue 
 https://github.com/ato/clojars-web/issues/219 for it. It happened with 
 play-clj/lein-template 0.3.7, as well as nightcode/nightcode 0.3.7. And 
 yes, they are quite large because they contain native binaries, but after a 
 few tries they did eventually upload.

 On Saturday, July 5, 2014 10:49:17 AM UTC-4, Nelson Morris wrote:

 Read timed out sounds like the artifact might be too large, but if 
 future tries succeed then that's not the case.  Could you send me the 
 group/artifact/versions that failed?


 On Thu, Jul 3, 2014 at 9:02 AM, Zach Oakes zso...@gmail.com wrote:

 Even on the latest version (2.4.0), I've experienced problems in the 
 last three weeks. I believe they've coincided with the site redesign, but 
 they may not be related. I sometimes get Read timed out when uploading an 
 artifact. Since deployments aren't atomic, the library or template will be 
 partially uploaded and thus unusable, so I have to increment the version 
 number and try again.


 On Thursday, July 3, 2014 3:29:17 AM UTC-4, Adam Clements wrote:

 Have you tried upgrading leiningen to the latest version? I don't think 
 you can deploy from old versions, at least that's been a problem for me in 
 the past. 
 On 2 Jul 2014 20:55, Jacob Goodson submissio...@gmx.com wrote:

  I have been deploying the same project to clojars for quite a while 
 now(5 months?); for some reason it decided it no longer wanted to work. 
  After giving my pass phrase I get peer not authenticated.  I have not 
 changed computers nor do I have a new internet connection.  Does anyone 
 know what the heck I've done to blow it up?

 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.

 For more options, visit https://groups.google.com/d/optout.

  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.




-- 
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.


Re: Deploying to Clojars no longer works

2014-07-03 Thread Zach Oakes
Even on the latest version (2.4.0), I've experienced problems in the last 
three weeks. I believe they've coincided with the site redesign, but they 
may not be related. I sometimes get Read timed out when uploading an 
artifact. Since deployments aren't atomic, the library or template will be 
partially uploaded and thus unusable, so I have to increment the version 
number and try again.

On Thursday, July 3, 2014 3:29:17 AM UTC-4, Adam Clements wrote:

 Have you tried upgrading leiningen to the latest version? I don't think 
 you can deploy from old versions, at least that's been a problem for me in 
 the past. 
 On 2 Jul 2014 20:55, Jacob Goodson submissio...@gmx.com javascript: 
 wrote:

 I have been deploying the same project to clojars for quite a while now(5 
 months?); for some reason it decided it no longer wanted to work.  After 
 giving my pass phrase I get peer not authenticated.  I have not changed 
 computers nor do I have a new internet connection.  Does anyone know what 
 the heck I've done to blow it up?

 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com 
 javascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.



-- 
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.


help with the lawyers?

2014-05-30 Thread Zach Oakes
Eclipse itself is as common as oxygen in the federal government, so I am pretty 
sure their worries aren't valid.

-- 
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.


[ANN] Nightmod, a tool for making live-moddable games

2014-05-30 Thread Zach Oakes
Nightmod is a new tool I'm working on that allows you to create games while 
they run. It is a combination of my previous projects, Nightcode and 
play-clj, into a single tool. Please read the website for more info, and if 
you try it out, I would love to hear feedback.

Website:
https://nightmod.net/

Github:
https://github.com/oakes/Nightmod

HN:
https://news.ycombinator.com/item?id=7821516

-- 
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.


Re: [ANN] brute 0.2.0 - A lightweight Entity Component System library for writing games

2014-05-13 Thread Zach Oakes
Thanks Mark, this is impressive. Let me know if there is anything I can do 
on my end to make play-clj more agnostic regarding entity systems. The 
built-in entity system is quite simple and doesn't do much for you, so this 
looks like a great alternative.

On Monday, May 12, 2014 7:22:07 PM UTC-4, Mark Mandel wrote:

 Brute is a simple and lightweight Entity Component System library for 
 writing games with Clojure.

 This is a rewrite of Brute 0.1.1, to get rid of all the global internal 
 refs, and make it so that Brute simply passes around an immutable 
 collection.  This makes things far nicer to deal with, and makes the 
 library far more flexible.

 Full Blog Post on changes: 

 http://www.compoundtheory.com/brute-entity-component-system-library-0-2-0-the-sequel/

 The aim of this project was to use basic Clojure building blocks to form 
 an Entity System architecture, and get out of the author's way when 
 deciding exactly what approach would best fit their game when integrating 
 with this library.

 To that end:


- Entities are UUIDs.
- The Component type system can be easily extended through a 
multimethod get-component-type, but defaults to using the component's 
instance class as its type. 
- Components can therefore be defrecords or deftypes by default, but 
could easily be maps or just about anything else.
- Systems are simply references to functions of the format (fn 
[delta]).

  Project can be found on Github at:
 https://github.com/markmandel/brute

 Sample Pong Game can be found on Github as well:
 https://github.com/markmandel/brute-play-pong


 -- 
 E: mark@gmail.com javascript:
 T: http://www.twitter.com/neurotic
 W: www.compoundtheory.com

 2 Devs from Down Under Podcast
 http://www.2ddu.com/
  

-- 
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.


Re: *** Congratulations to our GSoC 2014 students!

2014-04-29 Thread Zach Oakes
Agreed! These all look really exciting.

On Tuesday, April 29, 2014 5:42:29 PM UTC-4, Rich Morin wrote:

 And a hearty cheer for Daniel (and his helpers) for their efforts! 

 -r 

  -- 
 http://www.cfcl.com/rdm   Rich Morin   
 r...@cfcl.comjavascript: 
 http://www.cfcl.com/rdm/resumeSan Bruno, CA, USA   +1 650-873-7841 

 Software system design, development, and documentation 




-- 
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.


[ANN] play-clj 0.3.0

2014-04-21 Thread Zach Oakes
This is a new release of my game library, 
play-cljhttps://github.com/oakes/play-clj. 
I released 0.1.0 here three months ago, and a lot has changed since then. 
You can read through the release 
noteshttps://github.com/oakes/play-clj/releases to 
see the details.

This latest version supports LibGDX 1.0, which was released yesterday. It 
also includes some initial support for 3D physics, which you can test out 
by cloning play-clj-examples https://github.com/oakes/play-clj-examples and 
running the minimal-3d-physics project.

I also released a new version of Nightcode http://nightcode.info/, which 
is now at 0.3.3. It includes the new play-clj template and many other 
things that I don't remember adding but are probably improvements 
(otherwise why would I have added them?).

-- 
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.


Re: Style question (predicates)

2014-04-17 Thread Zach Oakes
This is a bit tangential, but your function is-nsf-code? brings up 
another style question. Is it really necessary to use the is- prefix? I 
used to do this too, but I realized recently that it is a Java-ism and 
seems out of place in Clojure.

Clojure's boolean functions do fine without it because the question mark 
conveys the fact that it is boolean. I removed all instances of this prefix 
from my active projects, including many places in Nightcode and a few in 
play-clj.

On Thursday, April 17, 2014 12:33:42 PM UTC-4, Sean Corfield wrote:

 The library coding standards[1] say: 

 * Use '?' suffix for predicates. 
   - N.B. - predicates return booleans 

 and the community Clojure style guide[2] says: 

 * The names of predicate methods (methods that return a boolean value) 
 should end in a question mark. (i.e.even?). 

 Both of these imply that if you have a function that returns a boolean 
 (and that is intended for use as a predicate), it should be named to end in 
 '?'. Fair enough. 

 My question is about the reverse implication: 

 * Should a function whose name ends in '?' return a (strict) boolean 
 value? 

 Looking at the docstrings of a random selection of functions found by 
 (apropos ?), they all seem to return specifically true or false. I did 
 not do an exhaustive check. 

 Is the intent that foo? implies a result of true or false - or could foo? 
 return any truthy / falsey value (and therefore any Clojure value). 

 Concrete example that spurred this discussion from some code at work: 

 (defn is-nsf-code? 
   Given an error code, return truthy if it is NSF. 
   [code] 
   (#{BE1 BE2} code)) 

 Clearly the result here could be nil or a string but it's definitely meant 
 to be used as a predicate. Similarly: 

 (defn nsf? 
   Given the result of an SBW sale, return true if it failed with NSF. 
   [result] 
   (and (= failure (:result result)) 
(some is-nsf-code? (:errors result 

 Again, the result could be false or nil or a string but is meant to be 
 used as a predicate. 

 As an aside, for core.typed, we annotate the first as [String - Boolean] 
 with ^:no-check so it type checks as a true/false predicate and then we 
 annotate the second as [SBWResult - (Nilable Boolean)] and that's all 
 fine... but is it good style? 

 [1] http://dev.clojure.org/display/community/Library+Coding+Standards 
 [2] https://github.com/bbatsov/clojure-style-guide#naming 

 Sean Corfield -- (904) 302-SEAN 
 An Architect's View -- http://corfield.org/ 

 Perfection is the enemy of the good. 
 -- Gustave Flaubert, French realist novelist (1821-1880) 





-- 
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.


Re: [Video] Game development in Clojure (with play-clj)

2014-04-15 Thread Zach Oakes
Kris, the entities are automatically converted back into a vector by 
play-clj after being returned by a given function. Can you elaborate on 
what problem you believe is occurring when you don't change it back to a 
vector?

On Tuesday, April 15, 2014 5:26:07 PM UTC-4, Kris Calabio wrote:

 James, I have a question. I see this pattern a lot in the sample code and 
 in your code as well, for example:

 (defn- move-player [entities]
   (- entities

(map (fn [entity]
   (- entity

(update-player-position)
(update-hit-box
(remove-touched-apples)))


 When the entities vector gets threaded through the map function, it comes 
 out as a LazySeq. But don't we want to keep the entities as a vector? This 
 seems to be causing problems in my own code, and the only way to keep it 
 working is to change it back to a vector every time I do this, which seems 
 inelegant. Just wondering if I'm missing something.
 -Kris


 On Sun, Apr 13, 2014 at 3:13 PM, James Trunk james...@gmail.comjavascript:
  wrote:

 There's a link to a gist of 
 core.cljhttps://gist.github.com/Misophistful/9892203in the video's 
 description.

 Cheers, 
 James


 On Monday, April 14, 2014 12:08:16 AM UTC+2, Kris Calabio wrote:

 Actually, I thought it would be even more helpful if you had the source 
 code available (for searching/skimming). Is that somewhere online?
 -Kris


  On Sun, Apr 13, 2014 at 2:47 PM, James Trunk james...@gmail.comwrote:

  Hi Kris,

 Thanks for your comment, and I'm very glad that you found the video 
 helpful.

 I started doing screencasts because I realised that I learn a new 
 concept fastest by watching someone else doing/explaining it - and I 
 figured I might not be the only one. Saying that, I know screencasts 
 aren't 
 for everyone, and they have a few drawbacks compared to text (harder to 
 search, skim, or repeat sections). So positive comment like yours remind 
 me 
 that I'm not the only auditory/visual learner around here, and inspire me 
 to keep going. Thanks!

 James


 On Saturday, April 12, 2014 11:28:29 PM UTC+2, Kris Calabio wrote:

 Great video! I've looked through Zach's examples, and even started 
 coding a game myself. But your screencast helped me have a better 
 understanding of some of the concepts and code that I was having trouble 
 understanding just by looking at the example games. Thanks!
 -Kris

 On Thursday, March 27, 2014 10:07:21 AM UTC-7, James Trunk wrote:

 Hi everyone,

 I thought some of you might be interested to watch my screencast 
 about game development in Clojure with 
 play-cljhttps://www.youtube.com/watch?v=9ilUe7Re-RA
 .

 Cheers,
 James

  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@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 a topic in the 
 Google Groups Clojure group.
 To unsubscribe from this topic, visit https://groups.google.com/d/
 topic/clojure/mR1IBJ_OomY/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to 
 clojure+u...@googlegroups.com.

 For more options, visit https://groups.google.com/d/optout.


  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups Clojure group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/clojure/mR1IBJ_OomY/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to 
 clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.




-- 
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 

Re: [Video] Game development in Clojure (with play-clj)

2014-04-15 Thread Zach Oakes
I see. If your code requires a vector, I think you will have to coerce the 
list each time as you are doing. Out of curiosity, what are you doing that 
makes this necessary? Are you using something like get-in?

On Tuesday, April 15, 2014 7:11:56 PM UTC-4, Kris Calabio wrote:

 In one of the callback functions in the defscreen I have a pipeline of 
 functions that do something to the entities vector and return the resulting 
 entities. I do something like this:

 (- entities
   (process-entities01)
   (process-entities02)
   (map (fn [entity]
   (- entity
  (process-entity01)
  (process-entity02)))
   (process-entities03))

 And that does not work, because each of the 'process-entities' functions 
 are written in a way that expect a vector as input. Likewise, they each 
 output a LazySeq unless I convert them back to a vector before returning. 
 But I can't do that for the map function in the pipeline. But this does 
 work:

 (- entities
   (process-entities01)
   vec
   (process-entities02)
vec
   (map (fn [entity]
   (- entity
  (process-entity01)
  (process-entity02)))
   vec
   (process-entities03)
   vec)

   


 On Tue, Apr 15, 2014 at 3:34 PM, Zach Oakes zso...@gmail.comjavascript:
  wrote:

 Kris, the entities are automatically converted back into a vector by 
 play-clj after being returned by a given function. Can you elaborate on 
 what problem you believe is occurring when you don't change it back to a 
 vector?


 On Tuesday, April 15, 2014 5:26:07 PM UTC-4, Kris Calabio wrote:

 James, I have a question. I see this pattern a lot in the sample code 
 and in your code as well, for example:

 (defn- move-player [entities]
   (- entities

(map (fn [entity]
   (- entity

(update-player-position)
(update-hit-box

(remove-touched-apples)))


 When the entities vector gets threaded through the map function, it 
 comes out as a LazySeq. But don't we want to keep the entities as a vector? 
 This seems to be causing problems in my own code, and the only way to keep 
 it working is to change it back to a vector every time I do this, which 
 seems inelegant. Just wondering if I'm missing something.
 -Kris


 On Sun, Apr 13, 2014 at 3:13 PM, James Trunk james...@gmail.com wrote:

 There's a link to a gist of 
 core.cljhttps://gist.github.com/Misophistful/9892203in the video's 
 description.

 Cheers, 
 James


 On Monday, April 14, 2014 12:08:16 AM UTC+2, Kris Calabio wrote:

 Actually, I thought it would be even more helpful if you had the 
 source code available (for searching/skimming). Is that somewhere online?
 -Kris


  On Sun, Apr 13, 2014 at 2:47 PM, James Trunk james...@gmail.comwrote:

  Hi Kris,

 Thanks for your comment, and I'm very glad that you found the video 
 helpful.

 I started doing screencasts because I realised that I learn a new 
 concept fastest by watching someone else doing/explaining it - and I 
 figured I might not be the only one. Saying that, I know screencasts 
 aren't 
 for everyone, and they have a few drawbacks compared to text (harder to 
 search, skim, or repeat sections). So positive comment like yours remind 
 me 
 that I'm not the only auditory/visual learner around here, and inspire 
 me 
 to keep going. Thanks!

 James


 On Saturday, April 12, 2014 11:28:29 PM UTC+2, Kris Calabio wrote:

 Great video! I've looked through Zach's examples, and even started 
 coding a game myself. But your screencast helped me have a better 
 understanding of some of the concepts and code that I was having 
 trouble 
 understanding just by looking at the example games. Thanks!
 -Kris

 On Thursday, March 27, 2014 10:07:21 AM UTC-7, James Trunk wrote:

 Hi everyone,

 I thought some of you might be interested to watch my screencast 
 about game development in Clojure with 
 play-cljhttps://www.youtube.com/watch?v=9ilUe7Re-RA
 .

 Cheers,
 James

  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@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 a topic in 
 the Google Groups Clojure group.
 To unsubscribe from this topic, visit https://groups.google.com/d/to
 pic/clojure/mR1IBJ_OomY/unsubscribe.
  To unsubscribe from this group and all its topics, send an email to 
 clojure+u...@googlegroups.com.

 For more options, visit https://groups.google.com/d/optout.


  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com
 Note that posts from new members are moderated - please

[ANN] lein-fruit 0.2.0

2014-04-11 Thread Zach Oakes
This is a new release of [lein-fruit](https://github.com/oakes/lein-fruit), 
a Leiningen plugin for building iOS apps in Clojure. It does this by using 
[RoboVM](http://www.robovm.org/), a bytecode-to-native translator.

The template in this version offers a huge improvement over the past 
versions. Due to an issue with Clojure's import 
behaviorhttp://dev.clojure.org/jira/browse/CLJ-1315, 
the only way to use the iOS wrapper classes was through reflection, which 
made for some very awkward code.

Happily, there is a patch available for this issue thanks to Aaron Cohen 
and Colin Fleming. I applied it to Clojure 1.6 and uploaded the fork to 
Clojars, so now lein-fruit's built-in 
templatehttps://github.com/oakes/lein-fruit/blob/master/src/leiningen/new/ios_clojure/core.cljcan
 access these classes the normal way.

-- 
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.


Clojure on the Mac App Store

2014-03-14 Thread Zach Oakes
After a lot of work, Nightcode http://nightcode.info/ is now on the Mac 
App Store. It remains free and open source, so this paid version is meant 
as a form of donation (though not tax deductible...). Since the sandboxing 
required by the MAS made it quite difficult to accomplish, I decided to 
make a page detailing how I did it, so anyone looking to do this can learn 
from my experience:

https://nightweb.net/blog/clojure-on-mac-app-store.html

I also submitted this page to HN:

https://news.ycombinator.com/item?id=7398900

-- 
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.


Re: I want to get sha1 of a string

2014-03-01 Thread Zach Oakes
You can use java.security.MessageDigest. For example:

(defn create-hash
  [data-barray]
  (.digest (java.security.MessageDigest/getInstance SHA1) data-barray))

It takes and returns a byte array, but converting from/to a string is 
fairly straight-forward:

(- Hello, World!
 .getBytes
 create-hash
 java.math.BigInteger.
 (format %x)
 println)

On Saturday, March 1, 2014 11:26:29 AM UTC-5, action wrote:

 do like this:
 (ns clojurewerkz.support.hashing
   (:require [clojurewerkz.support.internal :as i])
   (:import [com.google.common.hash Hashing HashFunction HashCode]))
 but:
 FileNotFoundException Could not locate clojurewerkz/support__init.class or 
 cloju
 rewerkz/support.clj on classpath:   clojure.lang.RT.load (RT.java:443)
 how to set the dependencies, or other solution?

 Think you




-- 
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/groups/opt_out.


Re: Can't start repl with Leiningen

2014-02-26 Thread Zach Oakes
Is their a reason your OpenJDK install is only on update 21? I believe the 
most recent is 51, though I doubt that is the problem. I also doubt it's a 
memory issue; I can run the REPL just fine on a netbook with 1GB of RAM 
running Ubuntu x64.

On Wednesday, February 26, 2014 3:05:53 PM UTC-5, Matej Fröbe wrote:

 I only have 2GB. I tried adding -Xms1024M (and some lower and higher 
 values) to the java command in lein script, but it didn't help.


 Am Mittwoch, 26. Februar 2014 19:52:49 UTC+1 schrieb Armando Blancas:

 I had the same problem with an old box I had around the house. Put Fedora 
 20 on it with a recent open jdk, but had just 1GB of memory total. I 
 attributed the error to the lower memory since I never have that issue at 
 work or other machines with at least 4GB. If you have more than 2GB, 
 experiment with something like -Xms1024M or more.

 On Wednesday, February 26, 2014 9:28:42 AM UTC-8, Matej Fröbe wrote:

 Debian jessie 32-bit

 Am Mittwoch, 26. Februar 2014 15:50:19 UTC+1 schrieb John Gabriele:

 On Wednesday, February 26, 2014 3:19:43 AM UTC-5, Matej Fröbe wrote:

 It seems that this is independent of where I run the project.



 Matej,

 What OS (and version) are you using?
  



-- 
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/groups/opt_out.


Re: Can't start repl with Leiningen

2014-02-25 Thread Zach Oakes
Matej, does this happen to you when you run lein repl outside of a 
project? If so, can you show us what your project.clj file looks like? I 
know for a fact that if you have :eval-in :trampoline in it, the repl 
will fail with that error.

On Tuesday, February 25, 2014 2:56:04 PM UTC-5, Matej Fröbe wrote:

 Hi John,

 Thank you for your answer. I have tried this already, but it doesn't help.

 Any other suggestions, how to find the cause of the problem?

 Matej


 Am Dienstag, 25. Februar 2014 19:51:51 UTC+1 schrieb John Gabriele:

 On Sunday, February 23, 2014 4:32:54 PM UTC-5, Matej Fröbe wrote:

 Hello Clojure users!

 I have a problem with running
 *$lein repl*
 After some time I get: *REPL server launch timed out.*

 *$lein run myproject* works fine

 Leiningen and Java versions are:

 *$lein versionLeiningen 2.3.4 on Java 1.7.0_21 OpenJDK Client VM*

 I tried deleting stuff in ~/.lein but it doesn't help.

 Any suggestions how to solve this?

 Thanks,

 Matej


 Hi Matej,

 Have never seen this problem. You might try starting fresh by deleting 
 your local repo (~/.m2) too, and re-downloading the `lein` script.

 -- John



-- 
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/groups/opt_out.


[ANN] Nightcode 0.3.0

2014-02-24 Thread Zach Oakes


This is a new release of Nightcode http://nightcode.info/, an IDE for 
Clojure and Java. Here are some of the changes since 0.2.0 was released two 
months ago:

-Works much better on OS X, thanks to the fact that I finally have a Mac to 
test on (my sister sold me her 7 year old Macbook...).

-The REPL and build panes now support paredit and completions just like the 
editor.

-I made a Clojure game library, play-clj https://github.com/oakes/play-clj, 
and integrated it into Nightcode's Clojure game template.

-The default window size is now the golden ratio (don’t ask).

I should also note that Nightcode is now on Clojars, so you can use it as a 
library. I overhauled the code to let you use parts of it in isolation. If 
you happen to need a nice Clojure-ready REPL or text editor widget for your 
Swing app, check out the example 
projectshttps://github.com/oakes/Nightcode/tree/master/examplesto see how to 
do it.

If you’d like to support my work, you can fund me on 
Gittiphttps://www.gittip.com/oakes/. 
Thanks.

-- 
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/groups/opt_out.


Re: What's the status of clojure for Android?

2014-02-08 Thread Zach Oakes
That might work for some people, but as you mentioned, you wouldn't get to 
build your app in a REPL. Also, you'd lose access to the concurrency 
features of Clojure, and would probably also not get to use native Android 
APIs.

On Saturday, February 8, 2014 9:57:38 PM UTC-5, curiousGuy wrote:

 Another interesting consideration regarding Clojure on Android (or any 
 other local OS)...

 As of Qt 5, Javascript is a first-class language for developing apps, and 
 Qt 5 officially supports Android, iOS, in addition to its prior support for 
 OSX, Windows, Linux, etc. You can get nearly all app logic working in JS if 
 you wish (and many do just that).

 So I see no reason you couldn't use ClojureScript to design Android apps, 
 and dump the compiled code into Qt. You'd simply need to know the Qt Quick 
 UI bindings that are accessible via Javascript. The new UI kit can 
 automatically handle fluid UI animations and other modern mobile styles.

 Of course, you still must compile in Qt before the app runs on any OS, so 
 a REPL probably wouldn't be a fit for this workflow.

 On Tuesday, February 4, 2014 11:48:55 AM UTC+8, Zach Oakes wrote:

 Alex put together a great website that may answer your questions:

 http://clojure-android.info/

 If you have any questions afterwards, feel free to post to the 
 clojure-android group:

 https://groups.google.com/forum/#!forum/clojure-android

 On Monday, February 3, 2014 3:17:46 PM UTC-5, Erlis Vidal wrote:

 Hi group, 

 I'll be starting a project in Android and I was wondering if I could use 
 clojure as my programming language. Any update/recommendation about this. 
 Will the application have acceptable performance? If not the entire app, 
 can I write at least some libraries in clojure and call them from my java 
 code? 

 Thanks!
 Erlis 



-- 
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/groups/opt_out.


Re: What's the status of clojure for Android?

2014-02-03 Thread Zach Oakes
Alex put together a great website that may answer your questions:

http://clojure-android.info/

If you have any questions afterwards, feel free to post to the 
clojure-android group:

https://groups.google.com/forum/#!forum/clojure-android

On Monday, February 3, 2014 3:17:46 PM UTC-5, Erlis Vidal wrote:

 Hi group, 

 I'll be starting a project in Android and I was wondering if I could use 
 clojure as my programming language. Any update/recommendation about this. 
 Will the application have acceptable performance? If not the entire app, 
 can I write at least some libraries in clojure and call them from my java 
 code? 

 Thanks!
 Erlis 


-- 
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/groups/opt_out.


[ANN] play-clj, a game library

2014-01-20 Thread Zach Oakes
Today I'm releasing play-clj https://github.com/oakes/play-clj, a Clojure 
wrapper for LibGDX that allows you to write games for desktop OSes, 
Android, and iOS from the same Clojure codebase. The template automatically 
creates Leiningen projects for all three platforms:

lein new play-clj hello-world

I am also releasing Nightcode http://nightcode.info/ 0.2.6, which 
includes the play-clj template built-in. I've fixed a lot of bugs since 
releasing 0.2.0 last month, including finally fixing the REPL input problem.

If you'd like to help me continue working on stuff like play-clj and 
Nightcode, I am on Gittip https://www.gittip.com/oakes/ now.

I would also love help optimizing performance, which is pretty bad on 
mobile OSes at the moment. Try out my example 
gameshttps://github.com/oakes/play-clj-examples, 
including an in-progress clone of Notch's Ludum Dare entry, Minicraft.

-- 
-- 
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/groups/opt_out.


Re: [ANN] play-clj, a game library

2014-01-20 Thread Zach Oakes
Thanks! I submitted it to HN naturally:

https://news.ycombinator.com/item?id=7090003

On Monday, January 20, 2014 10:46:06 AM UTC-5, Laurent PETIT wrote:

 Congratulations !


 2014/1/20 Zach Oakes zso...@gmail.com javascript:

 Today I'm releasing play-clj https://github.com/oakes/play-clj, a 
 Clojure wrapper for LibGDX that allows you to write games for desktop OSes, 
 Android, and iOS from the same Clojure codebase. The template automatically 
 creates Leiningen projects for all three platforms:

 lein new play-clj hello-world

 I am also releasing Nightcode http://nightcode.info/ 0.2.6, which 
 includes the play-clj template built-in. I've fixed a lot of bugs since 
 releasing 0.2.0 last month, including finally fixing the REPL input problem.

 If you'd like to help me continue working on stuff like play-clj and 
 Nightcode, I am on Gittip https://www.gittip.com/oakes/ now.

 I would also love help optimizing performance, which is pretty bad on 
 mobile OSes at the moment. Try out my example 
 gameshttps://github.com/oakes/play-clj-examples, 
 including an in-progress clone of Notch's Ludum Dare entry, Minicraft.
  
 -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
-- 
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/groups/opt_out.


Re: [ANN] play-clj, a game library

2014-01-20 Thread Zach Oakes
Thank you, I'll look into this. Someone mentioned it to me at our 
Pittsburgh Clojure meetup last week. I don't think I've ever been to the 
west coast!

On Monday, January 20, 2014 11:36:16 AM UTC-5, Alex Miller wrote:

 Might be a good topic for a Clojure/West submission

 https://cognitect.wufoo.com/forms/clojurewest-2014-call-for-presentations/

 On Monday, January 20, 2014 9:31:50 AM UTC-6, Zach Oakes wrote:

 Today I'm releasing play-clj https://github.com/oakes/play-clj, a 
 Clojure wrapper for LibGDX that allows you to write games for desktop OSes, 
 Android, and iOS from the same Clojure codebase. The template automatically 
 creates Leiningen projects for all three platforms:

 lein new play-clj hello-world

 I am also releasing Nightcode http://nightcode.info/ 0.2.6, which 
 includes the play-clj template built-in. I've fixed a lot of bugs since 
 releasing 0.2.0 last month, including finally fixing the REPL input problem.

 If you'd like to help me continue working on stuff like play-clj and 
 Nightcode, I am on Gittip https://www.gittip.com/oakes/ now.

 I would also love help optimizing performance, which is pretty bad on 
 mobile OSes at the moment. Try out my example 
 gameshttps://github.com/oakes/play-clj-examples, 
 including an in-progress clone of Notch's Ludum Dare entry, Minicraft.



-- 
-- 
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/groups/opt_out.


Re: [ANN] play-clj, a game library

2014-01-20 Thread Zach Oakes
I don't have any plans at the moment for that. LibGDX actually does allow 
you to compile your game to HTML/JS, but it uses GWT which is a source code 
translator, so it only works with Java. Also, it doesn't have access to the 
parts of LibGDX that rely on native code, such as the physics engine 
(Box2D), so that limits it a bit.

On Monday, January 20, 2014 12:52:31 PM UTC-5, john walker wrote:

 Is there any chance of support for javascript/webgl?

 On Monday, January 20, 2014 10:31:50 AM UTC-5, Zach Oakes wrote:

 Today I'm releasing play-clj https://github.com/oakes/play-clj, a 
 Clojure wrapper for LibGDX that allows you to write games for desktop OSes, 
 Android, and iOS from the same Clojure codebase. The template automatically 
 creates Leiningen projects for all three platforms:

 lein new play-clj hello-world

 I am also releasing Nightcode http://nightcode.info/ 0.2.6, which 
 includes the play-clj template built-in. I've fixed a lot of bugs since 
 releasing 0.2.0 last month, including finally fixing the REPL input problem.

 If you'd like to help me continue working on stuff like play-clj and 
 Nightcode, I am on Gittip https://www.gittip.com/oakes/ now.

 I would also love help optimizing performance, which is pretty bad on 
 mobile OSes at the moment. Try out my example 
 gameshttps://github.com/oakes/play-clj-examples, 
 including an in-progress clone of Notch's Ludum Dare entry, Minicraft.



-- 
-- 
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/groups/opt_out.


Re: [ANN] play-clj, a game library

2014-01-20 Thread Zach Oakes
You do not need to jailbreak your iOS device, because it isn't actually 
running Java. Instead, it uses RoboVM http://www.robovm.org/ to translate 
the bytecode into ARM machine code. There are already several LibGDX games 
written in Java on the App store.

Regarding performance, play-clj is very slow on Android for games with more 
than a handful of entities, so I could really use some help there. I assume 
it's similar on iOS. Right now, I bet there is a lot of low-hanging fruit 
in my code that could be improved to make it faster.

On Monday, January 20, 2014 10:57:22 PM UTC-5, Michael Gardner wrote:

 On Jan 20, 2014, at 09:31 , Zach Oakes zso...@gmail.com javascript: 
 wrote: 

  Today I'm releasing play-clj, a Clojure wrapper for LibGDX that allows 
 you to write games for desktop OSes, Android, and iOS from the same Clojure 
 codebase. 

 Neat! 

 How is Clojure’s performance on the latest Android devices? Good enough 
 for simple real-time games while still remaining more-or-less idiomatic? 

 Also, does running Java on iOS still require jailbreaking?

-- 
-- 
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/groups/opt_out.


Re: Clojure can't import some Java classes

2013-12-27 Thread Zach Oakes
Yeah I tried this with RoboVM, but there are so many classes that needed to 
be stubbed that it turned into an endless rabbit hole, so I gave up. It may 
be a good solution for those who just have one or two problematic classes, 
though.

On Thursday, December 26, 2013 8:37:44 PM UTC-5, Colin Fleming wrote:

 In case anyone is interested in a workaround for this, I managed to fix 
 my compilation by stubbing out the problematic classes and putting the 
 stubs ahead of the real classes in the classpath when I compile. Where 
 those stubs return other objects that are required during static 
 initialisation, I create those classes with Mockito. I feel dirty all over 
 but it does work.

 I'm also tinkering with a fork of Clojure in the background that uses ASM 
 Types instead of Class objects. It's still a long way from done but it's 
 looking like that might provide a solution for compilation, at least. I'll 
 report back if I ever get it working.


 On 15 December 2013 14:05, Colin Fleming colin.ma...@gmail.comjavascript:
  wrote:

 I've just spent some time today looking at the compiler code, and 
 unfortunately I think the answer is no. When a symbol is imported, 
 Clojure currently instantiates the Class object using Class.forName() and 
 stores that in the namespace's mapping. At the point the Class is 
 instantiated, static initializers are run. So the only way to avoid that is 
 not instantiate the Class and store something else in the mapping. 

 Alex's suggestion above to store the string representing the class name 
 and load the class on demand might work for REPL style development but 
 won't work for AOT compilation since reflection is used to find fields, 
 methods etc on the class during compilation. The only solution that I can 
 see that would work for AOT would be to store some sort of class wrapper 
 object which reads the class bytecode to get that information without 
 instantiating the class.

 However both of these suggestions break a fairly fundamental assumption - 
 that importing a class creates a mapping from its name to a Class object. I 
 have no idea what sort of code might be out there making that assumption, 
 but it's probably fair to assume there could be a lot of it. At some point 
 I might look into creating a fork of Clojure I just use to AOT compile.


 On 12 December 2013 03:41, Robin Heggelund Hansen 
 skinn...@gmail.comjavascript:
  wrote:

 Is this something that is fixable?

 -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.





-- 
-- 
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/groups/opt_out.


Re: Clojure can't import some Java classes

2013-12-27 Thread Zach Oakes
Definitely exciting to hear that it works. Is this something you could 
propose as a patch on the Clojure JIRA?

On Friday, December 27, 2013 9:52:04 PM UTC-5, Colin Fleming wrote:

 Wow, that works! You just saved me an extraordinary amount of pain - thank 
 you!

 I had to make one further small change, to invoke the method on RT instead 
 of Class, but that was it.


 On 28 December 2013 14:16, Aaron Cohen aa...@assonance.org 
 javascript:wrote:

 I have the sneaking suspicion that this may be as simple as changing 


 https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Compiler.java#L697

 to:

 final static Method forNameMethod = Method.getMethod(Class 
 *classForNameNonLoading*(String));


 and making classForNameNonLoading public at 
 https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/RT.java#L2074

 static *public *Class classForNameNonLoading(String name)


 I should try it myself, but may not get to it this weekend.


 On Fri, Dec 27, 2013 at 5:19 PM, Zach Oakes zso...@gmail.comjavascript:
  wrote:

 Yeah I tried this with RoboVM, but there are so many classes that needed 
 to be stubbed that it turned into an endless rabbit hole, so I gave up. It 
 may be a good solution for those who just have one or two problematic 
 classes, though.


 On Thursday, December 26, 2013 8:37:44 PM UTC-5, Colin Fleming wrote:

 In case anyone is interested in a workaround for this, I managed to 
 fix my compilation by stubbing out the problematic classes and putting 
 the stubs ahead of the real classes in the classpath when I compile. Where 
 those stubs return other objects that are required during static 
 initialisation, I create those classes with Mockito. I feel dirty all over 
 but it does work.

 I'm also tinkering with a fork of Clojure in the background that uses 
 ASM Types instead of Class objects. It's still a long way from done but 
 it's looking like that might provide a solution for compilation, at least. 
 I'll report back if I ever get it working.


 On 15 December 2013 14:05, Colin Fleming colin.ma...@gmail.com wrote:

 I've just spent some time today looking at the compiler code, and 
 unfortunately I think the answer is no. When a symbol is imported, 
 Clojure currently instantiates the Class object using Class.forName() and 
 stores that in the namespace's mapping. At the point the Class is 
 instantiated, static initializers are run. So the only way to avoid that 
 is 
 not instantiate the Class and store something else in the mapping. 

 Alex's suggestion above to store the string representing the class 
 name and load the class on demand might work for REPL style development 
 but 
 won't work for AOT compilation since reflection is used to find fields, 
 methods etc on the class during compilation. The only solution that I can 
 see that would work for AOT would be to store some sort of class wrapper 
 object which reads the class bytecode to get that information without 
 instantiating the class.

 However both of these suggestions break a fairly fundamental 
 assumption - that importing a class creates a mapping from its name to a 
 Class object. I have no idea what sort of code might be out there making 
 that assumption, but it's probably fair to assume there could be a lot of 
 it. At some point I might look into creating a fork of Clojure I just use 
 to AOT compile.


 On 12 December 2013 03:41, Robin Heggelund Hansen 
 skinn...@gmail.comwrote:

 Is this something that is fixable?

 -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.

 For more options, visit https://groups.google.com/groups/opt_out.



  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.


  -- 
 -- 
 You received this message because you

[ANN] Nightcode 0.2.0

2013-12-24 Thread Zach Oakes
This is a new release of Nightcode https://nightcode.info/, an IDE for 
Clojure and Java (we all know there aren't enough of those!). Here's a 
quick summary of what's been added since 0.1.0 was released three months 
ago:

-iOS compilation. You can now build iOS apps in Clojure and/or Java using 
an integrated copy of my plugin, lein-fruithttps://github.com/oakes/lein-fruit
.
-iOS templates. There are standalone templates for normal iOS apps, and the 
game templates have also been updated (write your Clojure game once, and 
compile for desktop, Android, and iOS).
-Aesthetic improvements. You can switch to a lighter theme by running 
Nightcode with -s light on the command line. Also, a splash screen now 
appears while loading. Thanks to @kumarshantanu for the PRs!
-Integrated copy of lein-ancient https://github.com/xsc/lein-ancient. 
Just select a project.clj file and click Check Versions, and it will run 
the plugin to check your dependencies.
-Non-U.S. keyboards now work better when paredit mode is on.

Some remaining problems I could use help with:

-Running the various Leiningen commands is quite slow, because I have to 
launch them in a separate process. This is because there are all sorts of 
subtle issues that could appear if I ran them in Nightcode's process. See issue 
#56 https://github.com/oakes/Nightcode/issues/56.
-On Windows, it appears that the process started by the Run with REPL 
button never stops, even when Nightcode exits. This button runs the 
equivalent of lein repl. The process is created by Leiningen so I can't 
directly access it. See issue #59https://github.com/oakes/Nightcode/issues/59
.

-- 
-- 
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/groups/opt_out.


Re: Implementation options for auto-complete and symbol resolution while coding

2013-12-20 Thread Zach Oakes
Nightcode uses Compliment for providing completion suggestions and 
documentation of Clojure functions:

https://github.com/alexander-yakushev/compliment

On Wednesday, December 18, 2013 11:27:06 AM UTC-5, juan.facorro wrote:

 Hi Clojurers,

 I'm building a tool for Clojure and I've been hitting the same bump for 
 quite some time now, namely auto-completion and finding the definition of a 
 symbol. After doing some research I've found that some tools rely on a 
 running REPL to figure out where a symbol might be coming from; these 
 include emacs [1], Counter-Clockwise, clooj and maybe others I don't know 
 about (like Nightcode or Cursive). This seems the natural thing to do since 
 while developing we always have a REPL running to try out what we code, 
 after all this is one of the best LISP features. This approach results in 
 very accurate locations for global symbol definitions, but locals are not 
 found since they are not accesible form the REPL.

 Another approach I've seen used for auto-completion in Clojure is the 
 token-based, which involves looking for tokens in the code base associated 
 with the current project and then providing the nearest match regardless of 
 context; these include J Editor [2], Light Table (which I think uses 
  inter-buffer token matching [3]) and emacs when it uses dictionary files 
 (maybe not specifically in existing Clojure modes but it's something that 
 emacs can do). Although this approach resolves the auto-completion, it is 
 not very accurate when locating symbol definitions.

 From what I've read this is not a trivial problem so I was wondering if 
 there's some implementation that actually resolves symbols statically (I 
 mean without having a running REPL) in an accurate way or, if there's no 
 implementation, maybe someone could point me in the right direction (or any 
 direction) as to what would ease the pain to accomplish such a task. 
 Building something on my own to do this static symbol resolution is out 
 of the question, since that sounds like a whole project on its own and I'm 
 currently trying to build something else entirely. 

 There are parsing libraries which provide good parse trees (i.e. Parsley, 
 Instaparse), but my understanding is that what needs to be mantained is a 
 full abstract syntax tree for the whole code base and although 
 clojure.tools.analyzer [4] does the job of creating an AST, generating and 
 mantaining all these trees sounds very costly and not the right way to do 
 it.

 If the running REPL approach is the saner one, then I would have no 
 problem with going down that road, but I just wanted to make sure what the 
 viable options were.

 If you got this far, thank you for your time. :)

 Any help, thoughts or comments will be greatly appreciated!

 Juan

 [1] https://github.com/clojure-emacs/ac-nrepl
 [2] http://armedbear-j.sourceforge.net/
 [3] 
 https://groups.google.com/forum/#!msg/light-table-discussion/Q-ZvOJSr1qo/-D6tAV_XiMUJ
 [4] https://github.com/clojure/tools.analyzer


-- 
-- 
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/groups/opt_out.


Re: [ANN]: clj.jdbc 0.1-beta1 - Alternative implementation of jdbc wrapper for clojure.

2013-11-16 Thread Zach Oakes
Andrey, this looks interesting. It seems to be based on a really old 
version of clojure.java.jdbc, though. Is there a reason for this? Since it 
is a fork, it seems like it would be best to base it on a recent version, 
to aid those who may want to try switching to it. Also, does it require JDK 
7 to compile?

On Saturday, November 16, 2013 6:48:03 AM UTC-5, Andrey Antukh wrote:

 Hi!

 I have some frustration with current official jdbc wrapper for clojure and 
 I have worked in one alternative mainly because of:

 - Lack of documentation.
 - Philosophical differences of how things should be done.

 Documentation page: http://cljjdbc.readthedocs.org/en/latest/
 Github: https://github.com/niwibe/clj.jdbc

 Any feedback always welcome.

 Andrey

 -- 
 Andrey Antukh - Андрей Антух - ni...@niwi.be javascript:
 http://www.niwi.be/about.html
 http://www.kaleidos.net/A5694F/

 Linux is for people who hate Windows, BSD is for people who love UNIX
 Social Engineer - Because there is no patch for human stupidity 


-- 
-- 
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/groups/opt_out.


Re: Experiences using SQLite with Clojure? Recommendations?

2013-10-23 Thread Zach Oakes
I'm a proponent of using H2 http://www.h2database.com/html/main.html via 
clojure.java.jdbc https://github.com/clojure/java.jdbc. H2 is written in 
Java, so it'll work everywhere your Clojure code does, and it has a lot of 
stuff not built into SQLite such as encryption.

On Wednesday, October 23, 2013 10:14:59 PM UTC-4, John Gabriele wrote:

 How have your experiences been using SQLite with Clojure?

 Back when org.xerial/sqlite-jdbc was at v3.7.2, I'd heard some complaints. 
 But I notice that the project appears to be fairly actively maintained (see 
 its [mailing list] and [project page]). The current version is 3.7.15-M1.

 [mailing list]: https://groups.google.com/forum/?hl=en#!forum/xerial
 [project page]: https://bitbucket.org/xerial/sqlite-jdbc

 Any recommendations for or against using SQLite with Clojure?

 digression navel-gazing-level=8
 I wonder if use of SQLite with the JVM platform increases as alternative 
 JVM languages become more popular...
 /digression

 Thanks!



-- 
-- 
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/groups/opt_out.


Re: Clojure can't import some Java classes

2013-10-22 Thread Zach Oakes
Here's the error I get when I import LibGDX's Timer class:

http://pastebin.com/q7wys8yi

On Tuesday, October 22, 2013 9:55:16 PM UTC-4, Alex Miller wrote:

 I'd love to see a stack trace when that happens (could even be triggered 
 by dumping stack in your static initializer if nothing else).

 On Saturday, October 12, 2013 3:17:50 AM UTC-5, Wujek Srujek wrote:

 So you are saying compilation is trying to instantiate class and run 
 static initializers? This seems very backward, are you sure?


 On Sat, Oct 12, 2013 at 8:30 AM, Zach Oakes zso...@gmail.com wrote:

 I should add, I am aware I can bring in a class dynamically with 
 Class/forName, and that is what I ended up doing for the Timer class. 
 However, this is not always practical, and sometimes is simply not an 
 option if aot-compilation is required.


 On Saturday, October 12, 2013 2:28:38 AM UTC-4, Zach Oakes wrote:

 I recently learned that merely importing a Java class in Clojure causes 
 static initializers to be run. Sometimes, this causes compilation errors, 
 because they are written with the assumption that they will only be run 
 during runtime.

 I ran into this just now while trying to make a simple Clojure game 
 with LibGDX. After simply importing its Timer class, I began getting 
 compilation errors. The stack trace shows it is due to a static 
 initializerhttps://github.com/libgdx/libgdx/blob/511b557c1a2d23bf8110a05b0ef54cc20b7f958d/gdx/src/com/badlogic/gdx/utils/Timer.java#L32attempting
  to instantiate the class!

 I also ran into this recently while trying to use RoboVM. My question 
 is, do I have any options? I haven't found many discussions about this 
 here 
 or elsewhere. This surprises me, because it seems like something more 
 people should be running into.

  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
-- 
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/groups/opt_out.


[ANN] lein-fruit, native iOS apps in Clojure.

2013-10-19 Thread Zach Oakes
https://github.com/oakes/lein-fruit

This is the first release of lein-fruit, the iOS equivalent of lein-droid, 
allowing you to build native iOS apps in Clojure and/or Java. It is also 
included in the latest release of Nightcode https://nightcode.info/. It 
is really just a thin wrapper around RoboVM http://www.robovm.org/, the 
bytecode-to-native translator and bridge for iOS APIs. The plugin also 
includes a few useful templates to get you started.

One caveat is that, due to the weird way Clojure imports Java classes, 
which I discussed here 
beforehttps://groups.google.com/forum/#!msg/clojure/tWSEsOk_pM4/y7kDQpEV-1gJ, 
you can't import most of RoboVM's iOS classes without getting a nasty 
compile error. As a workaround, you must invoke these classes dynamically. 
The Clojure template in lein-fruit provides some convenience functions for 
this, but ultimately it is a big limitation.

So why build this? Games! Nightcode already had a Clojure LibGDX template, 
allowing you to compile a desktop and Android game from the same Clojure 
codebase -- and now it supports iOS, too! And since games don't really use 
platform-specific APIs, the aforementioned problem isn't a big deal.

Additional caveats: There is no REPL or runtime evaling due to iOS 
executable memory restrictions. Also, I don't own a Mac or an iOS device, 
so I had to do all my development in a VM with the iOS simulator (a VM 
inside of a VM?). Naturally, I would like to hear about any bugs. Thanks!

-- 
-- 
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/groups/opt_out.


Clojure can't import some Java classes

2013-10-12 Thread Zach Oakes
I recently learned that merely importing a Java class in Clojure causes 
static initializers to be run. Sometimes, this causes compilation errors, 
because they are written with the assumption that they will only be run 
during runtime.

I ran into this just now while trying to make a simple Clojure game with 
LibGDX. After simply importing its Timer class, I began getting compilation 
errors. The stack trace shows it is due to a static 
initializerhttps://github.com/libgdx/libgdx/blob/511b557c1a2d23bf8110a05b0ef54cc20b7f958d/gdx/src/com/badlogic/gdx/utils/Timer.java#L32attempting
 to instantiate the class!

I also ran into this recently while trying to use RoboVM. My question is, 
do I have any options? I haven't found many discussions about this here or 
elsewhere. This surprises me, because it seems like something more people 
should be running into.

-- 
-- 
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/groups/opt_out.


Re: Clojure can't import some Java classes

2013-10-12 Thread Zach Oakes
I should add, I am aware I can bring in a class dynamically with 
Class/forName, and that is what I ended up doing for the Timer class. 
However, this is not always practical, and sometimes is simply not an 
option if aot-compilation is required.

On Saturday, October 12, 2013 2:28:38 AM UTC-4, Zach Oakes wrote:

 I recently learned that merely importing a Java class in Clojure causes 
 static initializers to be run. Sometimes, this causes compilation errors, 
 because they are written with the assumption that they will only be run 
 during runtime.

 I ran into this just now while trying to make a simple Clojure game with 
 LibGDX. After simply importing its Timer class, I began getting compilation 
 errors. The stack trace shows it is due to a static 
 initializerhttps://github.com/libgdx/libgdx/blob/511b557c1a2d23bf8110a05b0ef54cc20b7f958d/gdx/src/com/badlogic/gdx/utils/Timer.java#L32attempting
  to instantiate the class!

 I also ran into this recently while trying to use RoboVM. My question is, 
 do I have any options? I haven't found many discussions about this here or 
 elsewhere. This surprises me, because it seems like something more people 
 should be running into.


-- 
-- 
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/groups/opt_out.


Re: Clojure can't import some Java classes

2013-10-12 Thread Zach Oakes
Compiling against mock classes is the other solution I've tried as well. 
I'm not sure how the real classes would take over once the program is run, 
and also it's a quite laborious and brittle solution since updates to the 
real classes would break the mock classes. Definitely interested in ideas 
others may have.

On Saturday, October 12, 2013 4:36:31 AM UTC-4, Colin Fleming wrote:

 Yup, it's true. I suffer from this as well. When I'm compiling Cursive 
 normal compilation fails because a bunch of the IntelliJ classes assume the 
 IntelliJ platform is running and barf if it's not. I have an awful hack 
 which is to run the compilation within their test framework which sets up a 
 mock platform, but it's really ugly. I'd appreciate a clever workaround to 
 this too. The other thing I've considered is to create a set of API classes 
 to compile against which would be the standard classes with the static 
 initialisers stripped out with ASM or something. In fact you could strip 
 out everything but the signatures.


 On 12 October 2013 21:17, Wujek Srujek wujek@gmail.com 
 javascript:wrote:

 So you are saying compilation is trying to instantiate class and run 
 static initializers? This seems very backward, are you sure?


 On Sat, Oct 12, 2013 at 8:30 AM, Zach Oakes zso...@gmail.comjavascript:
  wrote:

 I should add, I am aware I can bring in a class dynamically with 
 Class/forName, and that is what I ended up doing for the Timer class. 
 However, this is not always practical, and sometimes is simply not an 
 option if aot-compilation is required.


 On Saturday, October 12, 2013 2:28:38 AM UTC-4, Zach Oakes wrote:

 I recently learned that merely importing a Java class in Clojure causes 
 static initializers to be run. Sometimes, this causes compilation errors, 
 because they are written with the assumption that they will only be run 
 during runtime.

 I ran into this just now while trying to make a simple Clojure game 
 with LibGDX. After simply importing its Timer class, I began getting 
 compilation errors. The stack trace shows it is due to a static 
 initializerhttps://github.com/libgdx/libgdx/blob/511b557c1a2d23bf8110a05b0ef54cc20b7f958d/gdx/src/com/badlogic/gdx/utils/Timer.java#L32attempting
  to instantiate the class!

 I also ran into this recently while trying to use RoboVM. My question 
 is, do I have any options? I haven't found many discussions about this 
 here 
 or elsewhere. This surprises me, because it seems like something more 
 people should be running into.

  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.


  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
-- 
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/groups/opt_out.


Re: Clojure can't import some Java classes

2013-10-12 Thread Zach Oakes
I'm just pulling LibGDX from maven and trying to call its classes via 
Clojure. I don't doubt that mock classes could work, but I think the effort 
in writing and maintaining them would be more than it's worth.

On Saturday, October 12, 2013 4:25:15 PM UTC-4, Colin Fleming wrote:

 In my case I'm AOTing, so compiling against one set of classes then 
 running against another isn't difficult. If you're compiling from source 
 it's tougher, but aren't you basically compiling at runtime at that point? 
 Couldn't you work around it changing your startup order (i.e. loading 
 LibGDX with some Java and then requiring your Clojure)?


 On 13 October 2013 04:54, Zach Oakes zso...@gmail.com javascript:wrote:

 Compiling against mock classes is the other solution I've tried as well. 
 I'm not sure how the real classes would take over once the program is run, 
 and also it's a quite laborious and brittle solution since updates to the 
 real classes would break the mock classes. Definitely interested in ideas 
 others may have.


 On Saturday, October 12, 2013 4:36:31 AM UTC-4, Colin Fleming wrote:

 Yup, it's true. I suffer from this as well. When I'm compiling Cursive 
 normal compilation fails because a bunch of the IntelliJ classes assume the 
 IntelliJ platform is running and barf if it's not. I have an awful hack 
 which is to run the compilation within their test framework which sets up a 
 mock platform, but it's really ugly. I'd appreciate a clever workaround to 
 this too. The other thing I've considered is to create a set of API classes 
 to compile against which would be the standard classes with the static 
 initialisers stripped out with ASM or something. In fact you could strip 
 out everything but the signatures.


 On 12 October 2013 21:17, Wujek Srujek wujek@gmail.com wrote:

 So you are saying compilation is trying to instantiate class and run 
 static initializers? This seems very backward, are you sure?


 On Sat, Oct 12, 2013 at 8:30 AM, Zach Oakes zso...@gmail.com wrote:

 I should add, I am aware I can bring in a class dynamically with 
 Class/forName, and that is what I ended up doing for the Timer class. 
 However, this is not always practical, and sometimes is simply not an 
 option if aot-compilation is required.


 On Saturday, October 12, 2013 2:28:38 AM UTC-4, Zach Oakes wrote:

 I recently learned that merely importing a Java class in Clojure 
 causes static initializers to be run. Sometimes, this causes compilation 
 errors, because they are written with the assumption that they will only 
 be 
 run during runtime.

 I ran into this just now while trying to make a simple Clojure game 
 with LibGDX. After simply importing its Timer class, I began getting 
 compilation errors. The stack trace shows it is due to a static 
 initializerhttps://github.com/libgdx/libgdx/blob/511b557c1a2d23bf8110a05b0ef54cc20b7f958d/gdx/src/com/badlogic/gdx/utils/Timer.java#L32attempting
  to instantiate the class!

 I also ran into this recently while trying to use RoboVM. My question 
 is, do I have any options? I haven't found many discussions about this 
 here 
 or elsewhere. This surprises me, because it seems like something more 
 people should be running into.

  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@**googlegroups.com

 For more options, visit this group at
 http://groups.google.com/**group/clojure?hl=enhttp://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+u...@**googlegroups.com.

 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .


  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@**googlegroups.com

 For more options, visit this group at
 http://groups.google.com/**group/clojure?hl=enhttp://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+u...@**googlegroups.com.

 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .


  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo

Re: Nightcode questions

2013-09-26 Thread Zach Oakes
Hi, thanks for trying it out. In the future, you are welcome to post a 
question on reddit.com/r/Nightcode or email me directly, since these 
questions pertain specifically to Nightcode rather than Clojure per se.

As for encoding, it currently defaults to your system encoding, but I just 
pushed a change to use UTF-8, so if you could clone the repo and try it out 
I would appreciate it. The shortcuts and paredit commands should definitely 
be working. The latter are invoked via the Alt key. Please try that and let 
me know if it works. It would be helpful to know what OS you are using as 
well.

To answer your question you posted in another thread, I'm aware of the 
highlighting bug (I actually created the Github issue that originally 
reported it). It's been fixed, but only about a week ago so it is 
definitely not in RSyntaxTextArea 2.5.0.

Zach

On Thursday, September 26, 2013 1:42:03 AM UTC-4, adrians wrote:

 Hi Zach,

 After trying various multi-key combinations in order to invoke some 
 paredit commands, I ended up so that typing Ctrl+anything would insert odd, 
 non alphanumeric characters into the edior (I'm using a US keyboard, btw). 
 Even basics like ctrl-z, ctrl-s wouldn't do the right thing. Are you using 
 the default encoding or setting it to anything specific in the text editor? 
 Could you make this customizable? I had similar issues in Eclipse until I 
 set the container encoding to UTF-8 so that new editors would use that. I'd 
 also like to know what happens with existing files that have a specific 
 encoding as far as any default conversion being applied. Can you give any 
 details?

 Another thing I'm not clear on, are all the shortcuts supposed to be 
 working at this point? I see (by pressing ctrl) that the toggle for the 
 paredit switch is shift-P, so I guess ctrl-shift-P should toggle that 
 toolbar button, but it doesn't, for me. If I turn on paredit mode using the 
 mouse, how do I invoke commands? Is this working yet?

 Thanks for adding clarity to my fumbling around.

 -- Adrian


-- 
-- 
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/groups/opt_out.


[ANN] Nightcode 0.1.0, a Clojure IDE

2013-09-25 Thread Zach Oakes
Nightcode is an IDE written in Clojure. I announced a very half-baked 0.0.1 
nearly two months ago, and after tons of bug fixes and feature additions, 
I'm happy to release a two-thirds-baked 0.1.0:

https://nightcode.info/

Here's what's changed since the first release:

- When holding down the Ctrl/Cmd key, you will now see a list of 
currently-open files that you can switch between with the left/right arrows 
and close with 'W'. It's Nightcode's clutter-free answer to tabs.
- In Java projects, the Reload button will invoke the JVM's HotSwap 
feature to compile all modified Java files and inject them into the running 
process. In Clojure projects, Reload will eval all modified Clojure files 
into the running REPL.
- Paredit is now optional, and can be toggled by hitting the Paredit 
button above any open clj/cljs file.
- Code completion for clj/cljs files is now available by hitting Ctrl/Cmd + 
Space or just hitting the Doc button. This feature was made possible by 
the compliment library from Alex Yakushev.
- In ClojureScript projects, there is now an Auto button in the build 
pane. Hitting it will run a process equivalent to lein cljsbuild auto, 
allowing your cljs files to be rebuilt every time you save them.
- In addition to the existing game template for Java, there is now one for 
Clojure. Both use LibGDX and can compile for desktop and Android.
- There is now a Replace box to complement the Find box.
- It now consumes less than 100% of your CPU.

-- 
-- 
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/groups/opt_out.


Re: [ANN] Nightcode 0.1.0, a Clojure IDE

2013-09-25 Thread Zach Oakes
The theme is currently hard-coded. BTW I submitted it to HN, in case anyone 
cares:

https://news.ycombinator.com/item?id=613

On Wednesday, September 25, 2013 9:54:23 AM UTC-4, Shantanu Kumar wrote:

 Thanks for the release! Is there a way to change the color theme, e.g. if 
 I want to set a light background?

 Shantanu

 On Wednesday, 25 September 2013 19:03:47 UTC+5:30, Zach Oakes wrote:

 Nightcode is an IDE written in Clojure. I announced a very half-baked 
 0.0.1 nearly two months ago, and after tons of bug fixes and feature 
 additions, I'm happy to release a two-thirds-baked 0.1.0:

 https://nightcode.info/

 Here's what's changed since the first release:

 - When holding down the Ctrl/Cmd key, you will now see a list of 
 currently-open files that you can switch between with the left/right arrows 
 and close with 'W'. It's Nightcode's clutter-free answer to tabs.
 - In Java projects, the Reload button will invoke the JVM's HotSwap 
 feature to compile all modified Java files and inject them into the running 
 process. In Clojure projects, Reload will eval all modified Clojure files 
 into the running REPL.
 - Paredit is now optional, and can be toggled by hitting the Paredit 
 button above any open clj/cljs file.
 - Code completion for clj/cljs files is now available by hitting Ctrl/Cmd 
 + Space or just hitting the Doc button. This feature was made possible by 
 the compliment library from Alex Yakushev.
 - In ClojureScript projects, there is now an Auto button in the build 
 pane. Hitting it will run a process equivalent to lein cljsbuild auto, 
 allowing your cljs files to be rebuilt every time you save them.
 - In addition to the existing game template for Java, there is now one 
 for Clojure. Both use LibGDX and can compile for desktop and Android.
 - There is now a Replace box to complement the Find box.
 - It now consumes less than 100% of your CPU.



-- 
-- 
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/groups/opt_out.


Re: [ANN] Nightcode 0.1.0, a Clojure IDE

2013-09-25 Thread Zach Oakes
It won't compile to the CLR, but you can certainly run the jar file on 
Windows. I assume you want to avoid installing Java, but that won't be 
possible because its UI is entirely Swing-based and it has JVM-specific 
stuff on the backend like the HotSwap feature.

On Wednesday, September 25, 2013 7:48:11 PM UTC-4, Mike wrote:

 Probably a dumb question, but for those of us who would love to use 
 Clojure under Windows, is there a way to use this IDE in a Clojure-CLR 
 environment?

 In any case, thank you for your efforts.

 On Wednesday, September 25, 2013 8:33:47 AM UTC-5, Zach Oakes wrote:

 Nightcode is an IDE written in Clojure. I announced a very half-baked 
 0.0.1 nearly two months ago, and after tons of bug fixes and feature 
 additions, I'm happy to release a two-thirds-baked 0.1.0:

 https://nightcode.info/



-- 
-- 
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/groups/opt_out.


Re: [ANN] Nightcode 0.1.0, a Clojure IDE

2013-09-25 Thread Zach Oakes
I messed with JavaFX and Clojure in the past. I found a neat little library 
called splendid on BitBucket that wrapped a few things, but nothing like 
seesaw. Also, I mainly was interested in it for its webkit-based WebView, 
but that turned out to be really crummy. I also didn't like that it wasn't 
in OpenJDK (thought I think that will change with Java 8).

I do remember being intrigued by the native packaging that JavaFX 
supposedly provides. Then I found a neat tool called JWrapper than seems to 
do the same thing, but for any Java application. Eventually I decided it 
may not be very secure to bundle a private JRE that I must worry about 
updating. Lastly, I'm not sold on installers at all; there's a nice 
simplicity to just running a jar file.

On Wednesday, September 25, 2013 10:06:31 PM UTC-4, adrians wrote:


 Zach, have you considered using JavaFX instead of Swing and having an 
 embedded JRE as a turnkey one file setup (see 
 http://docs.oracle.com/javafx/2/deployment/packaging.htm)? You'd probably 
 be able to build a UI with much more potential for the long run.


 On Wednesday, September 25, 2013 9:53:13 PM UTC-4, Zach Oakes wrote:

 It won't compile to the CLR, but you can certainly run the jar file on 
 Windows. I assume you want to avoid installing Java, but that won't be 
 possible because its UI is entirely Swing-based and it has JVM-specific 
 stuff on the backend like the HotSwap feature.

 On Wednesday, September 25, 2013 7:48:11 PM UTC-4, Mike wrote:

 Probably a dumb question, but for those of us who would love to use 
 Clojure under Windows, is there a way to use this IDE in a Clojure-CLR 
 environment?

 In any case, thank you for your efforts.

 On Wednesday, September 25, 2013 8:33:47 AM UTC-5, Zach Oakes wrote:

 Nightcode is an IDE written in Clojure. I announced a very half-baked 
 0.0.1 nearly two months ago, and after tons of bug fixes and feature 
 additions, I'm happy to release a two-thirds-baked 0.1.0:

 https://nightcode.info/



-- 
-- 
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/groups/opt_out.


Re: GSoC report: Extend Neko library for Android

2013-09-24 Thread Zach Oakes
I am so excited about how neko and lein-droid have come along; Alex has 
done some amazing work. Compared to Android's standard Java/XML approach, 
it's really a revelation to write your UI and logic in the same simple 
Clojure code. For the types of apps that don't require instant boot times, 
I think Clojure will be a tremendous secret weapon.

On Monday, September 23, 2013 8:30:16 PM UTC-4, Alexander Yakushev wrote:

 As you might already figured out from similar topics, GSoC 2013 is over 
 and it is time to collect the fruit. As of my proposal, I achieved several 
 things this year at both lein-droid[1] and Neko[2]. Here is the list of 
 them:

 1. Rewrote neko.ui from macros to functions to allow true dynamic UI 
 generation (similar to Hiccup, for example).
 2. Added utilities to create menus and manipulate application ActionBar 
 (including action modes), implemented support for tabbed views and 
 Fragments.
 3. Added support for data readers in Clojure/Android projects, implemented 
 a few data readers for resource identifiers.
 4. Implemented auto-completion[3] that works reasonably fast on Android 
 devices. The client currently exists for Emacs only[4], but Zach is working 
 on integrating it into Nightcode. The auto-completion library can also be 
 used in Clojure/JVM projects since it has a couple of nice features beyond 
 clojure-complete.
 5. Created template for a splash window to be shown while Clojure runtime 
 is being loaded[5]. New projects are created with this splash already 
 included.
 6. Implemented some more UI widgets and traits in Neko.

 I thank my mentor, Zach Oakes, for his amazing support, advice and 
 feedback throughout the whole program; and of course, Clojure community for 
 giving me a chance to pursue this project. I am very glad that some people 
 have already tried Clojure on Android, and sincerely hope that my work 
 brings even more curious minds to it.

 Best regards,
 Alex Yakushev

 [1] https://github.com/clojure-android/lein-droid
 [2] https://github.com/alexander-yakushev/neko
 [3] https://github.com/alexander-yakushev/compliment/
 [4] https://github.com/alexander-yakushev/ac-nrepl-compliment
 [5] http://www.youtube.com/watch?v=sqI-iUmxJS0


-- 
-- 
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/groups/opt_out.


Re: Leiningen 2.3.0 and uberjar

2013-08-10 Thread Zach Oakes
I experienced this as well; when I opened the resulting jar, I found source 
files rather than class files. Not sure what causes this.

On Saturday, August 10, 2013 9:36:24 AM UTC-4, Christian Sperandio wrote:

 Hi,

 I've installed the last lein version. But when I do:

 $ lein new app jartest
 $ lein uberjar

 At this time, 2 jars are created. Then I call:

 $ java -jar target/jartest-0.1.0-SNAPSHOT-standalone.jar

 And I get this error:

 Caused by: java.lang.ClassNotFoundException: jartest.core
 at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

 In the jartest/core.clj, the :gen-class option of ns is well defined and 
 there's the main function.

 What did I miss?

 Thanks for your help.



-- 
-- 
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/groups/opt_out.




Re: ANN: paredit-widget, simple swing-based clojure paredit widget

2013-08-06 Thread Zach Oakes
Thanks! It seems to work well so far in Nightcode. I noticed it pulled down 
a bunch of older versions of Clojure, but I'm guessing that's because 
you're using a SNAPSHOT version of seesaw in it? Also, I was wondering if 
the other library you use (org.kovas/paredit.clj) was available anywhere -- 
I couldn't find it on your Github.

On Monday, August 5, 2013 11:52:24 PM UTC-4, kovasb wrote:

 Thanks for the feedback. I just extended the paredit-widget function to be 
 able to consume pre-existing widgets:

 (p/paredit-widget (javax.swing.JTextArea. (foo bar))) 

 fyi right now the implementation isn't taking advantage of parsley's 
 incremental parsing support, and instead is reparsing the text with every 
 paredit command execution. This might be an issue for big files, but is 
 fixable. 


 On Mon, Aug 5, 2013 at 7:51 PM, Zach Oakes zso...@gmail.com javascript: 
 wrote:
 
  Hi kovasb, I mentioned this in the other thread but it's best to ask 
 here: Can you provide a way to pass an existing JTextArea to it, rather 
 than instantiating your own?
 
  --
  --
  You received this message because you are subscribed to the Google
  Groups Clojure group.
  To post to this group, send email to clo...@googlegroups.comjavascript:
  Note that posts from new members are moderated - please be patient with 
 your first post.
  To unsubscribe from this group, send email to
  clojure+u...@googlegroups.com javascript:
  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+u...@googlegroups.com javascript:.
  For more options, visit https://groups.google.com/groups/opt_out.
 
 


-- 
-- 
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/groups/opt_out.




Re: ANN: paredit-widget, simple swing-based clojure paredit widget

2013-08-06 Thread Zach Oakes
Yeah that's what it is:

WARNING!!! version ranges found for:
[org.kovas/paredit-widget 0.1.1-SNAPSHOT] - [org.kovas/paredit.clj 
0.20.1-SNAPSHOT] - [net.cgrand/parsley 0.9.2] - [net.cgrand/regex 
1.1.0] - [org.clojure/clojure [1.2.0,)]

I guess my only remaining question is whether the paredit.clj library is 
available somewhere, so I can take a quick look.

On Tuesday, August 6, 2013 1:01:43 PM UTC-4, Nelson Morris wrote:

 It might be a version range somewhere.  `lein deps :tree` in lein 2.2.0 
 should show the path to it.  If it doesn't please let me know


 On Tue, Aug 6, 2013 at 11:32 AM, Zach Oakes zso...@gmail.comjavascript:
  wrote:

 Thanks! It seems to work well so far in Nightcode. I noticed it pulled 
 down a bunch of older versions of Clojure, but I'm guessing that's because 
 you're using a SNAPSHOT version of seesaw in it? Also, I was wondering if 
 the other library you use (org.kovas/paredit.clj) was available anywhere -- 
 I couldn't find it on your Github.


 On Monday, August 5, 2013 11:52:24 PM UTC-4, kovasb wrote:

 Thanks for the feedback. I just extended the paredit-widget function to 
 be able to consume pre-existing widgets:

 (p/paredit-widget (javax.swing.JTextArea. (foo bar))) 

 fyi right now the implementation isn't taking advantage of parsley's 
 incremental parsing support, and instead is reparsing the text with every 
 paredit command execution. This might be an issue for big files, but is 
 fixable. 


 On Mon, Aug 5, 2013 at 7:51 PM, Zach Oakes zso...@gmail.com wrote:
 
  Hi kovasb, I mentioned this in the other thread but it's best to ask 
 here: Can you provide a way to pass an existing JTextArea to it, rather 
 than instantiating your own?
 
  --
  --
  You received this message because you are subscribed to the Google
  Groups Clojure group.
  To post to this group, send email to clo...@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+u...@**googlegroups.com

  For more options, visit this group at
  http://groups.google.com/**group/clojure?hl=enhttp://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+u...@**googlegroups.com.

  For more options, visit 
  https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .
 
 

  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  




-- 
-- 
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/groups/opt_out.




Re: ANN: paredit-widget, simple swing-based clojure paredit widget

2013-08-06 Thread Zach Oakes
OK thanks, that makes sense. I just pushed the commit that adds it to 
Nightcode so hopefully I'll get some feedback on it for the next release. 
Thanks again.

On Tuesday, August 6, 2013 1:43:57 PM UTC-4, kovasb wrote:

 I got it from 

 https://github.com/laurentpetit/ccw/tree/master/paredit.clj

 I had to make a change to bump the parsley version




 On Tue, Aug 6, 2013 at 10:14 AM, Zach Oakes zso...@gmail.comjavascript:
  wrote:

 Yeah that's what it is:

 WARNING!!! version ranges found for:
 [org.kovas/paredit-widget 0.1.1-SNAPSHOT] - [org.kovas/paredit.clj 
 0.20.1-SNAPSHOT] - [net.cgrand/parsley 0.9.2] - [net.cgrand/regex 
 1.1.0] - [org.clojure/clojure [1.2.0,)]

 I guess my only remaining question is whether the paredit.clj library is 
 available somewhere, so I can take a quick look.

 On Tuesday, August 6, 2013 1:01:43 PM UTC-4, Nelson Morris wrote:

 It might be a version range somewhere.  `lein deps :tree` in lein 2.2.0 
 should show the path to it.  If it doesn't please let me know


 On Tue, Aug 6, 2013 at 11:32 AM, Zach Oakes zso...@gmail.com wrote:

 Thanks! It seems to work well so far in Nightcode. I noticed it pulled 
 down a bunch of older versions of Clojure, but I'm guessing that's because 
 you're using a SNAPSHOT version of seesaw in it? Also, I was wondering if 
 the other library you use (org.kovas/paredit.clj) was available anywhere 
 -- 
 I couldn't find it on your Github.


 On Monday, August 5, 2013 11:52:24 PM UTC-4, kovasb wrote:

 Thanks for the feedback. I just extended the paredit-widget function 
 to be able to consume pre-existing widgets:

 (p/paredit-widget (javax.swing.JTextArea. (foo bar))) 

 fyi right now the implementation isn't taking advantage of parsley's 
 incremental parsing support, and instead is reparsing the text with every 
 paredit command execution. This might be an issue for big files, but is 
 fixable. 


 On Mon, Aug 5, 2013 at 7:51 PM, Zach Oakes zso...@gmail.com wrote:
 
  Hi kovasb, I mentioned this in the other thread but it's best to ask 
 here: Can you provide a way to pass an existing JTextArea to it, rather 
 than instantiating your own?
 
  --
  --
  You received this message because you are subscribed to the Google
  Groups Clojure group.
  To post to this group, send email to clo...@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+u...@**googlegroups.com

  For more options, visit this group at
  http://groups.google.com/**group**/clojure?hl=enhttp://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+u...@**googlegroups.com.

  For more options, visit 
  https://groups.google.com/**grou**ps/opt_outhttps://groups.google.com/groups/opt_out
 .
 
 

  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@**googlegroups.com
 For more options, visit this group at
 http://groups.google.com/**group/clojure?hl=enhttp://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+u...@**googlegroups.com.
 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .
  
  


  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  




-- 
-- 
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

Re: ANN: paredit-widget, simple swing-based clojure paredit widget

2013-08-06 Thread Zach Oakes
I'll try adding a way to toggle paredit, but it'll be complicated since I 
will probably have to re-create and re-load all open files, unless 
paredit-widget provides a way to disable paredit from a JTextArea that 
previously had it added. As for evaluating selected expressions, I 
definitely intend on adding that soon.

On Tuesday, August 6, 2013 2:44:51 PM UTC-4, Lee wrote:

 On Aug 6, 2013, at 2:15 PM, kovas boguta wrote: 

  Cool! I just cloned the repo and tried it out. Seems to work pretty 
 well. 
  

 I just tried it too, mainly to see if there was a way to turn paredit 
 off... and I don't see one. Is there one? I really dislike paredit. 

 Also, is there not a way to evaluate a selected expression in the edit 
 window, or am I just missing it? I do think that's an important core 
 feature of Clooj and of most Clojure/Lisp IDEs. 

  -Lee

-- 
-- 
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/groups/opt_out.




Re: [ANN] Nightcode, an IDE for Clojure and Java

2013-08-05 Thread Zach Oakes
Arie, it looks like this is occurring for a lot of people. In lein.clj, I'm 
using two different methods to launch a process, a fast method that 
leverages Leiningen's trampoline feature, and a slow method that runs 
nightcode.lein which in turn runs Leiningen commands (i.e. it adds a level 
of indirection).

The Run with REPL button uses the slow method, because it doesn't work 
correctly with the fast method. I'm having a hard time figuring out why the 
slow method fails for some people, and not others. I've made some changes, 
so if you have the time, please try cloning the repo and running `lein 
run`, and see if the Run with REPL button still throws that error. Any 
help in this regard would be really appreciated.

On Sunday, August 4, 2013 6:40:54 AM UTC-4, Arie van Wingerden wrote:

 Hi Zach,

 0.0.1 worked OK.
 0.0.3 gives this error when Run with REPL:
Error: Could not find or load main class nightcode.lein

 TIA,
   Arie


 2013/8/3 Zach Oakes zso...@gmail.com javascript:

 Thanks for the complements! I just released 0.0.2, which should make 
 Run/Build faster and more reliable. It also fixes shortcuts on OS X so they 
 use command instead of control.


 On Saturday, August 3, 2013 8:07:31 AM UTC-4, Manuel Paccagnella wrote:

 Wow, it looks very promising. I'd also like add a +1 for smart indent 
 and paredit. 

 Kudos to you Zach!

 Manuel

 Il giorno venerdì 2 agosto 2013 15:03:03 UTC+2, Zach Oakes ha scritto:

 I’ve been working on a simple IDE for the past few months. It started 
 as an attempt to add Leiningen integration to Clooj, but eventually I 
 decided to start a new project from scratch. It is very alpha-quality, so 
 please be gentle:

 http://nightcode.info/

 Here’s what it has:

 -Written in Clojure (the UI is written with seesaw)

 -Built-in copy of Leiningen to build Clojure and pure-Java projects

 -Built-in templates for several common types of Clojure and Java 
 projects

 -Always-on REPL in the corner to try Clojure commands

 -Android integration (includes the lein-droid plugin, LogCat output, 
 etc)

 -ClojureScript integration (includes the lein-cljsbuild plugin)

 -Cool looking dark theme, because that’s trendy these days

 Here’s what it’s missing:

 -Fast build times (it launches Leiningen in a separate process, which 
 is slw...I plan on fixing this and would love any help)

 -Important editing features (code completion, text replace, etc)

 -Quick switching between recent files

 -Jump to definition, built-in documentation

 -Integration between editor and REPL (eval form or entire file)

 -Integration with git
 -Many other things -- please give me your thoughts!

  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  




-- 
-- 
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/groups/opt_out.




Re: [ANN] Nightcode, an IDE for Clojure and Java

2013-08-05 Thread Zach Oakes
kovasb, that looks really great. Could you modify it to allow passing in an 
existing JTextArea? Right now it appears to be instantiating its own, 
whereas I am using 
TextEditorPanehttp://javadoc.fifesoft.com/rsyntaxtextarea/org/fife/ui/rsyntaxtextarea/TextEditorPane.html,
 
which inherits JTextArea.

On Monday, August 5, 2013 9:51:15 PM UTC-4, kovasb wrote:

 I've just released paredit-widget, 
 https://github.com/kovasb/paredit-widget

 with the intention of creating a drop-in paredit solution for projects 
 like nightcode. Its still pretty experimental but might be an interesting 
 test case to try to integrate.





 On Sun, Aug 4, 2013 at 8:19 PM, Matthew Chadwick 
 math...@gmail.comjavascript:
  wrote:

 this is great!

 please please add structural editing (not simply bracket-matching in a 
 text-editor, but direct manipulation of Clojure data structures (including 
 code). I've been trying out some ideas in this area  would be happy to 
 help out.


 On Friday, August 2, 2013 11:03:03 PM UTC+10, Zach Oakes wrote:

 I’ve been working on a simple IDE for the past few months. It started as 
 an attempt to add Leiningen integration to Clooj, but eventually I decided 
 to start a new project from scratch. It is very alpha-quality, so please be 
 gentle:

 http://nightcode.info/

 Here’s what it has:

 -Written in Clojure (the UI is written with seesaw)

 -Built-in copy of Leiningen to build Clojure and pure-Java projects

 -Built-in templates for several common types of Clojure and Java projects

 -Always-on REPL in the corner to try Clojure commands

 -Android integration (includes the lein-droid plugin, LogCat output, etc)

 -ClojureScript integration (includes the lein-cljsbuild plugin)

 -Cool looking dark theme, because that’s trendy these days

 Here’s what it’s missing:

 -Fast build times (it launches Leiningen in a separate process, which is 
 slw...I plan on fixing this and would love any help)

 -Important editing features (code completion, text replace, etc)

 -Quick switching between recent files

 -Jump to definition, built-in documentation

 -Integration between editor and REPL (eval form or entire file)

 -Integration with git
 -Many other things -- please give me your thoughts!

  -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  




-- 
-- 
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/groups/opt_out.




ANN: paredit-widget, simple swing-based clojure paredit widget

2013-08-05 Thread Zach Oakes
Hi kovasb, I mentioned this in the other thread but it's best to ask here: Can 
you provide a way to pass an existing JTextArea to it, rather than 
instantiating your own?

-- 
-- 
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/groups/opt_out.




Re: [ANN] Nightcode, an IDE for Clojure and Java

2013-08-05 Thread Zach Oakes
I just pushed 0.0.4 to the website. I received reports that it fixes the 
nightcode.lein error, but please let me know if anyone experiences 
otherwise.

On Friday, August 2, 2013 9:03:03 AM UTC-4, Zach Oakes wrote:

 I’ve been working on a simple IDE for the past few months. It started as 
 an attempt to add Leiningen integration to Clooj, but eventually I decided 
 to start a new project from scratch. It is very alpha-quality, so please be 
 gentle:

 http://nightcode.info/

 Here’s what it has:

 -Written in Clojure (the UI is written with seesaw)

 -Built-in copy of Leiningen to build Clojure and pure-Java projects

 -Built-in templates for several common types of Clojure and Java projects

 -Always-on REPL in the corner to try Clojure commands

 -Android integration (includes the lein-droid plugin, LogCat output, etc)

 -ClojureScript integration (includes the lein-cljsbuild plugin)

 -Cool looking dark theme, because that’s trendy these days

 Here’s what it’s missing:

 -Fast build times (it launches Leiningen in a separate process, which is 
 slw...I plan on fixing this and would love any help)

 -Important editing features (code completion, text replace, etc)

 -Quick switching between recent files

 -Jump to definition, built-in documentation

 -Integration between editor and REPL (eval form or entire file)

 -Integration with git
 -Many other things -- please give me your thoughts!


-- 
-- 
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/groups/opt_out.




Re: [ANN] Nightcode, an IDE for Clojure and Java

2013-08-03 Thread Zach Oakes
Thanks for the complements! I just released 0.0.2, which should make 
Run/Build faster and more reliable. It also fixes shortcuts on OS X so they 
use command instead of control.

On Saturday, August 3, 2013 8:07:31 AM UTC-4, Manuel Paccagnella wrote:

 Wow, it looks very promising. I'd also like add a +1 for smart indent and 
 paredit. 

 Kudos to you Zach!

 Manuel

 Il giorno venerdì 2 agosto 2013 15:03:03 UTC+2, Zach Oakes ha scritto:

 I’ve been working on a simple IDE for the past few months. It started as 
 an attempt to add Leiningen integration to Clooj, but eventually I decided 
 to start a new project from scratch. It is very alpha-quality, so please be 
 gentle:

 http://nightcode.info/

 Here’s what it has:

 -Written in Clojure (the UI is written with seesaw)

 -Built-in copy of Leiningen to build Clojure and pure-Java projects

 -Built-in templates for several common types of Clojure and Java projects

 -Always-on REPL in the corner to try Clojure commands

 -Android integration (includes the lein-droid plugin, LogCat output, etc)

 -ClojureScript integration (includes the lein-cljsbuild plugin)

 -Cool looking dark theme, because that’s trendy these days

 Here’s what it’s missing:

 -Fast build times (it launches Leiningen in a separate process, which is 
 slw...I plan on fixing this and would love any help)

 -Important editing features (code completion, text replace, etc)

 -Quick switching between recent files

 -Jump to definition, built-in documentation

 -Integration between editor and REPL (eval form or entire file)

 -Integration with git
 -Many other things -- please give me your thoughts!



-- 
-- 
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/groups/opt_out.




[ANN] Nightcode, an IDE for Clojure and Java

2013-08-02 Thread Zach Oakes


I’ve been working on a simple IDE for the past few months. It started as an 
attempt to add Leiningen integration to Clooj, but eventually I decided to 
start a new project from scratch. It is very alpha-quality, so please be 
gentle:

http://nightcode.info/

Here’s what it has:

-Written in Clojure (the UI is written with seesaw)

-Built-in copy of Leiningen to build Clojure and pure-Java projects

-Built-in templates for several common types of Clojure and Java projects

-Always-on REPL in the corner to try Clojure commands

-Android integration (includes the lein-droid plugin, LogCat output, etc)

-ClojureScript integration (includes the lein-cljsbuild plugin)

-Cool looking dark theme, because that’s trendy these days

Here’s what it’s missing:

-Fast build times (it launches Leiningen in a separate process, which is 
slw...I plan on fixing this and would love any help)

-Important editing features (code completion, text replace, etc)

-Quick switching between recent files

-Jump to definition, built-in documentation

-Integration between editor and REPL (eval form or entire file)

-Integration with git
-Many other things -- please give me your thoughts!

-- 
-- 
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/groups/opt_out.




Re: [ANN] Nightcode, an IDE for Clojure and Java

2013-08-02 Thread Zach Oakes
I definitely plan on continuing development of Nightcode. As of yesterday, 
I am unemployed, so for the time being I have a lot of time on my hands. I 
am hoping to support myself with freelancing and tutoring in the Pittsburgh 
area. If that works out, I should be able to work on Nightcode (and my 
other project, Nightweb) indefinitely. We'll see how it goes.

As for my choice of public domain, I always do that for my projects. I 
realize that I am going against the grain, but it's a principled issue for 
me. I wrote about it on my bloghttps://nightweb.net/blog/public-domain.html, 
but if you'd like to discuss it further we should do it elsewhere because 
it can easily derail the thread.

On Friday, August 2, 2013 11:36:28 AM UTC-4, Laurent PETIT wrote:

 Great initiative ! 

 Is it okay if I ask what your plans are? 
 Asking because in the past, there have been similar initiative which 
 are now either dead or at a slow pace, so it'd be good to know if it's 
 a between-2-jobs project that might not be pursued in the future, or 
 if you're serious about giving it time for a long period, etc. Feel 
 free to answer or not :-) 

 I saw that you use public domain as a license. Why so? I can see 
 people be relunctant to publish their work / submit pull requests with 
 such a free for everyone type of license. But maybe it's just me. 
 What about the EPL, the same as Clojure, Leiningen, Counterclockwise, 
 and a buuunnnch of other clojure all around us? 




 2013/8/2 Zach Oakes zso...@gmail.com javascript:: 
  I’ve been working on a simple IDE for the past few months. It started as 
 an 
  attempt to add Leiningen integration to Clooj, but eventually I decided 
 to 
  start a new project from scratch. It is very alpha-quality, so please be 
  gentle: 
  
  
  http://nightcode.info/ 
  
  
  Here’s what it has: 
  
  
  -Written in Clojure (the UI is written with seesaw) 
  
  -Built-in copy of Leiningen to build Clojure and pure-Java projects 
  
  -Built-in templates for several common types of Clojure and Java 
 projects 
  
  -Always-on REPL in the corner to try Clojure commands 
  
  -Android integration (includes the lein-droid plugin, LogCat output, 
 etc) 
  
  -ClojureScript integration (includes the lein-cljsbuild plugin) 
  
  -Cool looking dark theme, because that’s trendy these days 
  
  
  Here’s what it’s missing: 
  
  
  -Fast build times (it launches Leiningen in a separate process, which is 
  slw...I plan on fixing this and would love any help) 
  
  -Important editing features (code completion, text replace, etc) 
  
  -Quick switching between recent files 
  
  -Jump to definition, built-in documentation 
  
  -Integration between editor and REPL (eval form or entire file) 
  
  -Integration with git 
  
  -Many other things -- please give me your thoughts! 
  
  -- 
  -- 
  You received this message because you are subscribed to the Google 
  Groups Clojure group. 
  To post to this group, send email to clo...@googlegroups.comjavascript: 
  Note that posts from new members are moderated - please be patient with 
 your 
  first post. 
  To unsubscribe from this group, send email to 
  clojure+u...@googlegroups.com javascript: 
  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+u...@googlegroups.com javascript:. 
  For more options, visit https://groups.google.com/groups/opt_out. 
  
  


-- 
-- 
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/groups/opt_out.




Re: [ANN] Nightcode, an IDE for Clojure and Java

2013-08-02 Thread Zach Oakes
I have no problem using third-party code that is copyright-licensed, but 
for the sake of sanity I'd prefer that modifications to my own code be 
public domain -- it can get really absurd if one line of code in a file is 
EPL-licensed and the rest is public domain. There should not be any issue 
with using my code in other projects.

On Friday, August 2, 2013 11:56:01 AM UTC-4, Laurent PETIT wrote:

 2013/8/2 Zach Oakes zso...@gmail.com javascript:: 
  I definitely plan on continuing development of Nightcode. As of 
 yesterday, I 
  am unemployed, so for the time being I have a lot of time on my hands. I 
 am 
  hoping to support myself with freelancing and tutoring in the Pittsburgh 
  area. If that works out, I should be able to work on Nightcode (and my 
 other 
  project, Nightweb) indefinitely. We'll see how it goes. 

 That's great. Because Clojure deserves an easy entry point. I like 
 what I've seen so far, it's inspiring. 


  As for my choice of public domain, I always do that for my projects. I 
  realize that I am going against the grain, but it's a principled issue 
 for 
  me. I wrote about it on my blog, but if you'd like to discuss it further 
 we 
  should do it elsewhere because it can easily derail the thread. 

 I will not start a discussion on the merits of public domain over EPL 
 or vice versa. 

 Just want to notice that you have a whole ecosystem around your 
 codebase, upon which you depend, which may start to depend upon you 
 also, and it is not public domain. 

 And I think it would probably help exchanging code between those 
 projects and yours if they have compatible licenses. Of course I can 
 see public domain code migrating easily to EPL code, but is the 
 reverse true? 

 All I need to know is if you're willing to stand by your rule for 
 nightcode, or make an exception. 

 Cheers, 

 -- 
 Laurent 


-- 
-- 
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/groups/opt_out.




Re: [ANN] Nightcode, an IDE for Clojure and Java

2013-08-02 Thread Zach Oakes
I agree that better parenthesis and indentation behavior is a must; I'll 
add that to my list. The REPL at the bottom left is not associated with 
your project; I thought it would be nice to just have a bare, always-on 
REPL to test clojure commands.

The Run with REPL button should use the leiningen REPL with your 
project's namespaces available, but I don't yet have any interaction 
between the editor and REPL, so any functions you add after loading the 
REPL won't be available -- I'll be fixing this soon.

A few people mentioned to me that they are getting errors when trying to 
run or build anything. I'll be overhauling how Leiningen is run so that 
should be fixed soon -- like I mentioned in the original post, I am 
currently running it in a separate process and it's quite slow and 
inefficient even when it works.

On Friday, August 2, 2013 2:26:44 PM UTC-4, John Gabriele wrote:

 On Friday, August 2, 2013 9:03:03 AM UTC-4, Zach Oakes wrote:

 I’ve been working on a simple IDE for the past few months. It started as 
 an attempt to add Leiningen integration to Clooj, but eventually I decided 
 to start a new project from scratch. It is very alpha-quality, so please be 
 gentle:

 http://nightcode.info/


 Some comments:

   * Wow the GUI looks amazing! Works great as well.
   * Rather than use a built-in lein, is there any way I can have it use my 
 own ~/bin/lein? Why does it come with its own leiningen?
   * To open an existing project: Why import rather than open?

 Is the repl at the bottom-left associated with a given project? It seems 
 to be the same as if I'd run `lein repl` in the dir from where I ran the 
 jar. (Hm. I can't get at any `(doc whatever)` from here...)

 The buttons below the text-editing area correspond to the project to which 
 the given open file belongs, correct? If so, that's really nice. (Hm, when 
 using Run with REPL, having trouble calling a function I added above 
 -main...)

 One big issue I see right now: no smart indentation in the editor window.

 Seems to be quite a nice piece of work so far!

 -- John



-- 
-- 
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/groups/opt_out.




  1   2   >