Thanks! I will add a pointer to chocolatey in my class notes. FWIW, although the lein installation piece sometimes seem to have been the hangup, we've often gone down rabbit holes of messing with different versions and/or installers and/or configuration procedures for Java, lein, and whatever other tooling we're using on top of these. There are a lot of combinations and we get little feedback about which part is broken when it doesn't work, compounded by my ignorance of the ways things work in Windows.
For Counterclockwise there was a standalone, preconfigured app download that I think also included leiningen, and some of Zach Oakes's tools require little or installation or configuration of anything else. FWIW I find this to be *immensely* valuable. Thanks also for pointing out that CLI doesn't yet run on Windows, which means it's not a great solution for my teaching situation yet. My students will want to use their laptops, and those will vary a lot. -Lee On Tuesday, August 28, 2018 at 6:52:01 AM UTC-4, Nando Breiter wrote: > > https://chocolatey.org/ > <https://www.google.com/url?q=https%3A%2F%2Fchocolatey.org%2F&sa=D&sntz=1&usg=AFQjCNFvT2Lbb_LdGEROTiulBcA3dhl9Eg> > > might help Windows users install Leiningen > > https://chocolatey.org/packages/lein > > The proto-repl readme: https://github.com/jasongilman/proto-repl says > that "Proto REPL can still start a REPL outside of a Leiningen project. It > still uses Leiningen to start the REPL but uses a default project shipped > with Proto REPL. This allows you to easily open up any Clojure file or even > just a new Atom window and kick off a new REPL for experimenting." > > From the readme dependencies section, it doesn't *seem* to be explicitly > dependent on lein, but rather on some means of creating a project and > managing dependencies. I'd suggest asking Jason on the #protorepl Slack > channel to clear this up for you, see http://clojurians.net/ if you have > not yet joined clojurians on Slack. If you think > https://clojure.org/guides/deps_and_cli would be easier for some of your > students, proto-repl might work just as well with this means of managing > project dependencies. Perhaps Jason simply hasn't updated the proto-repl > readme yet. That said, it seems CLI tools are not available on Windows yet: > https://clojure.org/guides/getting_started#_installation_on_windows > > > > Aria Media Sagl > +41 (0)76 303 4477 cell > skype: ariamedia > > On Tue, Aug 28, 2018 at 12:03 AM, 'Lee' via Clojure < > clo...@googlegroups.com <javascript:>> wrote: > >> >> Ah -- after quitting and restarting Atom the error (which I was getting >> from Start REPL), the error is gone, and it appears to work nicely. >> >> Thanks again! >> >> So Atom + atom-beautify + proto-repl might do much of what I need, with >> relatively painless installation and setup. >> >> I guess this still requires leiningen, both because proto-repl uses it >> and because students will have to use it to make new projects, right? >> Installing leiningen has been problematic for some of my students >> (especially on Windows), and it'd be great to be able to avoid that (as is >> possible with Nightcode, for example, although that won't work for me >> because of parinfer). In any event, even I'm using proto-repl, the minimal >> setup with Atom would still require leiningen, right? >> >> -Lee >> >> On Monday, August 27, 2018 at 5:15:37 PM UTC-4, Nando Breiter wrote: >>> >>> Not sure what errors you are seeing. I’ve found proto-repl to be >>> reliable. If I recall correctly, the project you are using proto-repl with >>> has to be the topmost. I will check this for you. >>> >>> Aria Media Sagl >>> >>> On 27 Aug 2018, at 22:51, 'Lee' via Clojure <clo...@googlegroups.com> >>> wrote: >>> >>> >>> Aha -- atom-beautify does seem to work! >>> >>> Excellent. >>> >>> This will lead me to consider Atom further. >>> >>> Would you recommend it for editing only, or also for REPLs etc? I just >>> tried proto-repl but this leads to errors and confusion. Still, if it works >>> well as just an editor then perhaps I could pair it with a CLI-based REPL >>> and the overall setup experience and usability will be okay overall. >>> >>> Thanks! >>> >>> -Lee >>> >>> On Monday, August 27, 2018 at 4:00:34 PM UTC-4, Nando Breiter wrote: >>>> >>>> Lee, >>>> >>>> Perhaps https://atom.io/packages/atom-beautify will do what you want. >>>> >>>> With Parinfer disabled, I can select and shift-tab all code to the left >>>> margin, removing all indentation. Then when I run Atom Beautify on the >>>> file, all indentation is restored. >>>> >>>> >>>> >>>> Aria Media Sagl >>>> +41 (0)76 303 4477 cell >>>> skype: ariamedia >>>> >>>> On Mon, Aug 27, 2018 at 9:18 PM, 'Lee' via Clojure < >>>> clo...@googlegroups.com> wrote: >>>> >>>>> >>>>> Ah -- thank you! >>>>> >>>>> Now I can re-indent in Cursive, although it doesn't do the right thing >>>>> after defn, etc. What do Cursive users do to get standard indentation? >>>>> >>>>> Playing a bit more I see some other with basic editing, even in >>>>> "Structural Off" mode. Like if you type "(defn foo" and hit return, then >>>>> foo changes into some strange autocompleted symbol. Shift-return avoids >>>>> this, but the idea is to let people use their pre-existing typing skills. >>>>> It also won't let you delete to the left of the indentation point (it >>>>> jumps >>>>> you up to the previous line), etc. I'm not sure how problematic these >>>>> issues would be. >>>>> >>>>> >>>>> >>>>> On Monday, August 27, 2018 at 3:01:37 PM UTC-4, ri...@chartbeat.com >>>>> wrote: >>>>>> >>>>>> It’s under one of the code or refactor menus, you can auto-format or >>>>>> auto-indent. >>>>>> >>>>>> On Aug 27, 2018, at 11:30 AM, 'Lee' via Clojure < >>>>>> clo...@googlegroups.com> wrote: >>>>>> >>>>>> >>>>>> Probably true that my requirements are a bigger challenge for >>>>>> multi-language IDEs. I thought Eclipse/Counterclockwise did a reasonable >>>>>> job of it back when that was an active project, but it was a bit rough >>>>>> too, >>>>>> since there was a lot of incidental and distracting complexity in >>>>>> dealing >>>>>> with Eclipse in general. >>>>>> >>>>>> I did see the "off" setting for parinfer/paredit in Cursive, but it's >>>>>> not really "off" in the sense of behaving like a normal text editor, and >>>>>> I >>>>>> don't see re-indentation anywhere. FWIW since this is for teaching I'm >>>>>> not >>>>>> really interested in customization, just reasonable behavior out of the >>>>>> box. >>>>>> >>>>>> >>>>>> On Monday, August 27, 2018 at 11:21:47 AM UTC-4, Rick Mangi wrote: >>>>>>> >>>>>>> Yeah, I actually just create projects with lein. If you right click >>>>>>> on a project.clj you can just fire up a repl via lein and it works >>>>>>> really >>>>>>> well. There's 3 choices for parenthesis, there's again a little button >>>>>>> on >>>>>>> the bottom right to switch between parinfer/paredit and off. You can >>>>>>> customize all of the code reformatting and you can even alias things >>>>>>> like >>>>>>> defnp and other macros to evaluate correctly. >>>>>>> >>>>>>> That said, a tool that supports dozens of languages isn't going to >>>>>>> do any of them particularly easily :) >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Mon, Aug 27, 2018 at 11:18 AM 'Lee' via Clojure < >>>>>>> clo...@googlegroups.com> wrote: >>>>>>> >>>>>>>> Thanks Rick. >>>>>>>> >>>>>>>> Just tried Cursive again but it still seems to fail pretty badly on >>>>>>>> newbie setup and usability, which is what has hung me up in the past. >>>>>>>> >>>>>>>> tldr: A half hour or so after a fresh install and going through the >>>>>>>> Getting Started instructions I still don't have a REPL (confused about >>>>>>>> Run >>>>>>>> Configurations and what I'm seeing doesn't match the website pics), >>>>>>>> and >>>>>>>> although I can edit code in an existing project with drag and drop >>>>>>>> (can't >>>>>>>> yet create a project with a core.clj), even the "Structural Off" >>>>>>>> editing >>>>>>>> mode behaves oddly and doesn't appear to support structure-aware >>>>>>>> re-indentation (again, unless I'm missing it). And the indentation >>>>>>>> that it >>>>>>>> prefers after a newline appears to be non-standard (e.g. after "(defn >>>>>>>> foo"). >>>>>>>> >>>>>>>> I follow the Cursive mailing list and I know that a lot of people >>>>>>>> find it to be a wonderful tool, but I don't think it meets my >>>>>>>> requirements. >>>>>>>> >>>>>>>> -Lee >>>>>>>> >>>>>>>> >>>>>>>> On Monday, August 27, 2018 at 10:43:36 AM UTC-4, Rick Mangi wrote: >>>>>>>>> >>>>>>>>> I find intellij + cursive to be pretty darn easy to use, and the >>>>>>>>> repl has an option to turn off parinfer. That said, I'm not a >>>>>>>>> beginner. The >>>>>>>>> only drawback that I can think of other than price is that the >>>>>>>>> clojure >>>>>>>>> functionality is mostly put under a single menu and it's sometimes >>>>>>>>> awkward >>>>>>>>> to navigate to subcommands. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, Aug 27, 2018 at 9:48 AM Alex Miller <al...@puredanger.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> I think Atom and VSCode are probably the two additional ones you >>>>>>>>>> might want to look into? >>>>>>>>>> >>>>>>>>>> On Monday, August 27, 2018 at 8:45:34 AM UTC-5, Lee wrote: >>>>>>>>>>> >>>>>>>>>>> This is my roughly-annual check-in to see if there are new good >>>>>>>>>>> editing/execution options for me to use in my Clojure teaching and >>>>>>>>>>> coding. >>>>>>>>>>> >>>>>>>>>>> My requirements are: >>>>>>>>>>> >>>>>>>>>>> - Simple installation/setup, even for new programmers, on >>>>>>>>>>> Mac/Win/Linux >>>>>>>>>>> >>>>>>>>>>> - Usable by new programmers without significant training or >>>>>>>>>>> learning curve >>>>>>>>>>> >>>>>>>>>>> - Syntax-aware re-indentation >>>>>>>>>>> >>>>>>>>>>> - Visual indication of matching brackets (e.g. matching bracket >>>>>>>>>>> highlighted, or rainbow brackets, etc.) >>>>>>>>>>> >>>>>>>>>>> - No required use of paredit or parinfer >>>>>>>>>>> >>>>>>>>>>> Bells and whistles that would help but aren't as critical as the >>>>>>>>>>> requirements listed above: >>>>>>>>>>> >>>>>>>>>>> - Access to argument lists, documentation, and symbol completion >>>>>>>>>>> while typing >>>>>>>>>>> >>>>>>>>>>> - Integrated REPL, although a command-line REPL paired with an >>>>>>>>>>> editor that met the requirements above would work >>>>>>>>>>> >>>>>>>>>>> I would be interested in solutions that work for Clojure and >>>>>>>>>>> Clojurescript, or just Clojure, or just Clojurescript. >>>>>>>>>>> >>>>>>>>>>> Recent developments of which I'm aware but fall short of my >>>>>>>>>>> requirements: >>>>>>>>>>> >>>>>>>>>>> - Nightcode and Lightmod, which would be fabulous if not for the >>>>>>>>>>> required use of parinfer >>>>>>>>>>> >>>>>>>>>>> - Jupyter-based approaches, which also seem great except I see >>>>>>>>>>> none with syntax-aware re-indentation for Clojure >>>>>>>>>>> >>>>>>>>>>> FYI what I'm currently using is a combination of Gorilla REPL >>>>>>>>>>> and leiningen at the command line. This is quite nice although >>>>>>>>>>> installation/setup is not as easy or foolproof as I would like >>>>>>>>>>> (I've had >>>>>>>>>>> students who tried and failed to get it working on their Windows >>>>>>>>>>> laptops >>>>>>>>>>> for an entire semester, messing with Java versions etc.), Gorilla >>>>>>>>>>> REPL is >>>>>>>>>>> not very actively maintained, and the requirement to do some things >>>>>>>>>>> at the >>>>>>>>>>> command line isn't ideal. >>>>>>>>>>> >>>>>>>>>>> Options I've used in the past, which more-or-less met my >>>>>>>>>>> requirements but are no longer viable, include Clooj, Nightcode >>>>>>>>>>> (old >>>>>>>>>>> versions, before parinfer), and Counterclockwise. >>>>>>>>>>> >>>>>>>>>>> I also try to keep an eye on "high-end" IDEs like Emacs and >>>>>>>>>>> Cursive, but so far haven't found any that really meet my >>>>>>>>>>> requirements for >>>>>>>>>>> simple installation/setup and usability for beginners. >>>>>>>>>>> >>>>>>>>>>> Any pointers would be very much appreciated! >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> >>>>>>>>>>> -Lee >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Lee Spector, Professor of Computer Science >>>>>>>>>>> Director, Institute for Computational Intelligence >>>>>>>>>>> Hampshire College, Amherst, Massachusetts, 01002, USA >>>>>>>>>>> lspe...@hampshire.edu, http://hampshire.edu/lspector/, >>>>>>>>>>> 413-559-5352 >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>>> Groups "Clojure" group. >>>>>>>>>> To post to this group, send email to clo...@googlegroups.com >>>>>>>>>> Note that posts from new members are moderated - please be >>>>>>>>>> patient with your first post. >>>>>>>>>> To unsubscribe from this group, send email to >>>>>>>>>> clojure+u...@googlegroups.com >>>>>>>>>> For more options, visit this group at >>>>>>>>>> http://groups.google.com/group/clojure?hl=en >>>>>>>>>> --- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "Clojure" group. >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to clojure+u...@googlegroups.com. >>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>> >>>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "Clojure" group. >>>>>>>> To post to this group, send email to clo...@googlegroups.com >>>>>>>> Note that posts from new members are moderated - please be patient >>>>>>>> with your first post. >>>>>>>> To unsubscribe from this group, send email to >>>>>>>> clojure+u...@googlegroups.com >>>>>>>> For more options, visit this group at >>>>>>>> http://groups.google.com/group/clojure?hl=en >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "Clojure" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to clojure+u...@googlegroups.com. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Clojure" group. >>>>>> To post to this group, send email to clo...@googlegroups.com >>>>>> Note that posts from new members are moderated - please be patient >>>>>> with your first post. >>>>>> To unsubscribe from this group, send email to >>>>>> clojure+u...@googlegroups.com >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/group/clojure?hl=en >>>>>> --- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Clojure" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to clojure+u...@googlegroups.com. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Clojure" group. >>>>> To post to this group, send email to clo...@googlegroups.com >>>>> Note that posts from new members are moderated - please be patient >>>>> with your first post. >>>>> To unsubscribe from this group, send email to >>>>> clojure+u...@googlegroups.com >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/clojure?hl=en >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Clojure" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to clojure+u...@googlegroups.com. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to clo...@googlegroups.com >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> To unsubscribe from this group, send email to >>> clojure+u...@googlegroups.com >>> For more options, visit this group at >>> http://groups.google.com/group/clojure?hl=en >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to clojure+u...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >>> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@googlegroups.com >> <javascript:> >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+u...@googlegroups.com <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+u...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.