Re: Status of lean runtime?

2014-12-10 Thread Ken Restivo
Thanks. I wasn't expecting anything to be released soon. Based on replies here and elsewhere, so far it seems there is: 1) The "fastload" branch of Clojure https://github.com/clojure/clojure/tree/fastload (status unknown) 2) Oxcart https://github.com/oxlang/oxcart (looks abandoned?) 3) Androi

[ANN] ctries.clj 0.0.2 – concurrently modifiable, O(1)-snapshotable maps

2014-12-10 Thread Michał Marczyk
Hi, I am pleased to announce the immediate availability of version 0.0.2 of ctries.clj, a Clojure implementation of the Ctrie data structure introduced by Prokopec, Bronson, Bagwell and Odersky. This release includes some new tests, both single and multithreaded, exercising a number of features,

Does using clojure/clara this make sense in this project?

2014-12-10 Thread Mike
I have a new project that begs the use of a rules-based engine. I'm wondering if *clara *is an appropriate tool to use for this project. Part of some rules will involve querying remote webservices for facts. For example: Rule 1 is true if 1. http://www.abc.com/webservice responds with act

Re: debugging "MyClass cannot be cast to MyClass" exceptions

2014-12-10 Thread Brian Craft
Oh! Yes, I think that's it. I didn't realize the uberjar would include source, which clojure would attempt to re-compile. I'm not sure why that would be useful in an uberjar. I tried the lein :omit-source flag, which does indeed omit the source for my project, but still includes the source for

Re: Memoize in the real world

2014-12-10 Thread Andy Dwelly
Understood. I was using a configuration example as a kind of shorthand for a larger set of problems - most of which are multithreaded and will be dealing with occasionally changing results. As usual, its a tricky area, but not as difficult as achieving the same result in some other environments

Re: Memoize in the real world

2014-12-10 Thread Gary Verhaegen
Although if you do not expect the config to change, you do not need to wrap the delay in an atom. The atom in Steven Yi's solution is only there to allow the combination of (delay) executing the operation strictly once but also (atom) allow for changing the underlying value (i.e. clear the cache).

Re: Memoize in the real world

2014-12-10 Thread Andy Dwelly
Thanks to everyone for the responses. I was completely unaware of core.memoize although I think there is a very convincing case for delay; I certainly accept the thread safety problem with the existing code. Action this day on that one! I'm inclined to go down the @@ syntactic route, simply in