[ANN] alpacas: a new Clojure source viewer

303 views
Skip to first unread message

Andrea Chiavazza

unread,
Jun 4, 2013, 4:13:32 PM6/4/13
to clo...@googlegroups.com
Alpacas is an application that displays Clojure source code with forms shown as nested boxes, doing away with parenthesis altogether.
Run it with "lein run" and it will display its own source code.
There is partial support to navigate the source code by moving a cursor with the left and right arrows.

Obviously the idea would be to be able to edit the source rather than just viewing it. Some clever key combinations or even the mouse might help accomplish that.
It is still a proof-of-concept and not very useful at the moment, but I think it might turn into something useful, or even innovative shall somebody decide to put some effort into it.

I didn't work at it in a while but I decided to publish it (under GPL) so as to be able to include it in my cv (you can mail me at ndrc...@gmail.com for Clojure job offers).

Denis Labaye

unread,
Jun 4, 2013, 4:14:56 PM6/4/13
to clo...@googlegroups.com
Idea seems great but no screenshots? Too bad for a visual tool


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

Gary Trakhman

unread,
Jun 4, 2013, 4:24:49 PM6/4/13
to clo...@googlegroups.com
Just fyi, most clojure libs are published under EPL or Apache licenses, of course the choice is up to you :-).  GPL has some restrictions that would prevent the lib from being used in many projects.

from the EPL wikipedia page: 'The EPL 1.0 is not compatible with the GPL, and a work created by combining a work licensed under the GPL with a work licensed under the EPL cannot be lawfully distributed.'

Since clojure itself is EPL, not sure what the implications are.

Seems like apache is compatible, but only in one direction.  The project would have to be itself GPL.

Andrea Chiavazza

unread,
Jun 4, 2013, 4:45:52 PM6/4/13
to clo...@googlegroups.com
Thanks for letting me know, I was not aware of this issue.
Google code seems to let you just switch the license, so I switched it to EPL 1.0.

Andrea Chiavazza

unread,
Jun 4, 2013, 4:58:52 PM6/4/13
to clo...@googlegroups.com
Screenshot added

Gregory Graham

unread,
Jun 4, 2013, 7:56:33 PM6/4/13
to clo...@googlegroups.com
This looks like it might be helpful, especially for beginners. I taught Racket in a High School course last year, and I can think of cases where such a diagram could have helped some students.


On Tuesday, June 4, 2013 3:58:52 PM UTC-5, Andrea Chiavazza wrote:
Screenshot added

Matthew Chadwick

unread,
Jun 4, 2013, 8:15:30 PM6/4/13
to clo...@googlegroups.com
hehe looks similar to something I've been writing:

http://celeriac.net/iiiiioiooooo/public/

John Gabriele

unread,
Jun 5, 2013, 9:48:34 AM6/5/13
to clo...@googlegroups.com
On Tuesday, June 4, 2013 4:24:49 PM UTC-4, Gary Trakhman wrote:
Just fyi, most clojure libs are published under EPL or Apache licenses, of course the choice is up to you :-).  GPL has some restrictions that would prevent the lib from being used in many projects.

from the EPL wikipedia page: 'The EPL 1.0 is not compatible with the GPL, and a work created by combining a work licensed under the GPL with a work licensed under the EPL cannot be lawfully distributed.'


LGPL is also a fine choice for Clojure libs.

-- John

Laurent PETIT

unread,
Jun 5, 2013, 10:34:35 AM6/5/13
to clo...@googlegroups.com
Hello,

2013/6/5 John Gabriele <jmg...@gmail.com>:
Given that it is by default suggested to use the EPL for Open Source
Clojure projects, what would be the incentive to use LGPL.

tl;dr: when should I prefer LGPL over EPL for a Clojure lib ?

David Powell

unread,
Jun 5, 2013, 11:46:13 AM6/5/13
to clo...@googlegroups.com
Personally, I think there is too much guesswork involved in understanding what the LGPL means re Java.

For example, from http://jtds.sourceforge.net/license.html, a Java library:

Using jTDS is considered to be dynamic linking; hence our interpretation of the LGPL is that the use of the unmodified jTDS source or binary does not affect the license of your application code.

The authors were kind enough to say what their interpretation of the license is - most LGPL libraries don't; but what if you distribute an LGPL library with an application as an uberjar - that may well be outside of what is permitted - I don't know.  Is it outside the spirit of the 6b) of the LGPL, which seems to be intended to allow the user to easily swap in implementations.

It just seems easier to stick to EPL, especially if you want to allow commercial use of the library.
 


Lee Spector

unread,
Jun 5, 2013, 4:53:43 PM6/5/13
to clo...@googlegroups.com

On Jun 4, 2013, at 4:13 PM, Andrea Chiavazza wrote:

> Alpacas is an application that displays Clojure source code with forms shown as nested boxes, doing away with parenthesis altogether.

FWIW somewhat related ideas go back a couple of decades. Some pointers can be found at http://www.cs.umd.edu/hcil/members/bshneiderman/nsd/

-Lee

Colin Fleming

unread,
Jun 5, 2013, 7:21:57 PM6/5/13
to clo...@googlegroups.com
Right, FWIW in my previous company we disallowed LGPL libraries because of the clause that explicitly allows reverse engineering to substitute different versions of the library. Of course, it's unlikely that anyone would ever do this but it would be a support nightmare if they did, so it was just easier to avoid the problem altogether. Rightly or wrongly a lot of companies think this way so LGPL can affect commercial adoption (assuming you're interested in that, of course).

Colin Fleming

unread,
Jun 5, 2013, 7:27:10 PM6/5/13
to clo...@googlegroups.com
Interesting, I think I like this presentation better, I found the explicit boxes in the OP a little distracting. I guess this then becomes more like Python-style significant indentation, which might be an interesting approach too.


On 5 June 2013 12:15, Matthew Chadwick <math...@gmail.com> wrote:
hehe looks similar to something I've been writing:

http://celeriac.net/iiiiioiooooo/public/

John Gabriele

unread,
Jun 6, 2013, 1:46:27 AM6/6/13
to clo...@googlegroups.com
On Wednesday, June 5, 2013 10:34:35 AM UTC-4, Laurent PETIT wrote:

tl;dr: when should I prefer LGPL over EPL for a Clojure lib ?

Have a look at the brief summary at http://docs.python-guide.org/en/latest/writing/license.html . If you care more about item #2 on that 2-item list, then you may prefer LGPL over EPL.

-- John

Phillip Lord

unread,
Jun 6, 2013, 7:11:42 AM6/6/13
to clo...@googlegroups.com
If you don't like the terms of the EPL. In particular, the choice of law
clause in EPL makes it, I think, a poor choice under many circumstances.
Why would I want my software license to use the law of a foreign country
which I have no control over?

You could also use GPL, if you wanted a strong copyleft, as linking to
the core Clojure libraries is covered by the "standard interface"
clause; likewise, you can write GPL code in Java, or C, even if the
core language is not GPL. However, this would prevent you from building
a single combined work with libraries that used EPL.

Or you could use a BSD style license, which has no copyleft
restrictions. So, if you don't like the patent retaliation clause in
EPL, or the idea that derivative works of the library must themselves be
EPL, then this would be a good choice.

Licenses are a pain; but they do have different implications and
different protections. But, it not that much more difficult than
learning the semantics of a programming language.

Phil
Reply all
Reply to author
Forward
0 new messages