Re: Suggested 'server' for hosting clojure web app

2013-06-30 Thread Philip Potter
I think systemd will also handle process monitoring. You could also use runit, which runs in user space so you can use it on any distro. On Jun 30, 2013 12:15 AM, Maciej Mazur mamc...@gmail.com wrote: On Sat, 29 Jun 2013 21:31:22 +0100, James Reeves wrote: On 29 June 2013 18:59, Ravindra Jaju

Re: Suggested 'server' for hosting clojure web app

2013-06-30 Thread Philip Potter
The app server and process monitoring questions have been covered elsethread. There hasn't been much talk about the static content. I'd say there are two main strategies available here: a. set appropriate caching headers on your static pages use a caching proxy such as varnish b. precompile

What the hell is this???

2013-06-30 Thread Cedric Greevey
I'm not sure if this is a bug in clooj or in Clojure itself: Evaluating file...CompilerException java.lang.ClassFormatError: Unknown constant tag 117 in class file [redacted]/core$eval215, compiling:(NO_SOURCE_PATH:156:1034) What *is* certain is that nothing I type into the source code should

Re: What the hell is this???

2013-06-30 Thread Devin Walters
Context would help. On Jun 30, 2013, at 12:46 AM, Cedric Greevey cgree...@gmail.com wrote: I'm not sure if this is a bug in clooj or in Clojure itself: Evaluating file...CompilerException java.lang.ClassFormatError: Unknown constant tag 117 in class file [redacted]/core$eval215,

Re: Help deciphering ArityException message

2013-06-30 Thread Stefan Kamphausen
Just a little hint which may help you in the future. First, note the trailing $fn in reformat-headers$fn which tells you, that your problem is with an anonymous function. Second, you know that there is a second form for anonymous functions which uses fn instead of the reader macro. Third, fn

clojure on raspberry pi looks decent

2013-06-30 Thread Jim - FooBar();
Hi all, I'd just like to report some benchmarks of clojure (jdk1.8-ea) and clojure-py(python 2.7.3) on the raspberry pi. JVM startup time is an issue and since I don't know python I consider clojure-py a good alternative for demonstrating clojure on the pi. so here we go: lein trampoline

Re: Help deciphering ArityException message

2013-06-30 Thread Dave Kincaid
Thanks, Stefan. That sounds like good advice. Dave On Sunday, June 30, 2013 5:09:23 AM UTC-5, Stefan Kamphausen wrote: Just a little hint which may help you in the future. First, note the trailing $fn in reformat-headers$fn which tells you, that your problem is with an anonymous function.

Translating simple path finding problem from prolog to core.logic

2013-06-30 Thread Craig Ching
Hello fellow logicians! I'm trying to translate the following prolog problem to core.logic: From http://tjeyamy.blogspot.com/2011/02/path-finding-in-prolog.html edge(1,2). edge(1,4). edge(2,4). edge(3,6). edge(3,7). edge(4,3). edge(4,5). edge(5,6). edge(5,7). edge(6,5). edge(7,5). edge(8,6).

core.logic: question on ordering in conjunction

2013-06-30 Thread Steven Devijver
I wrote this goal: (use 'clojure.core.logic) (use 'clojure.core.logic.protocols) (defn pluso [t1 t2 s] (fn goal [a] (let [args (map (partial walk a) [t1 t2 s]) fresh? (map lvar? args) ground? (map not fresh?) [t1 t2 s] args] (cond (= [true true

Re: core.logic: question on ordering in conjunction

2013-06-30 Thread Norman Richards
What you are trying to do is non-relational, and will only work when you put the non-relational pluso at the end. You can obviously use the finite domain extensions to core.logic to accomplish this: (defn fd-pluso [t1 t2 s] (fd/eq (= s (+ t1 t2 (run* [q] (fresh [a] (fd/in q a

Re: core.logic: question on ordering in conjunction

2013-06-30 Thread Steven Devijver
How does one recognize a relational or non-relational goal? Thanks for the fd example. On Sunday, June 30, 2013 7:34:58 PM UTC+2, Norman Richards wrote: What you are trying to do is non-relational, and will only work when you put the non-relational pluso at the end. You can obviously use

Re: core.logic: question on ordering in conjunction

2013-06-30 Thread Norman Richards
On Sun, Jun 30, 2013 at 12:58 PM, Steven Devijver sdevij...@gmail.comwrote: How does one recognize a relational or non-relational goal? If you are using anything that doesn't decompose down to the core relational operators, like == and conde, you are likely non-relational. In this case, you

Re: Translating simple path finding problem from prolog to core.logic

2013-06-30 Thread Norman Richards
Just like the prolog, you are generating an infinite number of solutions. run* will try and give you all of them. You can use clojure's lazy seq operations (first, take, etc...) or just ask for however many you want: (run 10 [q] (path2 1 7 q)) ((1 4 3 7) (1 2 4 3 7) (1 4 5 7) (1 2 4

ANN: faster zipper implementation

2013-06-30 Thread Alexander Hudek
I've updated the clojure.zip implementation to use records internally. This achieves a speedup of roughly 2x. You can find the library below and on clojars: https://github.com/akhudek/fast-zip It's a drop in replacement for clojure.zip in terms of interface and usage. However, since the

Microsoft Rx -style operations with core.async

2013-06-30 Thread Brandon Bloom
Hi all, Today, primarily for my own edification, I've been implementing as many Microsoft Reactive Extensions operators as I can using core.async. The results have been *spectacular*. core.async is an absolute pleasure to work with. I'm so happy with how they have turned out, that I really

core.async implemented on top of Pulsar

2013-06-30 Thread pron
Hi. So I wanted to see how easy it would be to implement core.async on top of Pulsar. It turned out to be quite trivial, but the exercise shows the different approaches of the two projects. First, Pulsar https://github.com/puniverse/pulsar is the Clojure API to Quasar

Re: Microsoft Rx -style operations with core.async

2013-06-30 Thread Ben Wolfson
I don't know the semantics of the MS functions so maybe this mirrors them, but the implementations of take-while and drop-while remove an extra element from the argument channel, right? user (def c (chan)) #'user/c user (go (doseq [i (range 10)] (! c i))) #ManyToManyChannel

Re: Microsoft Rx -style operations with core.async

2013-06-30 Thread Brandon Bloom
I don't know the semantics of the MS functions so maybe this mirrors them This code is not an attempt to replicate the semantics of Rx, just provide a comparable set of operators. the implementations of take-while and drop-while remove an extra element from the argument channel, right? Yes.

Re: core.async

2013-06-30 Thread David Pollak
On Sun, Jun 30, 2013 at 3:00 AM, Brandon Bloom brandon.d.bl...@gmail.comwrote: I don't think it's published to a maven repository yet. You can check it out, install it with `lein install`, then depend on it via [core.async 0.1.0-SNAPSHOT] Thanks! I flew over to China (from SFO) and played

Re: ANN: faster zipper implementation

2013-06-30 Thread Zach Tellman
This is really cool, thanks for taking the time to do this. I was able to eke out another 1.8x speedup by changing the keyword equality checks with 'identical?' [1], and there might be some further room for improvement by defining inline forms for some of the smaller functions. Zach [1]

Offline Clojure docs

2013-06-30 Thread David Pollak
Folks, Is there an offline package of Clojure docs (the full core.* api docs, cheat sheets, etc.)? I'm traveling with intermittent Internet connectivity (I'm in China now and it's marginal but I'm going to the UP in Michigan where there's no Internet within 15 miles of where I'm staying). With

Re: Microsoft Rx -style operations with core.async

2013-06-30 Thread Brandon Bloom
Two bits of core.async feedback: 1) The (let [c chan] (go ...) c) pattern is *extremely-common*. Might be nice to have something like (go-as c ...) that expands to that pattern. 2) It's somewhat annoying to always have to consider boolean false all the time. Since nil signifies a closed channel,

Re: ANN: faster zipper implementation

2013-06-30 Thread Zach Tellman
This is really cool, thanks for doing this. I was able to eke out another 1.8x speedup by replacing '=' with 'identical?' for the keyword comparisons [1]. There also might be further room for improvement by defining inline forms for some of the smaller functions. Zach [1]

Re: Microsoft Rx -style operations with core.async

2013-06-30 Thread David Pollak
On Mon, Jul 1, 2013 at 7:46 AM, Brandon Bloom brandon.d.bl...@gmail.comwrote: Two bits of core.async feedback: 1) The (let [c chan] (go ...) c) pattern is *extremely-common*. Might be nice to have something like (go-as c ...) that expands to that pattern. 2) It's somewhat annoying to always

Re: Offline Clojure docs

2013-06-30 Thread guns
On Mon 1 Jul 2013 at 07:44:17AM +0800, David Pollak wrote: Is there an offline package of Clojure docs (the full core.* api docs, cheat sheets, etc.)? If you work with an editor with clojure REPL integration, you can fashion your own cheat sheet. I have a vim command that dumps a list of all

Re: Microsoft Rx -style operations with core.async

2013-06-30 Thread Ben Wolfson
On Sun, Jun 30, 2013 at 4:46 PM, Brandon Bloom brandon.d.bl...@gmail.comwrote: 2) It's somewhat annoying to always have to consider boolean false all the time. Since nil signifies a closed channel, if, when, if-let, and when-let are extremely convenient. Unfortunately, they are subtly bugged!

Re: Microsoft Rx -style operations with core.async

2013-06-30 Thread David Nolen
On Sun, Jun 30, 2013 at 7:46 PM, Brandon Bloom brandon.d.bl...@gmail.comwrote: Two bits of core.async feedback: 1) The (let [c chan] (go ...) c) pattern is *extremely-common*. Might be nice to have something like (go-as c ...) that expands to that pattern. My understanding with some member

Re: core.async

2013-06-30 Thread Sean Corfield
On Sun, Jun 30, 2013 at 4:42 PM, David Pollak dpollak...@gmail.com wrote: Looking forward to it being published (even as SNAPSHOT) in a Maven repo. It's accessible like this: (defproject async 0.1.0-SNAPSHOT :description FIXME: write description :url http://example.com/FIXME; :license

Re: Microsoft Rx -style operations with core.async

2013-06-30 Thread Brandon Bloom
My understanding with some member of the core.async team is that most channel based APIs fns should *take* a channel and only construct one as a default. Could you elaborate on and motivate that? -- -- You received this message because you are subscribed to the Google Groups Clojure group. To

Re: Microsoft Rx -style operations with core.async

2013-06-30 Thread David Nolen
Because of blocking on read/write on unbuffered channels - users might need more flexibility. On Sun, Jun 30, 2013 at 8:13 PM, Brandon Bloom brandon.d.bl...@gmail.comwrote: My understanding with some member of the core.async team is that most channel based APIs fns should *take* a channel

Re: Offline Clojure docs

2013-06-30 Thread Sean Corfield
There are a couple of iPhone apps with Clojure docs: https://itunes.apple.com/us/app/clojuredoc/id401479442?mt=8 -- free, hasn't been updated for ages, but this is what I use anyway https://itunes.apple.com/us/app/clojure-bee-api-documentation/id524862532?mt=8 -- $0.99, hasn't been updated in a

Re: ANN: faster zipper implementation

2013-06-30 Thread Alexander Hudek
Thanks Zach! I've pulled your changes to 0.3.0-SNAPSHOT. Updated benchmark: Case: :clojure.zip Evaluation count : 75480 in 60 samples of 1258 calls. Execution time mean : 805.666773 µs Execution time std-deviation : 4.815877 µs Execution time lower quantile : 797.942766 µs (

Re: Offline Clojure docs

2013-06-30 Thread Mark Engelberg
Download here: https://github.com/clojure/clojure/tree/gh-pages -- -- 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

Re: Translating simple path finding problem from prolog to core.logic

2013-06-30 Thread Craig Ching
Thanks Norman! Not sure how I didn't realize that was happening, but it's working exactly as you describe. Thanks much for your help! Cheers, Craig On Sunday, June 30, 2013 2:40:48 PM UTC-5, Norman Richards wrote: Just like the prolog, you are generating an infinite number of solutions.

Re: [ANN] byte-streams: a rosetta stone for all the byte representations the jvm has to offer

2013-06-30 Thread Dan Burkert
Very cool, I've got a couple of question: the readme references optimized transfers, what qualifies as an optimized transfer? Also, would it be possible for byte-streams to give an estimation of the number of memory copies that happen in a given conversion (maybe this is as simple as the

Re: Microsoft Rx -style operations with core.async

2013-06-30 Thread Brandon Bloom
Then maybe we need (go-as [c arg] ...) On Sunday, June 30, 2013 8:15:45 PM UTC-4, David Nolen wrote: Because of blocking on read/write on unbuffered channels - users might need more flexibility. On Sun, Jun 30, 2013 at 8:13 PM, Brandon Bloom brandon...@gmail.comjavascript: wrote: My

Re: Offline Clojure docs

2013-06-30 Thread David Pollak
Thanks everyone for the super helpful suggestions! On Mon, Jul 1, 2013 at 9:04 AM, Mark Engelberg mark.engelb...@gmail.comwrote: Download here: https://github.com/clojure/clojure/tree/gh-pages -- -- You received this message because you are subscribed to the Google Groups Clojure group.

Re: core.async

2013-06-30 Thread David Pollak
Thanks! On Mon, Jul 1, 2013 at 8:13 AM, Sean Corfield seancorfi...@gmail.comwrote: On Sun, Jun 30, 2013 at 4:42 PM, David Pollak dpollak...@gmail.com wrote: Looking forward to it being published (even as SNAPSHOT) in a Maven repo. It's accessible like this: (defproject async