Re: slackpocalypse?

2017-05-19 Thread 'Lee Spector' via Clojure
FWIW my research group used Slack for a while, but we switched to Discourse close to two years ago and have been quite happy with it (https://push-language.hampshire.edu, although only a tiny subset is publicly viewable). We're a much smaller community, with different needs, but still, I can

Re: Clojure as a first programming language?

2016-12-04 Thread 'Lee Spector' via Clojure
> On Dec 4, 2016, at 7:17 PM, Nathan Smutz wrote: > I've heard there have been some attempts at error-mesaage translators. Does > anyone have a recommendation? Colin Fleming has done some nice work on this in Cursive. He gave a talk on it at Clojure Conj 2015:

Re: more minimal clojurescript intro/app

2016-03-27 Thread Lee Spector
Thanks Alan, Pedro, and Colin! All of those look like good starting points, and I will explore them soon. -Lee > On Sat, Mar 26, 2016 at 8:06 AM, Lee Spector <lspec...@hampshire.edu <>> > wrote: > > Can anybody tell me or point me to a resource that will tell me

more minimal clojurescript intro/app

2016-03-26 Thread Lee Spector
Hi all, I have a pure Clojure program and I would like to make it run in the browser on client machines. It has no dependencies other than Clojure, it does no Java interop, and it has no GUI. There's no database, no user interaction (except for starting the program), and no networking. It just

Re: Clojure as first language

2016-03-19 Thread Lee Spector
> On Mar 17, 2016, at 11:10 AM, blake watson <dsblakewat...@gmail.com> wrote: > > On Sat, Mar 12, 2016 at 2:42 PM, Lee Spector <lspec...@hampshire.edu> wrote: > > > Is "lein new app foo" that complicated? > > If I understand Paul correctly—and a

Re: Clojure as first language

2016-03-12 Thread Lee Spector
> On Mar 11, 2016, at 9:43 PM, Paul Gowder wrote: > > 2. The other big beginner barrier I feel is the tooling. In lots of ways, > leiningen is amazing (particularly the automatic grabbing of dependencies), > but the forced project structure is really painful. It feels

Re: Clojure as first language

2016-02-26 Thread Lee Spector
isit this group at > http://groups.google.com/group/clojure?hl=en > <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 recei

Re: Clojure as first language

2016-02-22 Thread Lee Spector
When I taught with DrScheme back in the day it was a very good experience overall, and while I haven't taught with DrRacket I understand that the team has continued to do great things, and that this is probably a perfect first environment for many teaching contexts. FWIW in my context the

Re: Clojure as first language

2016-02-21 Thread Lee Spector
this group at > http://groups.google.com/group/clojure?hl=en > <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 emai

Re: [ANN] 2015 State of Clojure Community survey

2015-12-06 Thread Lee Spector
> On Dec 6, 2015, at 2:43 AM, Mars0i wrote: > > As in the past, many survey questions are not appropriately designed for > getting info about uses of Clojure in academic research. I don't think > there's very much use of of Clojure for this purpose, but the survey won't

Re: [ANN] 2015 State of Clojure Community survey

2015-12-06 Thread Lee Spector
On Dec 6, 2015, at 3:00 PM, Alex Miller wrote: > Almost all of the questions are optional - if they don't apply to your > scenario, you should skip the question. FWIW if I recall correctly (it won't let me back in to check the questions now that I finished it) I think

Re: crazy idea...

2015-11-28 Thread Lee Spector
end an >> email to clojure+unsubscr...@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 cloju

Re: usage of "and"

2015-09-07 Thread Lee Spector
> On Sep 7, 2015, at 7:58 AM, jongwon.choi wrote: > > Typo? > > (and cnt (pos? cnt)) Sometimes this kind of thing is reasonable if cnt might be nil, which would break pos?. So the expression says "cnt isn't nil (or false) and it's positive." -Lee -- You

Re: run Clojurescript via %magic in an iPython notebook?

2015-08-17 Thread Lee Spector
Thanks Peter -- I'll take a look at this stuff. -Lee On Aug 16, 2015, at 8:21 PM, Peter Denno pode...@gmail.com wrote: Hi, I'm interested in this too. However, I have virtually no experience with Javascript. The place to begin the investigation, I think, is with the new, more

Re: Decomplecting Clojure

2015-08-13 Thread Lee Spector
Thanks Sebastian for the thoughtful and helpful document! I like it and have shared it with my group. On Aug 13, 2015, at 1:51 PM, Sebastian Bensusan sbe...@gmail.com wrote: I never thought of laziness! It's a good point. Retroactively I might add it to the Functional Style section :)

run Clojurescript via %magic in an iPython notebook?

2015-07-22 Thread Lee Spector
It is apparently possible to run javascript via magic commands in iPython notebooks (https://ipython.org/ipython-doc/3/interactive/magics.html). I assume that this would make it possible also to use Clojurescript, but I don't know what would be involved. I have a fair bit of Clojure experience

Re: non-incanter statistical tests?

2015-06-02 Thread Lee Spector
Thanks Mike, This looks very much like what I want, in principle, although in practice I'm interested in functions like t-test and chisq-test, which haven't yet made it into core.matrix.stats as far as I can see. FWIW I'd be wary about just copying those things from Incanter, at least

non-incanter statistical tests?

2015-06-01 Thread Lee Spector
Does anyone know of a simple/minimal Clojure library, or just a chunk of Clojure source code that I could cut/paste, that implements basic statistical tests like t-tests and chi-squared tests? I don't want to use incanter but I'd also rather not write this stuff from scratch. Thanks, -Lee

Re: non-incanter statistical tests?

2015-06-01 Thread Lee Spector
Thanks so much Marshall. Adding -Djava.awt.headless=true to my :jvm-opts does indeed fix the additional java process problem, so that's helpful if I don't find an alternative to incanter. The R options are interesting but probably not a good solution in my case; I'll be calling these tests

Re: Why does the following Clojure code take 10x the time the C# version does? How to improve the Clojure version?

2015-05-15 Thread Lee Spector
Thanks Jony -- very helpful! -Lee On May 15, 2015, at 7:52 AM, Jony Hudson jonyepsi...@gmail.com wrote: @puzzler -server is the default mostly, but Leiningen overrides some of the important options that -server enables, as detailed by Alex. @Lee the first 15 minutes of this talk by Tom

Re: [ANN] darwin and algebolic - genetic algorithms, and evolving mathematics

2015-05-15 Thread Lee Spector
Fantastic to see this Jony! I look forward to checking it out in detail. Those interested in genetic programming in Clojure might also want to check out: - https://github.com/lspector/gp (minimalist tree-based genetic programming implementation, written for educational purposes but maybe

Re: Why does the following Clojure code take 10x the time the C# version does? How to improve the Clojure version?

2015-05-14 Thread Lee Spector
I'd like to get more guidance on how to specify :jvm-opts for maximum performance. I've received some help on this topic from people on this list in the past (thanks!), but I'm pretty sure that I'm still not doing things right. I'm almost always interested in maximum performance for

Re: Why does the following Clojure code take 10x the time the C# version does? How to improve the Clojure version?

2015-05-14 Thread Lee Spector
experience the performance bottleneck is always in design. Just my 2p, although with my self-confessed ignoramus status it is more like 0.5p :). On 14 May 2015 21:46, Lee Spector lspec...@hampshire.edu mailto:lspec...@hampshire.edu wrote: I'd like to get more guidance on how to specify :jvm

Re: Why does the following Clojure code take 10x the time the C# version does? How to improve the Clojure version?

2015-05-14 Thread Lee Spector
Thanks Colin and also Alex and Andy. I'm trying to determine a reasonable way to do this without reading a book about it. It sounds like I should use ^:replace, -server, and also -XX:-TieredCompilation (is that right, the way I've changed + to -?), and also -XX:+AggressiveOpts. Does it make

Re: Why does the following Clojure code take 10x the time the C# version does? How to improve the Clojure version?

2015-05-14 Thread Lee Spector
On May 14, 2015, at 9:15 PM, Fluid Dynamics a2093...@trbvm.com wrote: Umm, the :replace metadata needs to be on the vector. Attaching it to the let form won't do much of anything useful. So: :jvm-opts ~(let [mem-to-use (long (* (.getTotalPhysicalMemorySize

Re: contains? on String

2015-05-12 Thread Lee Spector
On May 12, 2015, at 4:28 PM, Fluid Dynamics a2093...@trbvm.com wrote: On Tuesday, May 12, 2015 at 3:34:46 PM UTC-4, Michael Gardner wrote: On May 12, 2015, at 1:54 PM, Shantanu Kumar kumar.s...@gmail.com javascript: wrote: I agree about the counter-intuitiveness. I'm only wondering

Re: complex numbers in clojure

2015-04-27 Thread Lee Spector
+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout https://groups.google.com/d/optout. -- Lee Spector, Professor of Computer Science Director, Institute for Computational Intelligence Cognitive Science, Hampshire College 893 West Street, Amherst, MA 01002

Re: clojure, not the go to for data science

2015-03-30 Thread Lee Spector
On Mar 30, 2015, at 7:35 AM, Jony Hudson jonyepsi...@gmail.com wrote: I propose, instead of this discussion, everyone channels their energy into writing an open-source data-science library, or blog post/article promoting Clojure for data science. In their favourite editor, of course!

Easy-install/GUI emacs for Clojure (was: Re: clojure, not the go to for data science)

2015-03-30 Thread Lee Spector
of these are great, and I'm immensely grateful to their developers. But if an emacs-based environment came along with the right usability features (see bullet points below) then I'd almost certainly switch to that. -Lee On 30.03.2015 15:12, Lee Spector wrote: On Mar 30, 2015, at 7:35 AM

Re: State of the Art in Clojure Debugging

2015-03-30 Thread Lee Spector
Thanks for this Bozhidar. I just took a look at clj-debugger https://github.com/razum2um/clj-debugger and am excited about several of its features, especially the ability to print locals. Does anyone know if it supports (or could easily support -- I'd post an issue if it seems possible) a

Re: Is there a way to stop a long running expression in the REPL

2015-02-21 Thread Lee Spector
In case anybody is developing tools for this kind of thing, one of the things I most miss from Common Lisp is the ability to interrupt a running expression AND see the values of locals at the point of interruption. Fantastically useful for debugging. As far as I know there's no environment

Re: Dynamically creating defrecord

2015-01-17 Thread Lee Spector
On Jan 17, 2015, at 6:04 PM, Matching Socks phill.w...@gmail.com wrote: Did you find something really wrong with defstruct? Occasions when the basis fields are not known to the programmer seem better met by defstruct than defrecord. And defstruct has not been deprecated in the API

Re: Dynamically creating defrecord

2015-01-17 Thread Lee Spector
On Jan 17, 2015, at 12:27 PM, Sven Richter sver...@googlemail.com wrote: I am trying to create record definitions dynamically during runtime. What I would like to do is something like this: (defn mk-rec [record-name namespace arg-list] (eval '(do (ns namespace) (defrecord

Re: Schrodinger's cat in clojure?

2014-10-11 Thread Lee Spector
On Oct 11, 2014, at 1:00 PM, Jan-Paul Bultmann janpaulbultm...@googlemail.com wrote: Therefor turning of laziness makes no real sense. You could say disable the laziness of seqs, but that doesn't really make sense either. It's like disabling the FIFO nature of a queue or a channel. If

Re: ANN: State of Clojure 2014 Survey - please contribute!!

2014-10-09 Thread Lee Spector
FWIW I'm another person using Clojure mostly for academic research. And for computer science education, e.g. I'm currently teaching a Clojure-based AI course. I'd be curious to know how many others of us are out there. And BTW I think that attention to users in these categories could help to

Re: [ccw-users] Re: [ANN] New release 0.28.1 of Counterclockwise

2014-10-04 Thread Lee Spector
What would this mean in practice for using the new drag/drop functionality to open Clojure projects, regardless of origin or history? Would some require an additional manual step to behave as proper Leiningen projects? This new functionality has been making life *much* better for me and for

Re: [ANN] New release 0.28.1 of Counterclockwise

2014-10-04 Thread Lee Spector
no eclipse specific files, it will continue to do the magic. Le samedi 4 octobre 2014, Lee Spector lspec...@hampshire.edu a écrit : What would this mean in practice for using the new drag/drop functionality to open Clojure projects, regardless of origin or history? Would some require

Re: [PSA] Clojars scp disabled until further notice

2014-09-27 Thread Lee Spector
I just want to chime in to note that not everyone who works in Clojure, and for whom Clojars is the obvious (only?) reasonable way to share libraries, is a professional developer. Some of us are, for example, researchers or students in a range of fields for which reading complex security stuff

Re: [PSA] Clojars scp disabled until further notice

2014-09-27 Thread Lee Spector
Thanks Phil. We'll definitely look into :sign-releases false when we try to get this working next week. -Lee On Sep 27, 2014, at 7:52 PM, Phil Hagelberg p...@hagelb.org wrote: Lee Spector lspec...@hampshire.edu writes: I just want to chime in to note that not everyone who works

Re: Use Require and Import

2014-09-21 Thread Lee Spector
On Sep 21, 2014, at 5:11 AM, Robert Tweed fistful.of.spann...@gmail.com wrote: In short: use 'use' in the repl or any time you're generally feeling lazy. Don't use it in non-throwaway code. Use automatically refers everything in a namespace. This is handy if you don't want to type out the

Re: Use Require and Import

2014-09-21 Thread Lee Spector
On Sep 21, 2014, at 12:31 PM, Robert Tweed fistful.of.spann...@gmail.com wrote: The whole (ns) block is just boilerplate that you ignore until you need to refer back to look something up, which is the only time it makes any difference. You can't ignore the boilerplate while you're

Re: Use Require and Import

2014-09-19 Thread Lee Spector
On Sep 19, 2014, at 11:26 AM, John Gabriele jmg3...@gmail.com wrote: Don't use `use`. :) Since the OP is new here I'll point out that that :) is probably a nod to the fact that there's a long history of controversy on the utility/evils of use. Some (like me) think there are programming

Re: Schrodinger's cat in clojure?

2014-09-13 Thread Lee Spector
A man walks into a bar and says I used lazy evaluation and things were confusing. Bartender says You might have mixed it with I/O, but then again maybe you're getting tripped up by other some other not-purely-functional aspect of your program or the JVM, like GC or thread transitions. Okay,

Re: Interop nightmare

2014-09-08 Thread Lee Spector
On Sep 8, 2014, at 4:48 PM, Michael Klishin michael.s.klis...@gmail.com wrote: Sounds more like Just enough Java for Clojure. Which I think would have too small an audience to be worth the effort. I'd buy it for sure. I bet that some of my students would too. -Lee -- You received this

Re: Interop nightmare

2014-09-08 Thread Lee Spector
On Sep 8, 2014, at 9:09 PM, Alan Busby thebu...@gmail.com wrote: On Tue, Sep 9, 2014 at 3:09 AM, Sean Corfield s...@corfield.org wrote: I find that it is quite difficult to use clojure unless one knows Java, which I believe to be a barrier to new comers. I'm surprised every time I hear

Re: [ANN] Gorilla REPL 0.3.3 - inline docs, CIDER compatibility

2014-09-01 Thread Lee Spector
On Sep 1, 2014, at 7:15 AM, Beau Fabry imf...@gmail.com wrote: Started looking into Gorilla for use at work today. Even prior to this release I was incredibly impressed. Amazing work everyone involved. inc The new docs feature is a thing of beauty. -Lee -- You received this message

Re: An Averaging function

2014-07-09 Thread Lee Spector
On Jul 9, 2014, at 8:48 PM, Stephen Feyrer stephen.fey...@gmail.com wrote: Hi, I tried to create the function below in a Lighttable instarepl. In lieu of any better idea for formatting, thestatements below indicate instarepl output. (defn avged ([x] ((def sumed (reduce + x)) 10

Re: An Averaging function

2014-07-09 Thread Lee Spector
On Jul 9, 2014, at 9:31 PM, Lee Spector lspec...@hampshire.edu wrote: You could patch (not recommended!) this by adding do to the beginning of that list: Or -- I now see, instead of adding the do you could just remove the outermost parentheses after the parameter list. But as Sam and I said

Re: map output to string

2014-07-08 Thread Lee Spector
Sometimes you have to manually stamp out laziness, for this among other reasons. In some cases I apply the list function to do this: = (str (map inc (range 10))) clojure.lang.LazySeq@c5d38b66 = (str (apply list (map inc (range 10 (1 2 3 4 5 6 7 8 9 10) -Lee On 8 July 2014 09:49, Glen

Re: map output to string

2014-07-08 Thread Lee Spector
...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- Lee Spector, Professor of Computer Science Cognitive Science, Hampshire College 893 West Street, Amherst, MA 01002-3359 lspec...@hampshire.edu, http://hampshire.edu/lspector/ Phone: 413-559-5352, Fax: 413-559-5438

Re: a data conversion question

2014-06-08 Thread Lee Spector
On Jun 8, 2014, at 3:12 PM, boz b...@cox.net wrote: Is there a better way to take this... [[:a [1 2]] [:b [3 4]]] and convert it to this... [[:a 1] [:a 2] [:b 3] [:b 4]] than using a loop like this... (defn doit [id v]

Re: Advice on managing random number generators across threads

2014-06-06 Thread Lee Spector
I don't know if this will be helpful in your application, or even if it's the best approach for our own work (or if java 1.7 provides a simpler approach?), but FWIW one of my projects deals with the thread-local RNG issue via: https://clojars.org/clj-random -Lee On Jun 6, 2014, at 12:28 PM,

Re: non-lazy clojure?

2014-06-05 Thread Lee Spector
reducers is neater and seems to make my program run faster, although I'm not really sure why. In any event, I'm using reducers now only as an alternative concurrency mechanism and solving my original problems by de-lazification. -Lee On Jun 4, 2014, at 7:21 PM, Lee Spector lspec...@hampshire.edu

Re: non-lazy clojure?

2014-06-05 Thread Lee Spector
Oops -- something was wrong with my benchmarks, and my improvements on the order of 1/3 was wrong. I still see improvements with r/fold as compared to my agent-based approach, but the difference now appears to be only something like 1/20. -Lee On Jun 5, 2014, at 7:19 PM, Lee Spector lspec

Re: non-lazy clojure?

2014-06-05 Thread Lee Spector
On Jun 5, 2014, at 8:51 PM, Gary Johnson gwjoh...@uvm.edu wrote: Fair enough. Fortunately, Clojure provides so many different tools to select from in creating you perfect recipe. ;-) I'm glad to hear that reducers ultimately provided you with some benefits over your previous concurrency

Re: non-lazy clojure?

2014-06-04 Thread Lee Spector
On Jun 2, 2014, at 7:14 PM, Gary Johnson gwjoh...@uvm.edu wrote: Hey Lee, I would second Jozef's suggestion that you look into using the reducers library when you need non-lazy sequence operations. [etc] On Jun 2, 2014, at 10:38 PM, Lee Spector lspec...@hampshire.edu wrote: Gary

Re: non-lazy clojure?

2014-06-04 Thread Lee Spector
On Jun 4, 2014, at 12:59 PM, Gary Johnson gwjoh...@uvm.edu wrote: Hey Lee, (vec ...) is NOT the same as (into [] ...) in this case. [etc] Thanks Gary -- very clear and helpful. -Lee -- You received this message because you are subscribed to the Google Groups Clojure group. To post to

Re: non-lazy clojure?

2014-06-04 Thread Lee Spector
On Jun 4, 2014, at 1:20 PM, Gary Johnson gwjoh...@uvm.edu wrote: - If I operate on a vector with a sequence of r/map and r/filter operations and finally with into [] to get back a vector, then I think that fold will be called within the call to into, and that parallelism should happen

Re: non-lazy clojure?

2014-06-04 Thread Lee Spector
On Jun 4, 2014, at 1:29 PM, Timothy Baldridge tbaldri...@gmail.com wrote: Although your original complaint was about clojure seqs being lazy. It should be noted that reducers are also lazy down to the point of a fold or reduce, so I'm not sure what you're really getting there. It wouldn't

Re: stack backtraces for exceptions in agents?

2014-06-02 Thread Lee Spector
(fn [agnt except] (println except)) -Lee On Jun 2, 2014, at 3:38 PM, Sean Corfield s...@corfield.org wrote: The exception object should have a full stack trace in it - how are you printing your exceptions? Sean On Jun 2, 2014, at 12:28 PM, Lee Spector lspec...@hampshire.edu wrote

Re: stack backtraces for exceptions in agents?

2014-06-02 Thread Lee Spector
:39 PM, Andy Fingerhut andy.finger...@gmail.com wrote: Try out (clojure.repl/pst e 1000), where e is the exception you have caught. Andy On Mon, Jun 2, 2014 at 12:28 PM, Lee Spector lspec...@hampshire.edu wrote: In my single-threaded code, exceptions stop execution and print a stack

Re: stack backtraces for exceptions in agents?

2014-06-02 Thread Lee Spector
PS I should have said thanks!. -Lee On Jun 2, 2014, at 3:52 PM, Lee Spector lspec...@hampshire.edu wrote: Beautiful. In fact, if I specify an :error-handler of: (fn [agnt except] (clojure.repl/pst except 1000) (System/exit 0)) Then it prints the backtrace and also terminates

non-lazy clojure?

2014-06-02 Thread Lee Spector
I've generally liked Clojure's pervasive laziness. It's cute and it sometimes permits lovely, elegant approaches to particular programming problems. And although I've long known that it can get you into trouble in a few unusual cases -- I think I recall seeing a nice blog post on issues

Re: non-lazy clojure?

2014-06-02 Thread Lee Spector
On Jun 2, 2014, at 4:51 PM, Softaddicts lprefonta...@softaddicts.ca wrote: mapv a bit shorter :) Luc P. Thanks Luc. I have indeed migrated to mapv for many cases and I could have for the specific final fix for the example I posted. But there are lots of other fixes that I made earlier

Re: non-lazy clojure?

2014-06-02 Thread Lee Spector
On Jun 2, 2014, at 4:52 PM, Phillip Lord phillip.l...@newcastle.ac.uk wrote: Funny, I posted an article of my Clojure gotcha's today (http://www.russet.org.uk/blog/2991), and this is one of them. I've also had very nasty bugs, in addition to the general hassle of wrapping a Java API which

Re: non-lazy clojure?

2014-06-02 Thread Lee Spector
On Jun 2, 2014, at 4:52 PM, Jozef Wagner jozef.wag...@gmail.com wrote: Reducers [1] provide eager variants of some core seq functions (map, filter, etc.). Note that they do not cache the result, so they recompute it every time you use their result. [1] http://clojure.org/reducers Thanks

Re: non-lazy clojure?

2014-06-02 Thread Lee Spector
Gary: That's compelling indeed, and I will look into it more! Thanks, -Lee PS would a call to vec do the same thing as into [] here? On Jun 2, 2014, at 7:14 PM, Gary Johnson gwjoh...@uvm.edu wrote: Hey Lee, I would second Jozef's suggestion that you look into using the reducers

Re: why is this failing on a list

2014-05-04 Thread Lee Spector
On May 4, 2014, at 10:42 AM, Roelof Wobben rwob...@hotmail.com wrote: For 4clojure I have to find the second to last item. So I did this: (fn secondlast [v] (get v (-(count v)1))) Now it's only failing at this test : (= (__ (list 1 2 3 4 5)) 4) Can anyone tell me where I did

Re: Clojure equivalent of special common lisp vars: still looking for that zen place...

2014-05-03 Thread Lee Spector
On May 3, 2014, at 9:45 AM, Dave Tenny dave.te...@gmail.com wrote: The way I'm tempted to do this in clojure is (def ^{:dynamic true} *x* (atom 1)) ... do stuff with @*x* ... (reset! *x* 2) ... do stuff with @*x* ... (binding [*x* (atom 3)] (do stuff with @*x*)) Having also come from

Re: lein uberjar much faster as lein run

2014-04-22 Thread Lee Spector
On Apr 22, 2014, at 10:01 AM, Jony Hudson jonyepsi...@gmail.com wrote: I recall reading that `lein run` uses JVM options optimised for startup time, not performance - as it's intended for use in development, not production. I can't seem to find where I read that though ... Somebody with

Re: Light table

2014-04-16 Thread Lee Spector
On Apr 16, 2014, at 10:48 PM, Mikera mike.r.anderson...@gmail.com wrote: On Thursday, 17 April 2014 03:57:56 UTC+8, Mike Haney wrote: The conventional wisdom seems to be that you will end up learning emacs eventually if you spend any amount of time doing clojure or lisp, so you might as

Re: alternative syntax for Clojure? Haskell?

2014-04-06 Thread Lee Spector
On Apr 5, 2014, at 8:51 PM, Jason Felice jason.m.fel...@gmail.com wrote: I focus on expressivity, specifically because of the write-only phenomenom. This isn't peculiar to clojure; this happened a lot in the Perl days (so much so, that that's where I remember write-only code being coined).

Re: Function from a symbolic expression

2014-03-31 Thread Lee Spector
On Mar 31, 2014, at 1:27 PM, A. Webb a.webb@gmail.com wrote: If you are working with quoted expressions, you'll have to eval in the macro and take the one-time hit there (defmacro functionalise2 [ex var] (let [arg (gensym) body (clojure.walk/postwalk-replace {var arg}

Re: Function from a symbolic expression

2014-03-31 Thread Lee Spector
On Mar 31, 2014, at 5:59 PM, François Rey fmj...@gmail.com wrote: Forget that, my code does not work with 'z too, obviously. Too late, time to go to bed for me But my code *does* work with 'z as long as z is also the variable used in the expression, which is what I assume was intended:

Re: How did you learn Clojure?

2014-03-21 Thread Lee Spector
A little thing but I use it in when teaching Clojure to newbies and maybe it'll be useful for others: https://github.com/lspector/clojinc/blob/master/src/clojinc/core.clj -Lee -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group,

Re: More functional Quil

2014-03-09 Thread Lee Spector
FWIW I'm not crazy about these suggestions because they seem to me to be mostly cosmetic, and actually negative if they end up leading to multiple incompatible modes of operation. The Processing model seems to me to be intrinsically imperative, and it's also well-known by lots of people and

Re: Clojure code for detecting overlap of 3d shapes (specifically tetrahedra)?

2014-02-25 Thread Lee Spector
On Feb 16, 2014, at 5:07 PM, Karsten Schmidt wrote: Yer welcome please do let me know how this works out for you! I've updated the gist[1] to delay more parts of the whole computation and replace most occurrences of `reduce` with `loop` - altogether leading to an almost 2x faster result for

Re: Clojure code for detecting overlap of 3d shapes (specifically tetrahedra)?

2014-02-15 Thread Lee Spector
On Feb 15, 2014, at 11:49 AM, Karsten Schmidt wrote: Hi Lee, I've already implemented the algorithm described in this paper and it will be part of my upcoming geometry library. To not keep you waiting for the release, I've extracted the relevant code and put up here:

Clojure code for detecting overlap of 3d shapes (specifically tetrahedra)?

2014-02-13 Thread Lee Spector
Can anyone point to Clojure code for detecting when two 3d shapes overlap, when given the [x y z] vertices of the two shapes? The specific case I care about will always involve two regular tetrahedra (each of which is specified by 4 vertices), which may allow for special simplifications or

Re: Confused by Clojure floating-point differences (compared to other languages)

2014-02-07 Thread Lee Spector
On Feb 5, 2014, at 11:42 PM, Michał Marczyk wrote: This returns (.getTotalPhysicalMemorySize (java.lang.management.ManagementFactory/getOperatingSystemMXBean)) You could use this in your project.clj, perhaps by including ~(str -Xms (quot (.getTotalPhysicalMemorySize ...)

how to use the G1 garbage collector

2014-02-07 Thread Lee Spector
Does anyone know what to put in :jvm-opts in project.clj to use the G1 garbage collector? I see a lot about how G1 works and how to configure it in web search results, but not this little nugget of info. Also, if anyone has any advice about GC for my use case I'd love to hear it. My use case

Re: how to use the G1 garbage collector

2014-02-07 Thread Lee Spector
On Feb 7, 2014, at 11:35 AM, Gary Trakhman wrote: I do it like this: in my .bashrc export JVM_OPTS=-XX:+UseG1GC export LEIN_JVM_OPTS=-XX:+UseG1GC You can verify that it's working by checking jvisualvm's view of the jvm-opts on the relevant processes. Running it system-wide has

Re: how to use the G1 garbage collector

2014-02-07 Thread Lee Spector
On Feb 7, 2014, at 11:41 AM, Laurent PETIT wrote: What if you put -XX:+UseG1GC in :jvm-opts ? Ah yes -- I should have seen that even though I may not want to take Gary's suggestion of putting it in .bashrc, he had given me the magic string to include in :jvm-opts too! I will give that a try.

Re: Confused by Clojure floating-point differences (compared to other languages)

2014-02-07 Thread Lee Spector
On Feb 7, 2014, at 11:45 AM, Andy Fingerhut wrote: You may also use a let form wrapped around your entire defproject if you want to avoid the duplication of code present in your example. Thanks -- I actually noticed that after I posted. I don't know why, but I never thought of project.clj as

Re: Confused by Clojure floating-point differences (compared to other languages)

2014-02-05 Thread Lee Spector
On Feb 5, 2014, at 6:05 PM, Alex Miller wrote: To override the default tiered compilation, add this to your project.clj: :jvm-opts ^:replace [] I was under the impression that one can get the same effect by running your program with: lein trampoline with-profile production run [etc] True?

Re: Confused by Clojure floating-point differences (compared to other languages)

2014-02-05 Thread Lee Spector
On Feb 5, 2014, at 8:50 PM, Bruce Adams wrote: Modern JVM's pick default heap sizes based on the physical memory in your machine. With more than 1GB of physical memory, initial heap is 1/64 and maximum heap is 1/4 of physical memory.[1] For OpenJDK and Oracle, this command: java

recursion in clojure.walk

2014-01-09 Thread Lee Spector
Perhaps this is well known to others, but on the chance that maybe it isn't I thought I'd share. In clojure.walk both prewalk and postwalk use recursion in ways that will blow the stack for sufficiently deep nested structures. We had been using them happily until recently when things got too

Re: recursion in clojure.walk

2014-01-09 Thread Lee Spector
On Jan 9, 2014, at 6:33 PM, Stuart Sierra wrote: I wrote clojure.walk, but I don't usually recommend it for anything but casual use. clojure.walk very general, so it's not going to be the most efficient approach. When you know more details about the data structure you're working with,

Re: New release of Light Table (which is now open source!)

2014-01-08 Thread Lee Spector
On Jan 8, 2014, at 3:49 PM, Benjamin Yu wrote: Grats! I love the pain points that light table solves for me. The inline documentation is pretty great once I discovered how to invoke it (which took a while... and while I really love a lot of the ideas in LightTable I have to say that it

Re: New release of Light Table (which is now open source!)

2014-01-08 Thread Lee Spector
On Jan 8, 2014, at 3:58 PM, Lee Spector wrote: The inline documentation is pretty great once I discovered how to invoke it (which took a while... and while I really love a lot of the ideas in LightTable I have to say that it always takes me a while to figure out how to do basic things

Re: New release of Light Table (which is now open source!)

2014-01-08 Thread Lee Spector
On Jan 8, 2014, at 4:04 PM, Lee Spector wrote: Also, any way to see a stack trace after an exception? (.printStackTrace *e) doesn't do it. Ah -- sorry to be writing so quickly. I've discovered that clicking on the exception appears to give a stack trace. Nice! (But again, wasn't obvious

Re: New release of Light Table (which is now open source!)

2014-01-08 Thread Lee Spector
On Jan 8, 2014, at 5:45 PM, Jamie Brandon wrote: You can disable the bracket insertion by disabling the keys that trigger it. Add this to your user.keymap: :- {:editor.keys.normal {\ [(:editor.repeat-pair \)] ( [(:editor.open-pair ()] )

Re: New release of Light Table (which is now open source!)

2014-01-08 Thread Lee Spector
On Jan 8, 2014, at 8:50 PM, Sean Corfield wrote: On Jan 8, 2014, at 3:38 PM, Lee Spector lspec...@hampshire.edu wrote: FWIW my perspective (esp as a teacher of newbies) it'd be nice if there was some sort of simple switch for this. It's sort of cumbersome to have to discover this, find

Re: bug in clojure.zip when calling next on empty list node?

2013-12-31 Thread Lee Spector
On Dec 31, 2013, at 5:08 PM, Armando Blancas wrote: The implementation of seq-zip uses seq? as its branching predicate. As a result the zipper goes down on () thinking it can have children: user= (seq? ()) true user= (seq? {}) false user= (seq? #{}) false user= (seq? []) false Does

Re: bug in clojure.zip when calling next on empty list node?

2013-12-31 Thread Lee Spector
On Dec 31, 2013, at 6:53 PM, Michał Marczyk wrote: Ticket with patch at http://dev.clojure.org/jira/browse/CLJ-1317 [and] Oh, and of course you can use the amended version now to obtain the expected results: /// Thank you so much Michał! -Lee -- -- You received this message because

Re: bug in clojure.zip when calling next on empty list node?

2013-12-29 Thread Lee Spector
the crux of the issue [slightly edited and recombined] below. Thanks, -Lee On Dec 21, 2013, at 11:49 AM, Lee Spector wrote: When I step through a zipper made from a nested list via seq-zip, I get extraneous nils after processing a nested (). Is this somehow expected behavior, or a bug

Re: In your opinion, what's the best, and what's the worst aspects of using Clojure?

2013-12-28 Thread Lee Spector
On Dec 27, 2013, at 11:33 PM, guns wrote: On Fri 27 Dec 2013 at 11:23:22PM -0500, Lee Spector wrote: On Dec 27, 2013, at 11:18 PM, guns wrote: (defmacro dump-locals [] ... ` When and where do you call this? I call this inside of the closest function that raised the exception. Ah, so

Re: In your opinion, what's the best, and what's the worst aspects of using Clojure?

2013-12-28 Thread Lee Spector
On Dec 28, 2013, at 11:27 AM, Cedric Greevey wrote: It helps to go with the functional, immutable flow, in which case if you get an unwanted exception it should *usually* have bubbled up from some failing test. Add a dump-locals where suggested by the stack trace and rerun the failing

Re: In your opinion, what's the best, and what's the worst aspects of using Clojure?

2013-12-28 Thread Lee Spector
On Dec 28, 2013, at 2:56 PM, Cedric Greevey wrote: Your requirements are unusual. That being said, you might want to consider: 1. Using a PRNG with recordable seed, and sane concurrency semantics, to achieve repeatability -- rerun with same seed to get identical replay of events. 2.

Re: In your opinion, what's the best, and what's the worst aspects of using Clojure?

2013-12-28 Thread Lee Spector
On Dec 28, 2013, at 3:11 PM, Cedric Greevey wrote: Adding to the above, in the specific context of genetic programming, I'd suggest dividing the population into N subsets, one per core, and trialling them in parallel to generate fitness scores; then parallel-mergesort to get a ranked

  1   2   3   4   5   >