Re: Leiningen capabilities (was Re: A newbie's summary - what worked, what didn't)
On Tue, 29 Mar 2011 16:49:48 -0700 (PDT) Phil Hagelberg p...@hagelb.org wrote: On Mar 28, 10:24 pm, Andy Fingerhut andy.finger...@gmail.com wrote: And I should have known about this before, but had not used it. It adds to Leiningen the capability to search, and I'm not sure, but perhaps also add dependencies that were found: https://github.com/Licenser/lein-search The part that modifies project.clj to insert new dependencies will probably not be merged because 0) abritrary code may be embedded in project.clj, so the :dependencies list is not necessarily a data structure you can just splice however you feel like and 1) it's basic text editing; asking Leiningen to do it for you is hardly more convenient than doing it yourself. It could be done in a 3rd-party plugin with caveats that it will not always work correctly though. Being able to type lein add library and have it take care of everything is a lot more convenient than typing lein search library, selecting the appropriate stretch of text, copying it to the clipboard (or not, if you're brave), switching to an editor, finding the right place to insert it, pasting the clipboard, then saving the file. This seems to be a downside to switching from XML to Clojure. Not that I think that was a bad idea - the upsides far outweigh this. Maybe project.clj should be automatically merged with a project.xml when lein runs, where project.xml is created with a for machine editing only - humans edit project.clj comment at the top. Then tasks could edit project.xml without running into those problems. mike -- Mike Meyer m...@mired.org http://www.mired.org/consulting.html Independent Software developer/SCM consultant, email for more information. O ascii ribbon campaign - stop html mail - www.asciiribbon.org -- 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
Re: A newbie's summary - what worked, what didn't
I use JEdit exclusively as described by David and adding external libraries to the classpath on my own when I launch the REPL. Really, setting the classpath isn't that hard and if you're really planning on using Clojure long term then you'll have to deal with it eventually. So why not just spend time to learn how to do it. On Mar 28, 12:02 pm, David Nolen dnolen.li...@gmail.com wrote: On Mon, Mar 28, 2011 at 2:53 PM, Lee Spector lspec...@hampshire.edu wrote: On Mar 28, 2011, at 1:48 PM, David Nolen wrote: 1) Install JEdit for your platform, start JEdit 2) Install Clojure and Clojure Shell plugins via Plugins menu 3) Start the Clojure Shell from the Plugins menu. 4) Write some Clojure source in a file, save it. 5) Send file to Clojure Shell I've played with this, but am I missing something or does it not provide language-aware auto-indenting? I think that's a minimal requirement for editing in any Lisp-like language. Auto-indenting is achieved via the JEdit Clojure mode. You just need to drop it into your JEdit modes folder (platform dependent location).https://github.com/djspiewak/jedit-modes/blob/master/clojure.xml. I don't consider it critical for newcomers. BTW I also didn't see how to affect the class path, so that I could refer to one file from another (or use a library from somewhere else, but in my case I was just trying to run a program with code in two files). Is there a way to do that? I would use load-file in these cases. It's a limitation, but a reasonable one for newcomers. David -- 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
Re: A newbie's summary - what worked, what didn't
This is exactly what I use and it works perfectly. On Mar 28, 10:48 am, David Nolen dnolen.li...@gmail.com wrote: On Mon, Mar 28, 2011 at 12:39 PM, Lee Spector lspec...@hampshire.eduwrote: On Mar 28, 2011, at 12:19 PM, Luc Prefontaine wrote: But with any other language I've ever used, at most I include a library I need in a directive at the top, or I include my own code in a similar directive. For instance, with Erlang you just say module(whatever) at the top. I mean, that's ALL you do. This is what the poster expects. So much for not asking for a totally transparent solution... 1) Install JEdit for your platform, start JEdit 2) Install Clojure and Clojure Shell plugins via Plugins menu 3) Start the Clojure Shell from the Plugins menu. 4) Write some Clojure source in a file, save it. 5) Send file to Clojure Shell David -- 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
Re: Leiningen capabilities (was Re: A newbie's summary - what worked, what didn't)
comments directed to me Fair enough. It would be great if Clojure tools were as mature as Java's Eclipse or IntelliJ, but hey, Java's been around for 15 years. Probably unrealistic to expect more. Perhaps we can look forward to tools created by you. On Mar 28, 10:32 pm, ultranewb pineapple.l...@yahoo.com wrote: This won't get you a corporate job though. I've been writing lisp code for 40 years and I can't find anyone willing to hire me for my lisp skills Tim Daly Elder of the Internet It's okay. I couldn't get hired as a C programmer for NASA years ago, and I had already written my own working C compiler! The idiot interviewer opened some huge C library reference manual to some random page, and asked me to recite whatever function he had the page opened to from memory. Of course I couldn't do that, and explained to him that this wasn't important, that any decent programmer would simply do what he was doing (open up the reference manual, look up the function, and be using that function within a minute). But of course idiots will be idiots. Either way, if you are in the USA (don't know if you are or aren't), these days corporations just hire Indians on H1-B visas, or they just outsource the work over to there. So you don't have a shot anyway. Jon Seltzer While I agree that clear steps should be provided to assist newcomers, I don't have sympathy for newcomers more interested in bashing other languages and people than in actually learning something. Note sure if this was directed at me or not, but the only language I've bashed is Java. I won't apologize for that, though, so if it offended you, tough ;-) I started learning clojure over a year ago and I don't recall any issues getting started. I fired up a REPL almost immediately. I've stated at the top that I could get REPLs without difficulty. Frankly, I'm a little annoyed by people who want to blame everyone else if something new is not immediately obvious to them. Don't know why you feel as if you or your tribe is being attacked. I'm not blaming anyone or anything, I created a thread on what worked, what didn't as a resource for 1) newbs interested in trying Clojure (I wish I had this resource from the get-go), and 2) as feedback for whatever Clojure people are out there who are making tools and IDEs or who are concerned with the newbie newcomer situation. As to #2, my thread already seemed to help the ClojureW guy make an improvement in a bug I found. If you aren't in group 1 or group 2, don't feel the need to hang out in this thread and feel so annoyed or attacked if you don't want. -- 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
Re: A newbie's summary - what worked, what didn't
On Sun, 27 Mar 2011 21:30:54 -0700 (PDT) ultranewb pineapple.l...@yahoo.com wrote: But with any other language I've ever used, at most I include a library I need in a directive at the top, or I include my own code in a similar directive. Question: how did you find the library you were going to use? If you only searched your local system, then yeah, a well-designed system/language/etc. installed by somebody competent will do that for you And I agree with you - to the best of my knowledge, Java (and from what I can tell, pretty much anything based on the JVM) fails at this. But this also means you're liable to be missing a large chunk of the tools available for the language. These days, most languages have contributed code libraries large enough that installing them all is impractical on most systems. Searching those for things requires accessing a database of some sort over the network. Installing them involves downloading the library from some network site and doing whatever needs to be done to install it. So, assuming you found a library you really needed that wasn't already locally installed, how did you deal with that? If you could add a require library to your source and your language would go find it, download it and install it, I'd like to know about that language. If you had to ask someone else to install it for you, then you're probably right that someone else was paid to deal with these issues. Having been that person, I'll let you know that you had it *really* easy if you didn't have to specify what version of a library you wanted as well as the name. mike -- Mike Meyer m...@mired.org http://www.mired.org/consulting.html Independent Software developer/SCM consultant, email for more information. O ascii ribbon campaign - stop html mail - www.asciiribbon.org -- 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
Re: A newbie's summary - what worked, what didn't
Given the huge number of libraries/projects available these days and the diverse profile of library maintainers, a totally automated/transparent dependency manager is not for today. It would require a crystal ball to cope with a number of situations. That garbage has to be dealt with in day to day use by most of us. You should get used to it or live as an hermit on some far away mountain. Which I am tempted to do from time to time but for real bureaucratic issues like income tax reports :) Life can be hard... Luc On Sun, 27 Mar 2011 21:30:54 -0700 (PDT) ultranewb pineapple.l...@yahoo.com wrote: On Mar 28, 7:51 am, Lee Spector lspec...@hampshire.edu wrote: Dependency management and other garbage are definitely garbage, but I know of no nontrivial programming language that doesn't have its share of it. If you know of any magical environments that eliminate such administrivia, do share. A lot of the programming I've done in a variety of languages hasn't required me to deal with dependency management but that was mostly because there weren't any dependencies except the language itself (e.g. in Common Lisp), the language's own libraries which it knows how to find (e.g. standard C libraries), or my own code (which would be in the same file or the same directory). So the issue didn't arise. This. I am not an expert in the term dependency management because I don't want to be an expert in it. So for these purposes I will define the term as a bunch of bureaucratic crap I have to do that actually has nothing to do with programming. Anyway, the only place I ever experienced it before was a job I took once where they had Microsoft Visual C++ Studio or something like that. This thing sure was ridiculous, and after two days of trying to figure out how to get it to use it's OWN libraries (never once writing a single line of code), I threw it out the window, told the boss I'm using something else, and that was that. I've worked at large operations (IBM, ATT) but never had to do any of this dependency management crap (I don't doubt that somebody, somewhere, might have had to do it - probably a full time employee PAID to do it - but I didn't have to do it). But with any other language I've ever used, at most I include a library I need in a directive at the top, or I include my own code in a similar directive. For instance, with Erlang you just say module(whatever) at the top. I mean, that's ALL you do. And the documentation for the function you are using tells you the whatever to put in. And to tell you the truth, I thought THAT was a load of B.S... until I dealt with Java, heh. With J I either say load 'whatever' or require 'whatever' and that's it. It knows where to go and find the 'whatever'. With APL and Prolog, I don't think I had to ever declare anything. I've used dozens of languages, and this is the pattern with any language I've chosen to use of my own volition. The one exception was the Visual C++ crap (something I wasn't using of my own volition), but I threw it out the window. Another exception WOULD have been Java, except that I decided I wouldn't even do it for money. One pattern I've noticed is that the more a language requires you to do dependency management garbage OUTSIDE the code, before you even get to the code, the more it also requires cruft INSIDE the code. For instance, look at a Java program sometime, with REAMS and REAMS of declarations like public.static.void.main.blah.blah First time I saw that, my jaw just hit the floor, and I said you mean people actually sit there and code in this garbage? I guess more than 50% of the code in a language like this is cruft? At any rate, I will give Shantanu Kumar's recommendation a try, and report back to here if it works or not (my idea for this thread was to compile a list of things that worked or didn't work for future reference for newbs). -- Luc P. The rabid Muppet -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 28, 2011, at 5:16 AM, Luc Prefontaine wrote: Given the huge number of libraries/projects available these days and the diverse profile of library maintainers, a totally automated/transparent dependency manager is not for today. It would require a crystal ball to cope with a number of situations. That garbage has to be dealt with in day to day use by most of us. You should get used to it or live as an hermit on some far away mountain. Which I am tempted to do from time to time but for real bureaucratic issues like income tax reports :) Life can be hard... Luc's response here and also Shantanu's on the same thread have inspired me to coin a new word, FANPERV, for someone who Fails to Appreciate the Newbie's PERspectiVe. Fanpervs typically make two moves in response to confused newbies: 1. Explain (correctly) why the perfect solution requires complexity, and then assert (incorrectly) that newbies (and others with simple needs) should or must deal with that complexity from the start. 2. Provide a (correct) solution to the newbie's problem while asserting (incorrectly) that the solution is simple or obvious, thereby implying that nobody should bother to provide a truly simple or obvious solution to future newbies. Fanpervs are often really smart and hard-working and kind and well intentioned, but for some reason or another -- probably usually because they know too much -- they just don't see how the newbies see things. In the present discussion I don't think that newbies are asking for totally automated/transparent dependency management but rather for a way to avoid the issue entirely for simple projects that just use core and contrib (yes that can be a challenge if you're new to java classpaths, and for many other languages it's simpler because you just have to put the library in the same directory as your source code) or maybe a few other libraries that they could just download (yes that can be a challenge e.g. if the library's instructions just say how to do it from lein but you're using some other dependency management system because you want a Clojure-aware editor that doesn't require you to go down an emacs configuration and learning-curve rabbit hole). I guess maybe I'm not quite a newbie any more, but for whatever reason -- maybe just a thick skull -- I still have the newbie perspective and I totally sympathize with people who are exasperated with the process of setting up a basic Clojure programming environment. As I said before I think there are several projects that get the newbie 90% of the way there, but the last 10% can be rough. I know that there are many on this list who could provide 100% solutions but perhaps haven't done so because they have fanpervish tendencies... But I think that these can be overcome, if people realize that there is really an issue here. -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
Re: A newbie's summary - what worked, what didn't
On Mon, Mar 28, 2011 at 8:51 AM, Lee Spector lspec...@hampshire.edu wrote: On Mar 28, 2011, at 5:16 AM, Luc Prefontaine wrote: Given the huge number of libraries/projects available these days and the diverse profile of library maintainers, a totally automated/transparent dependency manager is not for today. It would require a crystal ball to cope with a number of situations. That garbage has to be dealt with in day to day use by most of us. You should get used to it or live as an hermit on some far away mountain. Which I am tempted to do from time to time but for real bureaucratic issues like income tax reports :) Life can be hard... Luc's response here and also Shantanu's on the same thread have inspired me to coin a new word, FANPERV, for someone who Fails to Appreciate the Newbie's PERspectiVe. Fanpervs typically make two moves in response to confused newbies: 1. Explain (correctly) why the perfect solution requires complexity, and then assert (incorrectly) that newbies (and others with simple needs) should or must deal with that complexity from the start. 2. Provide a (correct) solution to the newbie's problem while asserting (incorrectly) that the solution is simple or obvious, thereby implying that nobody should bother to provide a truly simple or obvious solution to future newbies. You left out 3. Flame the newbie, call him stupid, condescend. 4. Give a correct-but-incomplete solution assuming the newb can fill in the blanks or will even be aware that there are blanks to fill, etc. 5. Create software systems that newbs basically cannot use due to a ridiculously steep learning curve accompanied by a dense and technical manual full of neologisms unrelated to the terms used for similar things in similar, competing software systems, also making UI conventions utterly at odds with the ones in those same systems, up to and including the UI used to access, browse, search, and exit the help. For item 3, I note that there seems to be little flaming here -- thankfully. Usenet newsgroups on the other hand are rife with it, and comp.lang.java.programmer, which a lot of us being JVM-targeting developers probably follow, is a particular culprit at times. For item 4, I seem to recall having had a TeX problem one time and asking in comp.text.tex about it. There was a swift response with a hunk of code to copy and paste into my document's preamble, which made the compiler barf. I came back with a reply to the effect of that didn't work, and the swift response to this boiled down to you needed to put \makeatletter ... \makeatspecial around it, stupid or words to that effect. Actually, I guess that's a combination of 3 *and* 4. With the added two lines of code, it did work as desired. But the responder could have actually included them in the first place instead of assuming that they went without saying. Most TeX users, including me, aren't also TeX hackers that delve deeply into the guts of the thing; beyond the odd \newtheorem or \newcommand use to macro automate something, we don't tend to do much more than write our documents. As for item 5, the most egregious culprit I can recall encountering in that regard is a piece of software that gets mentioned daily around here, is not Maven, and we'll just leave it at that. ;) Fanpervs are often really smart and hard-working and kind and well intentioned, but for some reason or another -- probably usually because they know too much -- they just don't see how the newbies see things. I think this may be true even of the ones guilty of flaming; the flaming stems from frustration and impatience instead of genuine malice. On the other hand, there's a definite contingent that do hold newbs in low esteem and are deliberately rude to them, regarding them as low-status individuals on the techno totem pole. Why does this type bother to reply to newbie questions at all? As near as I can tell they break down into two subtypes: 1. hate seeing newbie questions, the group has a mix of newbie questions and more advanced topics instead of separate lists/groups for each, and they refuse to ignore/killfile these; and 2. gets off on being the superior smarmy know-it-all. The latter, especially, are deserving targets of snarky responses if you catch them in a serious error or omission. This list seems to mostly lack the genuinely newbie-hostile contingent. On Usenet, though, they tend to be a very vocal minority in every unmoderated technical group, usually with significant overlap with the contingent (one of which is found in *every* unmoderated group that gets nonzero levels of nonspammer traffic) of self-appointed moderators (who invariably are the #1 source of off-topic traffic themselves, usually in the form of flames, in-jokes among their own cliques, and complaints about other posters' off-topic traffic). In the present discussion I don't think that newbies are asking for totally automated/transparent dependency management but
Re: A newbie's summary - what worked, what didn't
On Mar 28, 9:18 am, Ken Wesson kwess...@gmail.com wrote: On the other hand, there's a definite contingent that do hold newbs in low esteem and are deliberately rude to them, regarding them as low-status individuals on the techno totem pole. Why does this type bother to reply to newbie questions at all? (Almost) All tribal initiation rites are painful. Since it is not possible with current technology to hit people with sticks via the internet, rudeness is the next best thing. I am not suggesting my implicit approval, just saying that what you are describing is bigger than usenet tech groups, or usenet, or the internet. -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 28, 2011, at 12:19 PM, Luc Prefontaine wrote: But with any other language I've ever used, at most I include a library I need in a directive at the top, or I include my own code in a similar directive. For instance, with Erlang you just say module(whatever) at the top. I mean, that's ALL you do. This is what the poster expects. So much for not asking for a totally transparent solution... There's some ambiguity here about what kind of libraries we're talking about and where they come from. I think the poster is asking for a totally transparent way to do the stuff at the simple end of the spectrum (e.g. for built-in stuff -- which is generally straightforward although some getting-started instructions won't get you contrib -- or libraries that one can download once and stick in an obvious place), and may or may not be asking about any way to do the more exotic stuff (e.g. automatically updating miscellaneous 3rd party libraries). I remember an environment meeting the above expectations many years ago were the linker would use missing references by itself and automatically add necessary libraries. There was only a single drawback. A developer seat cost was around 20,000$ US. Single vendor, absolute mouse trap. At least for my expectations every other programming language/environment I've used over the decades has met my ow expectations (at the simple end of the spectrum) better than Clojure, although Clojure is such a great language that I'm willing to put up with more (and nudge the community to make it better, hopefully in the nicest possible way :-). The simple answer (your # 1) was already provided by Shantanu. Install Eclipse and CCW and you can start simple Clojure projects. No immediate dependency issues until you need something from Clojar. Clearly the above did not ring a bell. I agree that Eclipse/CCW is one of the best 90% solutions out there, and it's what I use (and teach with). But it's not completely easy to set up (I frequently have students with messed up installations that require tinkering) and you do fall off a bit of a cliff as soon as you try to go beyond core contrib; It can be hard to figure out what to download (since often one finds just lein instructions), and confusing to figure out where to put things or how to get Eclipse to find them. Better integration with lein (which I know is being discussed and worked on in the CCW community) would push it much closer to 100% Hence the expectancy reset. Learn to live with it because there will not be a solution as simple as the one you expect in the near future. So much for FANPERV.. We should call this FAMUNE (FAilure to Meet Unrealistic Newbie's Expectations :) Yeah, well what's realistic and reasonable are influenced by one's perspective... -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
Re: A newbie's summary - what worked, what didn't
On Mon, Mar 28, 2011 at 12:39 PM, Lee Spector lspec...@hampshire.eduwrote: On Mar 28, 2011, at 12:19 PM, Luc Prefontaine wrote: But with any other language I've ever used, at most I include a library I need in a directive at the top, or I include my own code in a similar directive. For instance, with Erlang you just say module(whatever) at the top. I mean, that's ALL you do. This is what the poster expects. So much for not asking for a totally transparent solution... 1) Install JEdit for your platform, start JEdit 2) Install Clojure and Clojure Shell plugins via Plugins menu 3) Start the Clojure Shell from the Plugins menu. 4) Write some Clojure source in a file, save it. 5) Send file to Clojure Shell David -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 28, 11:39 pm, Lee Spector lspec...@hampshire.edu wrote: There's some ambiguity here about what kind of libraries we're talking about and where they come from. I think the poster is asking for a totally transparent way to do the stuff at the simple end of the spectrum (e.g. for built-in stuff Yes, this basically. -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 28, 11:19 pm, Luc Prefontaine lprefonta...@softaddicts.ca wrote: The simple answer (your # 1) was already provided by Shantanu. Install Eclipse and CCW and you can start simple Clojure projects. No immediate dependency issues until you need something from Clojar. Oh, there have been lots of simple answers. The problem is, none of them have worked. Either way, I said that I would download and try this Eclipse thing in the next few days, and I will. I don't have high hopes for it, because I've already been there, done that with these other big, glamorous IDEs, but I'll do my due diligence and give it a shot. If I'm a betting in Vegas, I'll bet that it doesn't just work, but we'll see. -- 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
Re: A newbie's summary - what worked, what didn't
Kasim: I just discovered ClojureW, and it looks promising. I will report my reaction after I get time to thoroughly test it for the kinds of things I am doing. In the meantime, a request: When you work 'on a Just Works emacs setup' for Mac Os X consider whether you can create such a setup for the Aquamacs version of emacs that many of us Mac Os X users prefer (because it gives us the power and versatility of emacs without having to learn dozens of non-obvious key chords). Thanks. --Larry On 3/28/11 12:46 AM, Kasim wrote: Hi, I am the guy who did ClojureW. I just updated the instruction to get a REPL with Jline. Thank you for reporting. I am also working on a Just Works emacs setup for all platforms and would be happy to hear your opinion. I really want to make it as simple as ClojureW. Have fun, Kasim http://groups.google.com/group/clojure?hl=en -- 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
Re: A newbie's summary - what worked, what didn't
On Mon, Mar 28, 2011 at 2:27 PM, Larry Travis tra...@cs.wisc.edu wrote: Kasim: I just discovered ClojureW, and it looks promising. I will report my reaction after I get time to thoroughly test it for the kinds of things I am doing. In the meantime, a request: When you work 'on a Just Works emacs setup' for Mac Os X consider whether you can create such a setup for the Aquamacs version of emacs that many of us Mac Os X users prefer (because it gives us the power and versatility of emacs without having to learn dozens of non-obvious key chords). That reminds me: why do MacOS users get an Aquamacs like that, but the rest of us don't get a corresponding Kmacs, Gnomemacs, and Winmacs? :) -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 28, 2011, at 1:48 PM, David Nolen wrote: 1) Install JEdit for your platform, start JEdit 2) Install Clojure and Clojure Shell plugins via Plugins menu 3) Start the Clojure Shell from the Plugins menu. 4) Write some Clojure source in a file, save it. 5) Send file to Clojure Shell I've played with this, but am I missing something or does it not provide language-aware auto-indenting? I think that's a minimal requirement for editing in any Lisp-like language. There's google group traffic that implies that auto-indenting was added to the jEdit Clojure mode a couple of years ago (e.g. http://groups.google.com/group/clojure/browse_thread/thread/399ba47336c5660f), but after following the directions above I don't see how to get auto-indenting. Tab doesn't do it, and neither does EditIndentIndent Lines -- actually that does something but it's nothing like standard Lisp-style indentation. The google group discussion also indicates that there were several versions of this plugin floating around... Perhaps I'm getting an old one for some reason? BTW I also didn't see how to affect the class path, so that I could refer to one file from another (or use a library from somewhere else, but in my case I was just trying to run a program with code in two files). Is there a way to do that? I didn't find answers to these questions in the built-in help, or via web searches... Is there a site dedicated to this plugin? Thanks, -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
Re: A newbie's summary - what worked, what didn't
On Mar 28, 2011, at 2:27 PM, Larry Travis wrote: When you work 'on a Just Works emacs setup' for Mac Os X consider whether you can create such a setup for the Aquamacs version of emacs that many of us Mac Os X users prefer (because it gives us the power and versatility of emacs without having to learn dozens of non-obvious key chords). inc! -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
Re: A newbie's summary - what worked, what didn't
Either way, I said that I would download and try this Eclipse thing in the next few days, and I will. I don't have high hopes for it, because I've already been there, done that with these other big, glamorous IDEs, but I'll do my due diligence and give it a shot. If I'm a betting in Vegas, I'll bet that it doesn't just work, but we'll see. At some point, you'll need to just pick a version and go with it. Once you reach a point where you're about to give up, email a stack trace to this list and we'll try to help. Until then simply giving a list of this didn't work. Isn't really going to help, since there could be any number of things wrong. In my case, my failure to get started with Clojure ended up being because my machine redirects My Documents to a remote share on the network. There probably wasn't much wrong with the IDE I was using, it's just a miss-configuration on my part. Unless you pick something and try to stick with it for more than a few hours, you're not going to really get anywhere. Timothy -- 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
Re: A newbie's summary - what worked, what didn't
On Mon, Mar 28, 2011 at 2:53 PM, Lee Spector lspec...@hampshire.edu wrote: On Mar 28, 2011, at 1:48 PM, David Nolen wrote: 1) Install JEdit for your platform, start JEdit 2) Install Clojure and Clojure Shell plugins via Plugins menu 3) Start the Clojure Shell from the Plugins menu. 4) Write some Clojure source in a file, save it. 5) Send file to Clojure Shell I've played with this, but am I missing something or does it not provide language-aware auto-indenting? I think that's a minimal requirement for editing in any Lisp-like language. Auto-indenting is achieved via the JEdit Clojure mode. You just need to drop it into your JEdit modes folder (platform dependent location). https://github.com/djspiewak/jedit-modes/blob/master/clojure.xml. I don't consider it critical for newcomers. BTW I also didn't see how to affect the class path, so that I could refer to one file from another (or use a library from somewhere else, but in my case I was just trying to run a program with code in two files). Is there a way to do that? I would use load-file in these cases. It's a limitation, but a reasonable one for newcomers. David -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 28, 2011, at 3:02 PM, David Nolen wrote: Auto-indenting is achieved via the JEdit Clojure mode. You just need to drop it into your JEdit modes folder (platform dependent location). https://github.com/djspiewak/jedit-modes/blob/master/clojure.xml. I don't consider it critical for newcomers. I do consider this critical, especially for newcomers. I already had the Clojure edit mode that could be installed from the Plugins menu, and my buffers say clojure at the bottom so I assume it is working. (And I can also execute Clojure code via the PluginsClojure Shell menus.) But following your advice I downloaded the mode file you linked, found a modes directory (on Mac OS X within the application package and a couple levels down), replaced the clojure.xml that was there with the new one, quit and restarted jEdit, and... it seems to behave the same as it did previously :-( Was one of these steps incorrect? BTW I also didn't see how to affect the class path, so that I could refer to one file from another (or use a library from somewhere else, but in my case I was just trying to run a program with code in two files). Is there a way to do that? I would use load-file in these cases. It's a limitation, but a reasonable one for newcomers. I disagree. The preferred ways to include code from libraries/files are require or use (preferably in ns forms) and these should work. Ideally they would find things in some obvious location (like the location of the source file you're executing) by default, and ideally there'd be a simple way to customize this. I think that having no way to go beyond code in a single file, aside from using load-file, would prevent anyone from using this as platform for more than a quick experiment. -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
Re: A newbie's summary - what worked, what didn't
On Sun, Mar 27, 2011 at 11:31 PM, Mark Engelberg mark.engelb...@gmail.com wrote: (require (planet dherman/memoize:3:1)) If the library's not already on the system, when you run the program, Racket automatically downloads it for you and puts it in the right place (and even installs the documentation to the built-in, searchable help desk!), and then the program executes. As someone who had studiously avoided maven all my career before I started to use Clojure, I will admit (grudgingly) that maven comes the closest to making the above a reality for Java systems compared to other build tools I've used so far. I still think maven is utterly horrible so I'm glad Leiningen and Cake exist so I can mostly ignore maven and just use a project.clj file to state what versions of what libraries I need and have the build tool go find them, download them and put them in the right place. On Eclipse + CCW, much as I like CCW and use it most every day I'm working with Clojure, I don't find it's 'magic' for the Clojure libraries to be very appropriate since I rely on Leiningen for dependencies and would rather CCW worked with Leiningen rather than just dropping Clojure JARs into my Eclipse project (but I realize this is at least partly Eclipse's fault for the way it expects you to dance around and configure Java-based projects). I'll probably have more useful feedback over the next month as we start to integrate Clojure into our production code base at work, rather than it being an independent set of utility programs I've been working with alone... Certainly, a new-to-Java-bie is going to find Eclipse and its projects and build paths to be a royal PITA above and beyond the already annoying DLL hell that Java already foists on us. For me, I came from a C / C++ background where builds and dependencies were pretty hairy already so Java wasn't really any worse than what I'd grown up with since the mid-80's. On the other hand, I can't think of a single mainstream language that is widely used in and industry that doesn't make you do some sort of dance to get this crap done so someone who has successfully managed to have a career in IT while avoiding such things has to be admired (albeit with raised eyebrows :) I sympathize with ultranewb's experience and position (to some extent) but can't help feeling their expectations are a little unrealistic in the modern world of programming (sorry dude, no offense intended). So far, I've found Leiningen to be far and away the easiest way to introduce Clojure - and dependencies - to programmers with no nuts'n'bolts Java experience but I haven't really found an IDE that also makes sense for such folks (there's more uptake of Eclipse amongst the programmers I deal with so CCW is the natural path to take, despite the slight conflict with the Leiningen approach right now). -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Railo Technologies, Inc. -- http://www.getrailo.com/ 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
Re: A newbie's summary - what worked, what didn't
On Mon, Mar 28, 2011 at 3:31 PM, Lee Spector lspec...@hampshire.edu wrote: I do consider this critical, especially for newcomers. I already had the Clojure edit mode that could be installed from the Plugins menu, and my buffers say clojure at the bottom so I assume it is working. (And I can also execute Clojure code via the PluginsClojure Shell menus.) Using that clojure.xml, auto-indent works just fine for me. I disagree. The preferred ways to include code from libraries/files are require or use (preferably in ns forms) and these should work. Ideally they would find things in some obvious location (like the location of the source file you're executing) by default, and ideally there'd be a simple way to customize this. I think that having no way to go beyond code in a single file, aside from using load-file, would prevent anyone from using this as platform for more than a quick experiment. -Lee The Clojure plugin comes with a Commando script under the Plugins Console menu that does what you want. David -- 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
Re: A newbie's summary - what worked, what didn't
On Mon, 2011-03-28 at 13:01 -0700, Sean Corfield wrote: On Sun, Mar 27, 2011 at 11:31 PM, Mark Engelberg mark.engelb...@gmail.com wrote: (require (planet dherman/memoize:3:1)) If the library's not already on the system, when you run the program, Racket automatically downloads it for you and puts it in the right place (and even installs the documentation to the built-in, searchable help desk!), and then the program executes. As someone who had studiously avoided maven all my career before I started to use Clojure, I will admit (grudgingly) that maven comes the closest to making the above a reality for Java systems compared to other build tools I've used so far. I still think maven is utterly horrible so I'm glad Leiningen and Cake exist so I can mostly ignore maven and just use a project.clj file to state what versions of what libraries I need and have the build tool go find them, download them and put them in the right place. On Eclipse + CCW, much as I like CCW and use it most every day I'm working with Clojure, I don't find it's 'magic' for the Clojure libraries to be very appropriate since I rely on Leiningen for dependencies and would rather CCW worked with Leiningen rather than just dropping Clojure JARs into my Eclipse project (but I realize this is at least partly Eclipse's fault for the way it expects you to dance around and configure Java-based projects). I'll probably have more useful feedback over the next month as we start to integrate Clojure into our production code base at work, rather than it being an independent set of utility programs I've been working with alone... Certainly, a new-to-Java-bie is going to find Eclipse and its projects and build paths to be a royal PITA above and beyond the already annoying DLL hell that Java already foists on us. For me, I came from a C / C++ background where builds and dependencies were pretty hairy already so Java wasn't really any worse than what I'd grown up with since the mid-80's. On the other hand, I can't think of a single mainstream language that is widely used in and industry that doesn't make you do some sort of dance to get this crap done so someone who has successfully managed to have a career in IT while avoiding such things has to be admired (albeit with raised eyebrows :) I sympathize with ultranewb's experience and position (to some extent) but can't help feeling their expectations are a little unrealistic in the modern world of programming (sorry dude, no offense intended). It helps to think of Java as the new Cobol. :-) Cobol programs were nothing more than a single class object with a data section and a code section. Java just adds more pain because it ties programs to their disk layout and forces you to say everything in triplicate, in tiny files, as though we still only have 4k of memory. Java changed nothing from Cobol except the syntax. Maven and Leiningen are really just JCL reborn. About the only advance is that you don't have to specify the cylinders. Twenty years from now you can get a corporate job maintaining legacy systems in that mainframe language Java, most likely working for Google maintaining their dying code base. So far, I've found Leiningen to be far and away the easiest way to introduce Clojure - and dependencies - to programmers with no nuts'n'bolts Java experience but I haven't really found an IDE that also makes sense for such folks (there's more uptake of Eclipse amongst the programmers I deal with so CCW is the natural path to take, despite the slight conflict with the Leiningen approach right now). IDEs are just a fancy tool for looking up programs in the system catalog on the library pack. If you're going to really be a lisper and use Clojure for more than a Java scripting language then you might want to invest effort in using emacs. You don't even need slime. Just use a *shell* buffer. Lisp and emacs are made for each other and you'll find that you get a much better understanding of where things are, why it works, and how it is put together. This won't get you a corporate job though. I've been writing lisp code for 40 years and I can't find anyone willing to hire me for my lisp skills. Perhaps there is something to this whole IDE thing after all :-) Tim Daly Elder of the Internet -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 28, 2011, at 4:37 PM, David Nolen wrote: Using that clojure.xml, auto-indent works just fine for me. Hmmm. Not for me. I guess this is another instance of the issue that the OP raised. Not sure what to try next to make it work. FWIW one reason I think auto-indentation is critical for newbies is that my best advice to beginning Lisp students is auto-indent it to see where the structure isn't what you thought it was. That reveals a large percentage of problems. Also I rely on it myself for all of my coding. I disagree. The preferred ways to include code from libraries/files are require or use (preferably in ns forms) and these should work. Ideally they would find things in some obvious location (like the location of the source file you're executing) by default, and ideally there'd be a simple way to customize this. I think that having no way to go beyond code in a single file, aside from using load-file, would prevent anyone from using this as platform for more than a quick experiment. The Clojure plugin comes with a Commando script under the Plugins Console menu that does what you want. I've just fiddled with the Commando options a bit but haven't succeeded in getting one file to find another in the same directory via require in an ns form. I don't doubt that it does what I want or that it's simple to do for you and others, but this is another instance of the problem that the OP and I have raised. -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
Re: A newbie's summary - what worked, what didn't
On Mon, Mar 28, 2011 at 4:52 PM, Lee Spector lspec...@hampshire.edu wrote: On Mar 28, 2011, at 4:37 PM, David Nolen wrote: Using that clojure.xml, auto-indent works just fine for me. Hmmm. Not for me. I guess this is another instance of the issue that the OP raised. Not sure what to try next to make it work. FWIW one reason I think auto-indentation is critical for newbies is that my best advice to beginning Lisp students is auto-indent it to see where the structure isn't what you thought it was. That reveals a large percentage of problems. Also I rely on it myself for all of my coding. I disagree. The preferred ways to include code from libraries/files are require or use (preferably in ns forms) and these should work. Ideally they would find things in some obvious location (like the location of the source file you're executing) by default, and ideally there'd be a simple way to customize this. I think that having no way to go beyond code in a single file, aside from using load-file, would prevent anyone from using this as platform for more than a quick experiment. The Clojure plugin comes with a Commando script under the Plugins Console menu that does what you want. I've just fiddled with the Commando options a bit but haven't succeeded in getting one file to find another in the same directory via require in an ns form. I don't doubt that it does what I want or that it's simple to do for you and others, but this is another instance of the problem that the OP and I have raised. -Lee http://dev.clojure.org/display/doc/Getting+Started+with+JEdit Hope that helps. David -- 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
Re: A newbie's summary - what worked, what didn't
Hi, please let me humbly add my 2ct to this discussion... If you want to learn something new, you'll just have to jump through some hoops. As soon as you do a little more than the basics you'll have to learn the specific way to do it. Somewhere in this thread it says, that in some language you just include something at the top of your source code. This is true of Clojure as well as long as your referring to libraries which shipped with your installation. As soon as you need something more * In Ruby you'll install a gem * In Python you'll use an egg instead * In Perl you'll invoke the old perl -MCpan -e shell (and you'll freak out if you go through this the first time) * In C you'll cross your fingers that your distribution (I only do Linux) has a package for the correct version of your library, because otherwise you'll do the configure-make-make-install-Cha-cha (and never mention Makefiles, autoconf and friends ), which kinda works as long as you don't need several versions installed in parallel which is when you begin setting some paths here and there * And in Clojure you'll have to deal with the way the host platform does it. Using CCW, Enclojure, Emacs, leiningen or whatever you can achieve basic things, and you can even include lots of libraries from the JDK without any dependency management. If you want to run a script, you're working against the language and you will miss the best part (IMHO), which is working with a REPL. I know the feeling, when you're new to things and everything seems so complicated, and the Java world in particular can be quite a beast here. I never really got used to it. I've been through some of the various hells modern programming languages offer you, but one pattern emerges: Take the dive and learn the specifics -- otherwise you won't have fun and you have no chance of grokking some of the 'deeper' things in that language. Kind regards, Stefan -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 28, 2011, at 4:48 PM, daly wrote: If you're going to really be a lisper and use Clojure for more than a Java scripting language then you might want to invest effort in using emacs. You don't even need slime. Just use a *shell* buffer. Lisp and emacs are made for each other and you'll find that you get a much better understanding of where things are, why it works, and how it is put together. This thread is long past its expiration date, but I can't help myself: You can really be a Clojure programmer with Notepad.exe or emacs or Eclipse or TextMate or IntelliJ or NetBeans or Sublime Text or jEdit: use whatever you are most comfortable with. The editors we use shouldn't end up being Shibboleths or the basis of cliques. - Chas -- 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
Re: A newbie's summary - what worked, what didn't
While I agree that clear steps should be provided to assist newcomers, I don't have sympathy for newcomers more interested in bashing other languages and people than in actually learning something. I started learning clojure over a year ago and I don't recall any issues getting started. I fired up a REPL almost immediately. Other things were more difficult but I figured that's part of the learning process. Frankly, I'm a little annoyed by people who want to blame everyone else if something new is not immediately obvious to them. On Mar 28, 5:51 am, Lee Spector lspec...@hampshire.edu wrote: On Mar 28, 2011, at 5:16 AM, Luc Prefontaine wrote: Given the huge number of libraries/projects available these days and the diverse profile of library maintainers, a totally automated/transparent dependency manager is not for today. It would require a crystal ball to cope with a number of situations. That garbage has to be dealt with in day to day use by most of us. You should get used to it or live as an hermit on some far away mountain. Which I am tempted to do from time to time but for real bureaucratic issues like income tax reports :) Life can be hard... Luc's response here and also Shantanu's on the same thread have inspired me to coin a new word, FANPERV, for someone who Fails to Appreciate the Newbie's PERspectiVe. Fanpervs typically make two moves in response to confused newbies: 1. Explain (correctly) why the perfect solution requires complexity, and then assert (incorrectly) that newbies (and others with simple needs) should or must deal with that complexity from the start. 2. Provide a (correct) solution to the newbie's problem while asserting (incorrectly) that the solution is simple or obvious, thereby implying that nobody should bother to provide a truly simple or obvious solution to future newbies. Fanpervs are often really smart and hard-working and kind and well intentioned, but for some reason or another -- probably usually because they know too much -- they just don't see how the newbies see things. In the present discussion I don't think that newbies are asking for totally automated/transparent dependency management but rather for a way to avoid the issue entirely for simple projects that just use core and contrib (yes that can be a challenge if you're new to java classpaths, and for many other languages it's simpler because you just have to put the library in the same directory as your source code) or maybe a few other libraries that they could just download (yes that can be a challenge e.g. if the library's instructions just say how to do it from lein but you're using some other dependency management system because you want a Clojure-aware editor that doesn't require you to go down an emacs configuration and learning-curve rabbit hole). I guess maybe I'm not quite a newbie any more, but for whatever reason -- maybe just a thick skull -- I still have the newbie perspective and I totally sympathize with people who are exasperated with the process of setting up a basic Clojure programming environment. As I said before I think there are several projects that get the newbie 90% of the way there, but the last 10% can be rough. I know that there are many on this list who could provide 100% solutions but perhaps haven't done so because they have fanpervish tendencies... But I think that these can be overcome, if people realize that there is really an issue here. -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
Re: A newbie's summary - what worked, what didn't
On Mar 28, 2011, at 5:08 PM, David Nolen wrote: http://dev.clojure.org/display/doc/Getting+Started+with+JEdit Hope that helps. Thanks. That taught me some things -- e.g. I had guessed the wrong location for the mode file, and I hadn't guessed about editing that catalog file at all, and I hadn't seen the clojure item in the drop-down on the commando dialog -- but after following all of those directions I think I'm just where I started. The auto-indentation looks completely wrong for clojure/lisp code, and even though the classpath in the commando dialog looks right (pointing to my source directory) when I Evaluate buffer in clojure shell or Evaluate file in clojure shell for foo.clj that looks like this: (ns foo (:require [bar])) (bar/baz) It fails to find bar.clj (which creates ns bar and defines a function baz) which is in the same directory. I do now have clojure syntax highlighting which I may or may not have had before (I don't recall noticing that before, but maybe it was there). -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
Re: A newbie's summary - what worked, what didn't
On Mar 28, 2011, at 9:07 AM, Jon Seltzer wrote: Frankly, I'm a little annoyed by people who want to blame everyone else if something new is not immediately obvious to them. I don't know if you intend this to apply to me but for the record I'm not trying to blame anyone for anything, just trying to help improve the clojure ecosystem by pointing out some issues that I have had (and which some of my students and newbies who post to this list have had). I've been using Clojure for about a year (and programming for about 30 years, and teaching Clojure since last September) but I'm not completely happy with any of the programming environments that I've found and I know they can be better in a couple of small but important ways. I know this in part because there are so many talented and creative people in the community and in part because there are (as I said) many near-solutions that do about 90% of what I'm looking for. I think that it can be hard for people with a lot of expertise to appreciate the way that things look to those who don't, and I intend to be purely constructive in pointing this stuff out. -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
Leiningen capabilities (was Re: A newbie's summary - what worked, what didn't)
Changing subject line for this one. On Mar 28, 2011, at 5:38 PM, Mike Meyer wrote: Consider this a features request for cake/leiningen: 1) A task to search clojars. 2) A task take a name from #1 and add the appropriate data to project.clj. 3) Extend the deps task to install libraries required by any dependency. I am not claiming that Leiningen does #1 or #2 already, but in case you were unaware, you can go to clojars.org, type something like hadoop in the search box at the upper right, and see a list of matching packages. Clicking on one of them gives me text I can copy and paste into a Leiningen project.clj file, or into a Maven pom.xml file. Here is the text shown for one version of hadoop-core that was shown when I searched for hadoop: [org.apache.hadoop/hadoop-core 0.20.2-dev] If I add that appropriately to a project.clj file created from making a new empty except for clojure core project with lein new name, save it, and type lein deps, it does do #3, i.e. adds hadoop-core and everything that it requires. They are all put into the lib directory in the project. This is with Leiningen 1.5.0, but that behavior has worked for several versions now. I believe it is implemented under the covers via Maven's dependency management. Have you tried lein deps and found that it failed to install libraries required by a dependency you had already added to your project.clj file? Andy -- 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
Re: A newbie's summary - what worked, what didn't
Sorry, Lee. Not you. You're posts have been sincere. On Mar 28, 4:22 pm, Lee Spector lspec...@hampshire.edu wrote: On Mar 28, 2011, at 9:07 AM, Jon Seltzer wrote: Frankly, I'm a little annoyed by people who want to blame everyone else if something new is not immediately obvious to them. I don't know if you intend this to apply to me but for the record I'm not trying to blame anyone for anything, just trying to help improve the clojure ecosystem by pointing out some issues that I have had (and which some of my students and newbies who post to this list have had). I've been using Clojure for about a year (and programming for about 30 years, and teaching Clojure since last September) but I'm not completely happy with any of the programming environments that I've found and I know they can be better in a couple of small but important ways. I know this in part because there are so many talented and creative people in the community and in part because there are (as I said) many near-solutions that do about 90% of what I'm looking for. I think that it can be hard for people with a lot of expertise to appreciate the way that things look to those who don't, and I intend to be purely constructive in pointing this stuff out. -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
Re: A newbie's summary - what worked, what didn't
On Mar 27, 6:40 am, Mark Engelberg mark.engelb...@gmail.com wrote: Make sure the pane with your code is the active pane when you type Ctrl-c Ctrl-k. It won't work if the focus is on the REPL. Nope, it doesn't work, no matter where the focus is. -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 27, 11:21 am, ultranewb pineapple.l...@yahoo.com wrote: On Mar 27, 6:40 am, Mark Engelberg mark.engelb...@gmail.com wrote: Make sure the pane with your code is the active pane when you type Ctrl-c Ctrl-k. It won't work if the focus is on the REPL. Nope, it doesn't work, no matter where the focus is. I'm curious - did/could you give Eclipse and Counter-ClockWise plugin a try? Regards, Shantanu -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 27, 2:29 pm, Shantanu Kumar kumar.shant...@gmail.com wrote: I'm curious - did/could you give Eclipse and Counter-ClockWise plugin a try? I did not try Eclipse. I had a bad experience before with it. It seems to be the worst to deal with as far as all the project and dependency garbage, and none of that garbage was automatic, it seemed to be manual. So unless you would say that Counter-ClockWise is supposed to automatically deal with the garbage (would you say that?), I'll steer clear. -- 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
Re: A newbie's summary - what worked, what didn't
For newbs, I did not see this anywhere, but just discovered it, and it is of immense value. In a REPL, you can just (load-file path/to/ filename) to load the code you typed into an editor. On Mar 27, 12:24 am, ultranewb pineapple.l...@yahoo.com wrote: NetBeans w/ Enclosure - Could get a REPL, couldn't figure out how to do anything else. Result - uninstalled. IntelliJ w/ La Clojure - Could get a REPL, couldn't figure out how to do anything else. In particular, I followed some specific instructions from somewhere (can't remember where) for how to set up a project, edit a source file (hello world or whatever), and run that source file. All I got was some kind of error. Result - uninstalled. Configuring already-owned version of Emacs - Followed varying instructions from various websites and how-to's - mostly using elpa to download this and that. Used elpa, but could never successfully get anything to work afterwards. Result - kept the install for other projects I am using Emacs for. Clojure Box - Could get a REPL, couldn't figure out how to do anything else (i.e. Leinegen blah blah). Result - kept the install, as this was the 2nd most promising solution tried thus far. ClojureW - So far, this is the only thing that just works for me. Just download, add the path to the bin directory, DONE. Can get a REPL, but more importantly, can easily run a source file by doing clj sourcefile. The only thing that didn't work was the jline thing (tried clj -jl per the instructions, and also clj -jline just for the heck of it, both fail). ClojureW UPDATE: Out of the blue, tried clj jline and that seemed to work as far as running this jline thing. In other words, it didn't give an error, and when I hit the up arrow, it shows historical commands. To run a file like this (although in hindsight, I don't know what that gives you), do: clj cljfile.clj jline I guess the optimum solution I see for myself at this point is getting Clojure Box to talk to ClojureW (i.e. editing a source file with Clojure Box, then running that source inside some Emacs window by running clj). I'm guessing this would be trivial for the Emacs experts out there, but if someone wants to point me to a quick resource on it, I'll try it. For the time being, my personal suggestion to any newbs coming along is to try ClojureW: https://bitbucket.org/kasim/clojurew Perhaps the link should be posted more prominently somewhere, if it isn't already? A further suggestion - perhaps Clojure Box could be rigged to use ClojureW out of the box. This would give a working IDE by simply downloading the package and running it. -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 27, 1:45 pm, ultranewb pineapple.l...@yahoo.com wrote: On Mar 27, 2:29 pm, Shantanu Kumar kumar.shant...@gmail.com wrote: I'm curious - did/could you give Eclipse and Counter-ClockWise plugin a try? I did not try Eclipse. I had a bad experience before with it. It seems to be the worst to deal with as far as all the project and dependency garbage, and none of that garbage was automatic, it seemed to be manual. So unless you would say that Counter-ClockWise is supposed to automatically deal with the garbage (would you say that?), I'll steer clear. As of current stable (0.64), CCW can automatically add Clojure and Contrib JARs to your project and to the project classpath. After installing Eclipse and the CCW plugin, all you need to do is 1. create a Clojure project (File--New--Clojure Project) 2. create a Clojure file (File--New--Clojure File) 3. Right click on the file you created and in the context menu, click on the menu item that says New Project's JVM, load selected file, with a REPL I have found Eclipse/CCW to be a good combo. Regards, Shantanu -- 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
Re: A newbie's summary - what worked, what didn't
On Sun, 27 Mar 2011 01:45:37 -0700 (PDT) ultranewb pineapple.l...@yahoo.com wrote: On Mar 27, 2:29 pm, Shantanu Kumar kumar.shant...@gmail.com wrote: I'm curious - did/could you give Eclipse and Counter-ClockWise plugin a try? I did not try Eclipse. I had a bad experience before with it. It seems to be the worst to deal with as far as all the project and dependency garbage, and none of that garbage was automatic, it seemed to be manual. So unless you would say that Counter-ClockWise is supposed to automatically deal with the garbage (would you say that?), I'll steer clear. What version of Eclipse ? We have been using it with ccw for more than a year. Very stable. As far as dependency garbage there is no free lunch in any tool. What I can suggest is that you build your code with Leiningen first. Leiningen will pull all the related dependencies at once for a given artifact defined in your project.clj. After a successful build by Leiningen (use :aot to force compilation), you can look at the content of the lib folder in your project. You then have the list of all the direct and non-direct dependencies of your project. You can then copy this folder elsewhere to freeze them. With most IDEs (including Eclipse) it will then be trivial to replicate the dependencies of your project using that frozen snapshot. Of course you could also use a Maven plug in in your IDE but that may be complex to setup for a single pass. Leiningen simplifies it a lot. You cannot expect a tool to guess your project dependencies. Dependencies are a fact of life and cannot be avoided in any significant project. It's not gargage... -- Luc P. The rabid Muppet -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 27, 11:09 pm, Luc Prefontaine lprefonta...@softaddicts.ca wrote: You cannot expect a tool to guess your project dependencies. Dependencies are a fact of life and cannot be avoided in any significant project. It's not gargage... Anything I have to do besides what I should be doing is garbage, but I'm well-aware that one man's garbage is another man's treasure trove. At any rate, the poster above you says (or, at least the way I interpret him) that CCW automates the garbage (cough). I believe you are stating it does not. If it does, I'll try it. If it doesn't, I won't. Any definitive yae or nae here? -- 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
Re: A newbie's summary - what worked, what didn't
2011/3/27 ultranewb pineapple.l...@yahoo.com On Mar 27, 11:09 pm, Luc Prefontaine lprefonta...@softaddicts.ca wrote: You cannot expect a tool to guess your project dependencies. Dependencies are a fact of life and cannot be avoided in any significant project. It's not gargage... Anything I have to do besides what I should be doing is garbage, but I'm well-aware that one man's garbage is another man's treasure trove. At any rate, the poster above you says (or, at least the way I interpret him) that CCW automates the garbage (cough). I believe you are stating it does not. If it does, I'll try it. If it doesn't, I won't. Any definitive yae or nae here? This is crazy. You did not ask permission to try all the other alternatives ... -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 27, 11:52 pm, ultranewb pineapple.l...@yahoo.com wrote: On Mar 27, 11:09 pm, Luc Prefontaine lprefonta...@softaddicts.ca wrote: You cannot expect a tool to guess your project dependencies. Dependencies are a fact of life and cannot be avoided in any significant project. It's not gargage... Anything I have to do besides what I should be doing is garbage, but I'm well-aware that one man's garbage is another man's treasure trove. At any rate, the poster above you says (or, at least the way I interpret him) that CCW automates the garbage (cough). I believe you are stating it does not. If it does, I'll try it. If it doesn't, I won't. Any definitive yae or nae here? As long as your code depends *only* on Clojure and Contrib JARS, CCW will automatically include them on the classpath. Make sure you add the source file under src and restart the REPL every time you make modification to the source. If you need any 3rd party JAR (open source or otherwise) you will have to do dependency management manually through the menu options (dont forget - getting those dependency JARs would still be another problem.) As you said you are a newbie, I guess Eclipse+CCW should serve you well. When you need to use 3rd party JARs, consider Luc's advice. Regards, Shantanu -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 27, 2011, at 2:52 PM, ultranewb wrote: On Mar 27, 11:09 pm, Luc Prefontaine lprefonta...@softaddicts.ca wrote: You cannot expect a tool to guess your project dependencies. Dependencies are a fact of life and cannot be avoided in any significant project. It's not gargage... Anything I have to do besides what I should be doing is garbage, but I'm well-aware that one man's garbage is another man's treasure trove. Dependency management and other garbage are definitely garbage, but I know of no nontrivial programming language that doesn't have its share of it. If you know of any magical environments that eliminate such administrivia, do share. - Chas -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 27, 2011, at 8:12 PM, Chas Emerick wrote: Dependency management and other garbage are definitely garbage, but I know of no nontrivial programming language that doesn't have its share of it. If you know of any magical environments that eliminate such administrivia, do share. A lot of the programming I've done in a variety of languages hasn't required me to deal with dependency management but that was mostly because there weren't any dependencies except the language itself (e.g. in Common Lisp), the language's own libraries which it knows how to find (e.g. standard C libraries), or my own code (which would be in the same file or the same directory). So the issue didn't arise. In other environments I've used dependency management is just a matter of putting libraries in single right folder; while that may be awkward for large, complicated projects at least it's clear how to make it work. In more general, flexible, and modern environments I see that there's a real issue there that has to be solved somehow, but I think the problem that the OP raised (or at least the one that resonated with me :-) was that the ways to deal with this in the Clojure world seem to be either complicated to set up and use or not well integrated into the other tools that a newcomer has to deal with. Leiningen seems to be a relatively painless way to do dependency management in Clojure but as far as I know it doesn't play nicely with any similarly painless Clojure-aware editing systems (I mean painless to setup/configure and to use, for newbies). Maybe Clojure Box fits this bill -- but since I don't do Windows I don't know. There are a lot of near misses -- e.g. lein+emacs but emacs is no fun to configure or learn, Eclipse/CCW but then you can't use lein unless you learn some weirdly crufty magic, textmate-clojure except it has some bugs and doesn't seem to be actively supported, etc. I was recently excited by the prospect of a lein+Bluefish combo, but Bluefish doesn't yet have Clojure auto-indenting which I think is one of the minimal required features. (Actually there's a draft of an auto-indent feature in the Bluefish SVN but I haven't had a chance to build and try it yet.) What I heard the OP saying, which I agree with wholeheartedly, is that it would be really swell if there was a package with a trivial installation process that could do all of the necessary things -- editing (with a basic level of Clojure support), dependency management (with defaults that just work for simple newbie projects) and running. This issue has been raised (by me among others) for months or years, and it seems to me that most of the well-seasoned folks around here think it's solved but really it's only something like 90% solved if you're a newbie, and that last 10% makes a big difference. -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
Re: A newbie's summary - what worked, what didn't
On Mar 28, 7:51 am, Lee Spector lspec...@hampshire.edu wrote: Dependency management and other garbage are definitely garbage, but I know of no nontrivial programming language that doesn't have its share of it. If you know of any magical environments that eliminate such administrivia, do share. A lot of the programming I've done in a variety of languages hasn't required me to deal with dependency management but that was mostly because there weren't any dependencies except the language itself (e.g. in Common Lisp), the language's own libraries which it knows how to find (e.g. standard C libraries), or my own code (which would be in the same file or the same directory). So the issue didn't arise. This. I am not an expert in the term dependency management because I don't want to be an expert in it. So for these purposes I will define the term as a bunch of bureaucratic crap I have to do that actually has nothing to do with programming. Anyway, the only place I ever experienced it before was a job I took once where they had Microsoft Visual C++ Studio or something like that. This thing sure was ridiculous, and after two days of trying to figure out how to get it to use it's OWN libraries (never once writing a single line of code), I threw it out the window, told the boss I'm using something else, and that was that. I've worked at large operations (IBM, ATT) but never had to do any of this dependency management crap (I don't doubt that somebody, somewhere, might have had to do it - probably a full time employee PAID to do it - but I didn't have to do it). But with any other language I've ever used, at most I include a library I need in a directive at the top, or I include my own code in a similar directive. For instance, with Erlang you just say module(whatever) at the top. I mean, that's ALL you do. And the documentation for the function you are using tells you the whatever to put in. And to tell you the truth, I thought THAT was a load of B.S... until I dealt with Java, heh. With J I either say load 'whatever' or require 'whatever' and that's it. It knows where to go and find the 'whatever'. With APL and Prolog, I don't think I had to ever declare anything. I've used dozens of languages, and this is the pattern with any language I've chosen to use of my own volition. The one exception was the Visual C++ crap (something I wasn't using of my own volition), but I threw it out the window. Another exception WOULD have been Java, except that I decided I wouldn't even do it for money. One pattern I've noticed is that the more a language requires you to do dependency management garbage OUTSIDE the code, before you even get to the code, the more it also requires cruft INSIDE the code. For instance, look at a Java program sometime, with REAMS and REAMS of declarations like public.static.void.main.blah.blah First time I saw that, my jaw just hit the floor, and I said you mean people actually sit there and code in this garbage? I guess more than 50% of the code in a language like this is cruft? At any rate, I will give Shantanu Kumar's recommendation a try, and report back to here if it works or not (my idea for this thread was to compile a list of things that worked or didn't work for future reference for newbs). -- 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
Re: A newbie's summary - what worked, what didn't
Hi, I am the guy who did ClojureW. I just updated the instruction to get a REPL with Jline. Thank you for reporting. I am also working on a Just Works emacs setup for all platforms and would be happy to hear your opinion. I really want to make it as simple as ClojureW. Have fun, Kasim -- 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
A newbie's summary - what worked, what didn't
NetBeans w/ Enclosure - Could get a REPL, couldn't figure out how to do anything else. Result - uninstalled. IntelliJ w/ La Clojure - Could get a REPL, couldn't figure out how to do anything else. In particular, I followed some specific instructions from somewhere (can't remember where) for how to set up a project, edit a source file (hello world or whatever), and run that source file. All I got was some kind of error. Result - uninstalled. Configuring already-owned version of Emacs - Followed varying instructions from various websites and how-to's - mostly using elpa to download this and that. Used elpa, but could never successfully get anything to work afterwards. Result - kept the install for other projects I am using Emacs for. Clojure Box - Could get a REPL, couldn't figure out how to do anything else (i.e. Leinegen blah blah). Result - kept the install, as this was the 2nd most promising solution tried thus far. ClojureW - So far, this is the only thing that just works for me. Just download, add the path to the bin directory, DONE. Can get a REPL, but more importantly, can easily run a source file by doing clj sourcefile. The only thing that didn't work was the jline thing (tried clj -jl per the instructions, and also clj -jline just for the heck of it, both fail). ClojureW UPDATE: Out of the blue, tried clj jline and that seemed to work as far as running this jline thing. In other words, it didn't give an error, and when I hit the up arrow, it shows historical commands. To run a file like this (although in hindsight, I don't know what that gives you), do: clj cljfile.clj jline I guess the optimum solution I see for myself at this point is getting Clojure Box to talk to ClojureW (i.e. editing a source file with Clojure Box, then running that source inside some Emacs window by running clj). I'm guessing this would be trivial for the Emacs experts out there, but if someone wants to point me to a quick resource on it, I'll try it. For the time being, my personal suggestion to any newbs coming along is to try ClojureW: https://bitbucket.org/kasim/clojurew Perhaps the link should be posted more prominently somewhere, if it isn't already? A further suggestion - perhaps Clojure Box could be rigged to use ClojureW out of the box. This would give a working IDE by simply downloading the package and running it. -- 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
Re: A newbie's summary - what worked, what didn't
On Sat, Mar 26, 2011 at 10:24 AM, ultranewb pineapple.l...@yahoo.com wrote: Clojure Box - Could get a REPL, couldn't figure out how to do anything else (i.e. Leinegen blah blah). Result - kept the install, as this was the 2nd most promising solution tried thus far. If you don't care about building projects into self-executable jars, try the following in Clojure Box: After starting Clojure Box, use Ctrl-x 2 to split the window. The keystroke Ctrl-x o moves you back and forth between the two panes (or click with the mouse within the pane that you want to have the focus). In one of the panes, create a new file with Ctrl-x Ctrl-f and name it with the .clj extension. The other pane should still show the REPL. Type some Clojure code into the file you created. Save periodically with Ctrl-x Ctrl-s. When you want to try out your code, type Ctrl-c ctrl-k and all your code will be evaluated and those definitions will now be available for interactive use in your REPL. I used Clojure for many months in this manner before I started caring about project files and such. -- 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
Re: A newbie's summary - what worked, what didn't
On Mar 27, 12:35 am, Mark Engelberg mark.engelb...@gmail.com wrote: Type some Clojure code into the file you created. Save periodically with Ctrl-x Ctrl-s. When you want to try out your code, type Ctrl-c ctrl-k and all your code will be evaluated and those definitions will now be available for interactive use in your REPL. Everything works up until C-c Ck, where I get a C-c C-k is undefined error :-( -- 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
Re: A newbie's summary - what worked, what didn't
On Sat, Mar 26, 2011 at 4:29 PM, ultranewb pineapple.l...@yahoo.com wrote: On Mar 27, 12:35 am, Mark Engelberg mark.engelb...@gmail.com wrote: Type some Clojure code into the file you created. Save periodically with Ctrl-x Ctrl-s. When you want to try out your code, type Ctrl-c ctrl-k and all your code will be evaluated and those definitions will now be available for interactive use in your REPL. Everything works up until C-c Ck, where I get a C-c C-k is undefined error :-( Make sure the pane with your code is the active pane when you type Ctrl-c Ctrl-k. It won't work if the focus is on the REPL. -- 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
Re: A newbie's summary - what worked, what didn't
I'm sure you're sick of how-to's by now (I was), but I took the trouble to write down EXACTLY what I did for an Ubuntu/emacs/swank/ SLIME/leiningen set-up. On Mar 26, 5:40 pm, Mark Engelberg mark.engelb...@gmail.com wrote: On Sat, Mar 26, 2011 at 4:29 PM, ultranewb pineapple.l...@yahoo.com wrote: On Mar 27, 12:35 am, Mark Engelberg mark.engelb...@gmail.com wrote: Type some Clojure code into the file you created. Save periodically with Ctrl-x Ctrl-s. When you want to try out your code, type Ctrl-c ctrl-k and all your code will be evaluated and those definitions will now be available for interactive use in your REPL. Everything works up until C-c Ck, where I get a C-c C-k is undefined error :-( Make sure the pane with your code is the active pane when you type Ctrl-c Ctrl-k. It won't work if the focus is on the REPL. -- 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