Re: How to implement a distributed and concurrent system in Clojure?

2013-07-04 Thread Philippe Guillebert
Hi I'm surprised nobody mentioned storm yet. It's massively scalable real-time computing, using clojure. Le 3 juil. 2013 16:18, "Softaddicts" a écrit : > clj-zookeeper + avout. We run our solution on clusters of small nodes, we > needed > a lightweight solution. We implemented cluster queues and

Re: How to implement a distributed and concurrent system in Clojure?

2013-07-04 Thread David Pollak
Please keep in mind that Scala's "Actor Model" is a very thin piece of code that is not inherently distributed. There are a ton of issues in Scala related to crossing address spaces. Scala is not nearly as biased to immutability as Clojure. Sure, there are case classes, but case classes can easil

which one would you prefer (instantiate vs. new-instance)?

2013-07-04 Thread Jim - FooBar();
(defmacro instantiate "Returns an instance of the given class. Depending on the argument list will invoke the corresponding constructor." [cl-name & args] `(eval (list 'new ~cl-name ~@args))) (defn new-instance "Create a new instance of the specified class using reflection." [^Class c & args]

Re: [ANN] Pedestal 0.1.9 has been released

2013-07-04 Thread Murtaza Husain
Ryan - However expecting the Christmas this Monday :) On Wednesday, July 3, 2013 9:01:09 PM UTC+5:30, Manuel Paccagnella wrote: > > I'm sure I will :) In the meantime, I'll dive in the "Application > Overview" section to wrap my head around all the moving parts. Loving it so > far! Nice job. >

Re: which one would you prefer (instantiate vs. new-instance)?

2013-07-04 Thread Robert Stuttaford
Looks like the tradeoffs are composability vs avoiding reflection. I personally would go for the function until performance becomes a concern. Being able to use it in HOFs is a big deal! On Thursday, July 4, 2013 12:57:32 PM UTC+2, Jim foo.bar wrote: > > (defmacro instantiate > "Returns an ins

Re: which one would you prefer (instantiate vs. new-instance)?

2013-07-04 Thread Jim - FooBar();
On 04/07/13 12:31, Robert Stuttaford wrote: Looks like the tradeoffs are composability vs avoiding reflection. I personally would go for the function until performance becomes a concern. Being able to use it in HOFs is a big deal! performance is not good with either of those solutions (compare

Re: which one would you prefer (instantiate vs. new-instance)?

2013-07-04 Thread Cedric Greevey
Is there a solid reason for "instantiate" not to be a plain old function too? OK, the namespace the eval takes place in might change, but if that's causing a problem with importing it seems that using (instantiate `MyClass args...) should result in sending it the fully qualified classname, if it's

Re: Pedestal introduction question

2013-07-04 Thread gianluca torta
Hi, I am pretty new to clojure and trying to learn a lot from this great list anyway, looking at the code you point to, it seems that the name "templates" has two roles: - one deriving from: (:require ... [io.pedestal.app.render.push.templates :as templates] ...) - one deriv

Re: which one would you prefer (instantiate vs. new-instance)?

2013-07-04 Thread Mikera
Both are somewhat problematic from a performance perspective. I'd actually be tempted to do this in a "higher order function" style that returns a compiled construction function for the correct argument types, e.g. something like (def double-builder (instantiator Double Long)) (double-builder 2

Re: which one would you prefer (instantiate vs. new-instance)?

2013-07-04 Thread Jim - FooBar();
hmm...unless I've understood wrongly, that would be 'once per type, arity and potentially argument-types'...so yes, for all your Doubles you would pay it once, for all your Longs once more etc etc...if you start doing it with objects with more than one ctor arity and possibly same arities but

Re: which one would you prefer (instantiate vs. new-instance)?

2013-07-04 Thread Mikera
You've understood correctly - you'd need to create an instantiator for each different set of argument types. Whether this suits you or not will depend on your use case: however in the (possible quite common?) situation that you are doing a lot of runtime instantiation using the same argument ty

Anybody has tried to (re)write re-match in core.logic?

2013-07-04 Thread Adam Saleh
I was thinking about rewriting re-match in core.logic, so I am asking if somebody tried something similiar. My reasoning goes along like this: 1) core.logic has no utils for dealing \w strings 2) regular expressions are declarative 3) (re-match expression string) is a relation I am hoping to g

Re: Pedestal introduction question

2013-07-04 Thread Greg
Where did you see the first :require? I can't find it in the code sample. > one deriving from: > (:require ... > [io.pedestal.app.render.push.templates :as templates] > ...) Thanks, Greg -- Sent from my mobile device. Please do not email me anything that you are not comfortable also

Re: Anybody has tried to (re)write re-match in core.logic?

2013-07-04 Thread David Nolen
Until core.logic gets environment trimming not a good idea as it us unable to handle medium to large inputs. David On Thursday, July 4, 2013, Adam Saleh wrote: > I was thinking about rewriting re-match in core.logic, so I am asking if > somebody tried something similiar. > > My reasoning goes al

Re: which one would you prefer (instantiate vs. new-instance)?

2013-07-04 Thread Mark
The HOF can achieve very good performance if by caching the constructor object. Just be careful to clear the cache when the class is GC'd, otherwise you can end up with memory leaks and/or class cast exceptions. On Thursday, July 4, 2013 4:31:40 AM UTC-7, Robert Stuttaford wrote: > > Looks like

Re: Pedestal introduction question

2013-07-04 Thread gianluca torta
right, sorry! I found the double role of "template" in this sample file on the pedestal repo: https://github.com/pedestal/samples/blob/master/chat/chat-client/app/src/chat_client/web/rendering.cljs maybe the doc you originally refer to is inspired by this, but something got lost in the doc -Gian

core.async JAR

2013-07-04 Thread pmf
Is there a prebuilt binary JAR of core.async available somewhere? I did not find it on Clojars. -- -- 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 mod

Re: Anybody has tried to (re)write re-match in core.logic?

2013-07-04 Thread Tassilo Horn
Adam Saleh writes: Hi Adam, > 3) (re-match expression string) is a relation Well, for a given string there are infinitely many regexps that match it. And the other way round, for many regexps there are also infinitely many strings. Not sure if core.logic can do relations between infinite sets

Re: core.async JAR

2013-07-04 Thread Tassilo Horn
pmf writes: > Is there a prebuilt binary JAR of core.async available somewhere? I > did not find it on Clojars. Clone the git repository and do a "lein jar" in there. Bye, Tassilo -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this

Re: Pedestal introduction question

2013-07-04 Thread Greg
Thanks! Yeah it's probably just a mistake in the docs. -- Please do not email me anything that you are not comfortable also sharing with the NSA. On Jul 4, 2013, at 10:08 AM, gianluca torta wrote: > right, sorry! > > I found the double role of "template" in this sample file on the pedestal >

Re: core.async JAR

2013-07-04 Thread James Reeves
On 4 July 2013 15:20, pmf wrote: > Is there a prebuilt binary JAR of core.async available somewhere? I did > not find it on Clojars. If you want it as a dependency, add the following repository to your project file: :repositories {"sonatype-oss-public" " https://oss.sonatype.org/content/grou

Web crawling tree traversal

2013-07-04 Thread Amir Fouladi
Hi everybody I'm a clojure newbie, so I'm sorry if I'm asking a dumb question. I'm trying to write a program to crawl a webpage, find all links and recursively do this until all the links in the website is crawled (of course I'm omitting external hosts to avoid infinite crawling). So basically

How core.async compares to agents, future and promise?

2013-07-04 Thread Hussein B.
Hi, How core.async compares to agents, future and promise? When to use core.async and when to use agents, future and promise? Thanks for help and time. -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure

Re: How to implement a distributed and concurrent system in Clojure?

2013-07-04 Thread Luca Antiga
Not that I'd recommend using it in production, but I experimented with distributed reference types on top of Redis some time ago: https://github.com/lantiga/exoref Several aspects are very rough e.g when the connection to Redis is lost or when it comes to reusing a key. Overall it's probably n