Fork me on GitHub

Does anyone use Windows as OS ? How is Clojure on windows nowadays ?


I do a fair bit of Clojure on Windows 10 and both Leiningen and Boot seem solid.


@romain: great, for the most part it just works


The Ubuntu bash on Windows 10 is almost solid enough to run Leiningen and Boot there too 🙂 Although there’s a bug with starting new processes in Java that sometimes gives an error about unable to allocate memory. Microsoft know about it...


(that’s the Windows Subsystem for Linux)


Docker for Windows is also something to look into.


though the JVM has been running well on windows for a long time 😄


Ooh that's exciting. Without having to use the Linux subsystem, the only issues I've run into are for libraries that deal with the filesystem or expect bash to be there. But for the most part I've found little difference between using Mac and Windows.


it's cool! Surface devices seem more attractive now 🙂


what libraries require bash?


I use windows 10. I use a standard cmd prompt for running lein repl, but use mingw or ubuntu bash with tmux and vim and can connect and edit from there.


@stevenyi I heard about Powershell, isn't ready yet ?


@romain: I don't use Powershell myself so I can not comment on it. Always seemed like an interesting technology to me though.


oh wow, i had this tab open and probably should not be wasting the time...but have been hearing a ton about powershell lately


here's the thing great can a new shell be to gain traction? it's not in POSIX? i can still use AWK for heavy lifting? do people who write shell scripts care enough to adopt a new shell script that's not even standard on anything but .NET?


(btw, this is with the knowledge it was open sourced in August)


Fair enough 🙂


you know what i'm saying? i feel like there's a certain subset of people who still write shell scripts and they're not about to adopt something that's objectively better if it's new and not supported literally everywhere you could telnet into


if they think they're going to grow a base of people writing shell scripts then i think that's a little nuts


Yes. So I guess when I read the news it was not people enthusiasm but just hype


well, what i've heard wasn't news. it was actual user enthusiasm. and i'm not on windows so is bash there really that lousy?


there are a lot, lot, lot of .NET devs


their shell sucked, and MS released one that is way better for them. room for both I think.


yeah i guess i was assuming the people i was talking to were mostly outside of .NET


and just excited about its feature set


like if you're learning shell scripting from scratch today


PowerShell is a very interesting creature but it's a niche, even on Windows. bash has pretty much won that battle -- and Microsoft recognizes that with WSL (Windows Subsystem for Linux). I remember listening to Scott Hanselman's podcast about PowerShell and being quite excited (as a Mac user) but when I tried it on Windows I found it clunky and not enough stuff was available to use it for anything much...


...Microsoft overall are close to tempting me away from 20+ years of Apple tho' at this point. Once WSL is solid enough to run my company's DEV stack, I'll switch to a Surface Studio from an iMac...


Lately when I've been using my Windows 10 laptop for any DEV work, I've been entirely in bash / WSL running emacs-snapshot / Boot etc.


Microsoft is a very interesting company and I’m glad they’re moving the direction that they are.


I've been a diehard Apple fan for most of 20+ years. I had a System 6 box running Tenon Intersystems' MachTen (BSD based unix) and did nearly all my dev on the unix side back then. I went to System 7 and 7.5... then waited for OS X. I've used every Windows since 3.1 but always preferred Macs... Windows 8 began to sway me, 8.1 was better and 10 is great. Now 10 has WSL / bash, it has pretty much everything I need. I run Outlook on my Mac with Bing as my preferred search engine, and Outlook / Cortana / Bing on my iPhone... so...


It's been very interesting to try to run Leiningen / Boot on WSL. Early on you could barely get the version printed, then it just kept improving.


had some internet downtime so coming in late to this, but thanks for the perspective @seancorfield


i've been on mac for nearly my whole life and will certainly switch to a very cheap linux machine whenever this one dies. unfortunately it's the first gen with solid state so that's not happening anytime soon and i'm stuck with ~2 hrs battery life


but i've also been interested to try .NET if the time commitment didn't feel so high and every work opportunity i've had wasn't so opposed to it. scripting excel with F# sounds really appealing


also interesting aside: i've seen you around Quora...where i somehow became the top writer for Clojure by answering 6 questions or something and usually err on the side of vagueness out of fear i'll get things wrong. i'm always thinking, "what about that guy? surely you should be asking him?" haha


another thing I love about the windows ecosystem is just being able to build up a box for $800 that has soooo much power compared to what you can get for even double the price from Apple


will be hard to sway me away from apple laptops, but I’m open. 🙂


When Mono was first porting to Mac, I did a lot of builds and tests. I focused on XSP a lot. I was hopeful for another cross-platform, broadly-adopted option. I'd love to write in F# on Mac/Linux and have it really be viable.


yeah, that's my point. i won't even run windows. i just want a battery that lasts forever on something super cheap and relatively light


🙂 yeah.


my late 2015 macbook air has the most insane battery life to weight ratio, such a useful machine


.. but the screen omg the screen


4k to that?


my poor eyeballs.


After the last round of MacBook updates, I'm "meh". The Surface Book and Surface Studio are awesome pieces of hardware... if we can just get the shell (bash) story sorted there. One of the big issues with the Clojure ecosystem has historically been the focus on bash and the relative lack of support for Windows cmd shell.


The latest Surface laptops are claiming 10-12 hour battery life I think?


that’s more than enough


i think apple has often claimed near that on new models, but i've never experienced it


yeah i’ve gotten 10 on mine i bet, it’s crazy


@seancorfield: check out the work Frank Krueger has been doing - - his recent work has been in F# and was developed on a Mac (and iPad), and he's had a couple apps with something like 90% code sharing across Mac/Windows/iOS (Calca) - it's super interesting stuff. Website doesn't have it all, but he's got a podcast - - that has some good info as well, @praeclarum on twitter and github.


Now that spec and datomic are getting more popular, what is the recommended naming and nesting scheme for maps representing relationships? For example, a command to register a person to a course would have {:student/id x :course/id y} or {:register/student {:student/id x} :register/course {:course/id y}} or {:register.student/id x :register.course/id y} or {:register/student-id x :register/course-id y} etc?


@seancorfield windows 10 has a linux subsystem now with full ubuntu, i'm playing with getting a decent dev environment setup now on my new SP4. I got it to supplement my macbook pro and to draw on, and to perhaps switch completely to windows if they release a quad core surface book edit: scrolled up and saw you knew that 😉


Friendly reminder to take general posts to #general


are the euroclojure videos available somewhere?


the one that happened a couple of weeks ago


Is cursive still the best ide for Clojure on Windows ?


@roelofw: I wouldn't say it's the best or not, but it's completely functional and works very well in Windows. Emacs can also be setup to work perfectly well on Windows if that's your preference, those are the only 2 editors I have experience with so can't speak to any others.


oke, and it the "best" way to learn first do the clojure koans and then work on 4 clojure ?


@naomarik and which "ide" do you use. I tried Atom but it was a non-runner


@roelofw i use spacemacs


atom on mac with proto-repl and parinfer is nice


not sure about windows, never tried it.


@roelofw: Lots of good options for getting started - is a pretty common starting point, there are also plenty of videos on Youtube,,, and more resources at - and make sure to ask lots of questions in #beginners as you go


oke, and are the exercises not to hard on braveclojure


expecially the last 2 exercises seems to be hard to do


here exercise 4 and 5


it’s definitely a new challenge to approach clojure vs. a language that has new syntax but let’s you think the same way


i have found clojure challenging the way i think, which can be harder 🙂


I have a little experience with ruby and haskell , so I hope I can use this knowlegde a little


so every exercise is doable for a beginner


@roelofw i like intellij + cursive


jrheard (y)


Why does the function call not responding with a outcome here :

(ns do-things.core)

(defn add100
  "I count 100 to a given number."
  (println (+ 100 x )))
=> #'do-things.core/add100
(add100 1)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: add100 in this context, compiling:(C:\Users\rwobb\AppData\Local\Temp\form-init3191465696969623098.clj:1:1) 


I use the cursive ide


your repl might not be in the right namespace


(ns do-things.core)


in the repl


and then try (add100 1)


It worked when I copy/paste things. Otherwise I cannot type a closing ) in repl


It’s a bit of a moot point now as I have taken a different approach but I thought I would pose the question: I am raising an exception in a macro I have written and I was writing a test (using expectations) to ensure the exception was thrown in the right circumstances. Only I found that I couldn’t catch the exception. Presumably because it is occurring at compile time and the (try … (catch …)) only applies to the run-time context and the code the macro would have expanded to if an exception hand’t been thrown. And then I thought… so how can I catch this exception? I couldn’t think of a way or find anything on this topic via Google. Anyone else come across this? I notice some other macros throw exceptions so I don’t think it’s something you should not ever do.


is paredit a good choice or can I better use parinfer ?


You could expect that a call to macro-expand on the quoted expression threw that exception @sandbags


@seancorfield brilliant suggestion, let me try that


@roelofw Not sure what you’re asking — your choice of editor makes that decision for you, doesn’t it?


@seancorfield Cursive, at least, offers both. I didn’t like the idea of parinfer


I also not. When I enter something it overrides the ) and I see a error


and it is correct on Cursive I can change between the two


@roelofw i think it’s a matter of preference which you use


@sandbags I did already tried both


That why I know it overrides things when I type code


thanks to @b06 for pointing that out 🙂


yep, clojurians for me is a few hours down


hi community - simple question on Yada - access control


If is set access-control :allow-origin to * should that be sufficient for the client to access my servers api methods ?


or conversely if i don’t have any access control on a resource method - should i be able to call the api from a client ?


@piyush :access-control {:allow-origin #{"*"}} is for CORS - you won't need it for non-browser-based clients or single-origin browser-based clients