ANN: DataScript, in-memory database and datalog queries in ClojureScript

2014-04-25 Thread Nikita Prokopov
Hi! I’m glad to announce my new library, DataScript. It’s an open-source, from-the-scratch implementation of in-memory immutable database aimed at ClojureScript with API and data model designed after Datomic. Full-featured Datalog queries included. Library is here:

Re: ANN: DataScript, in-memory database and datalog queries in ClojureScript

2014-04-25 Thread Daniel Compton
Hi Nikita Can you explain what you mean from the limitations on the GitHub Readme? This: No history support, though history can be implemented on top of immutable DB values Seems to contradict: Immutability simplifies things even in single-threaded browser environment. Keep track of

Re: Clojure Office Hours

2014-04-25 Thread Ulises
And if you are in Europe, remember that Ulises is still offering, at what looks like 1300-1400 UTC (I think): https://ucb.youcanbook.me/https://www.google.com/url?q=https%3A%2F%2Fucb.youcanbook.me%2Fsa=Dsntz=1usg=AFQjCNGoo6exDmYGhdu-4qu3L9tL2v8AkQ It's actually 9-10am BST, but thanks for

Re: Style - Keyword access or accessors?

2014-04-25 Thread Mimmo Cosenza
I do as Dan does. Sometimes I prefer to use defrecord instead of a regular map, e.g. when there are mutable values involved. In such a case I always define a constructor for the record instances. mimmo On 22 Apr 2014, at 12:06, Colin Yates colin.ya...@gmail.com wrote: Thanks Dan, One

Re: Clojure Office Hours

2014-04-25 Thread Rudi Engelbrecht
Just booked my first session - really excited! Thanks for this ;-) Rudi On 25/04/2014, at 6:54 PM, Ulises ulises.cerv...@gmail.com wrote: And if you are in Europe, remember that Ulises is still offering, at what looks like 1300-1400 UTC (I think): https://ucb.youcanbook.me/ It's

Re: ANN: DataScript, in-memory database and datalog queries in ClojureScript

2014-04-25 Thread Nikita Prokopov
Hi Daniel, First sentence was written from Datomic standpoint. In Datomic, all history is kept in the database ref. Given ref to an immutable DB, you can rewind back to any point in time. I can guess that each DB value consist of indexes to current, latest state + append-only history log.

[ANN] New core.async release

2014-04-25 Thread Timothy Baldridge
This morning I'm happy to announce the latest version of core.async: 0.1.295.0-9ea6ef-alpha No new features to announce, but there are significant under-the-hood changes: ClojureScript changes - * Fixed a bug where pending puts were not moved into buffer as items were taken from the buffer

(user/clojuredocs ...) gone from leiningen?

2014-04-25 Thread rebcabin
I know I used to be able to access clojuredocs from a repl, as in (user/clojuredocs deftype) but now I get Loading clojuredocs-client... Warning: Could not load the ClojureDocs client, so `clojuredocs` will be unavailable Details: #FileNotFoundException

Re: (user/clojuredocs ...) gone from leiningen?

2014-04-25 Thread Andy Fingerhut
I see that behavior, too, with Leiningen 2.3.4. It looks like this commit probably caused the change in behavior. I am not sure of the motivation for this change to Leiningen: https://github.com/technomancy/leiningen/commit/c01fd49c836047f208d1db969b0490be2752c488 Andy On Fri, Apr 25, 2014

Re: (user/clojuredocs ...) gone from leiningen?

2014-04-25 Thread Andy Fingerhut
The clojuredocs macro still works in Leiningen 2.3.3, which there should be a way to go back to if you wish. I just checked on my system, and the Leiningen shell script for 2.3.3 and 2.3.4 seems to differ only in this line: export LEIN_VERSION=2.3.3 You can edit that line's version to 2.3.3 and

Re: puzzled by RuntimeException

2014-04-25 Thread Greg D
Thanks Alex and Steve, I've based a ton of work on keywords where the second character is numeric. The http://clojure.org/readers page should be the normative reference. The work is based on *reliance* on the definitions in the readers page. I believe it is unambiguous in demanding a colon as

Re: [ANN] New core.async release

2014-04-25 Thread pentaside
Cool! BTW, is there an issue tracker? Maybe I'm doing something wrong, but I'm unable to get core.async running at all (MacOS and Linux): https://github.com/tjg/core-async-bugreport Has exception java.io.FileNotFoundException: Could not locate clojure/tools/analyzer__init.class or

Re: [ANN] New core.async release

2014-04-25 Thread Timothy Baldridge
There's a problem with the deployment process. It seems that the pom wasn't updated based on the changes I put into the project.clj file. Sorry for the mixup, I'll get a new version released once we update the pom. Timothy On Fri, Apr 25, 2014 at 8:58 AM, pentaside t...@pentaside.org wrote:

Re: [ANN] New core.async release

2014-04-25 Thread Timothy Baldridge
In the mean time if you add this dependency to your project.clj file it should fix the errors: [org.clojure/tools.analyzer.jvm 0.1.0-beta12] Timothy On Fri, Apr 25, 2014 at 9:05 AM, Timothy Baldridge tbaldri...@gmail.comwrote: There's a problem with the deployment process. It seems that the

Re: (eval `(def ~(symbol varname) lineseq)

2014-04-25 Thread Peter West
I've just managed to get back to this. On Tuesday, 8 April 2014 17:06:31 UTC+10, Carlo wrote: On Mon, Apr 07, 2014 at 11:23:31PM -0700, Peter West wrote: On Tuesday, 8 April 2014 12:20:16 UTC+10, Carlo wrote: Your issue here is that the symbol lineseq in the eval form doesn't have a

Re: [ANN] New core.async release

2014-04-25 Thread Timothy Baldridge
The new (with fixed deps) version is out and available: core.async-0.1.298.0-2a82a1-alpha On Fri, Apr 25, 2014 at 9:06 AM, Timothy Baldridge tbaldri...@gmail.comwrote: In the mean time if you add this dependency to your project.clj file it should fix the errors:

Improving pprint behavior for anonymous functions

2014-04-25 Thread Matthew DeVore
Hi, There has been one thing bugging me for a long time that seems worth it to fix, and I was wondering if anyone else has had the same problem. I have enjoyed using Clojure's REPL and embracing a Clojure-style data model for my app, where everything is a glorified map or vector and there are

Re: JSON authentication with cemerick/friend?

2014-04-25 Thread Ivan Schuetz
Hmm... Ok I read http://sritchie.github.io/2014/01/17/api-authentication-with-liberator-and-friend/ for now I would like to get it working without using Liberator. Probably I'll add it later. The part explaining the authentication explains a lot but still couldn't figure out how to implement

Re: JSON authentication with cemerick/friend?

2014-04-25 Thread Ivan Schuetz
Also I couldn't find which library you're using for get-headers function... or is it a self made one? I found a get-headers in ring-servlet... https://github.com/ring-clojure/ring/tree/master/ring-servlet Added this dependency [ring/ring-servlet 1.3.0-beta1] didn't work And also in a netty

Re: [ANN] New core.async release

2014-04-25 Thread Charles Duffy
The most interesting thing I've learned from this release is just how lenient old releases were in the face of erroneous code, of which I appear to have had rather a lot. :) That said, I have found at least one behavior I'm not able to understand. This works perfectly with the new core.async:

Re: Improving pprint behavior for anonymous functions

2014-04-25 Thread Alex Miller
You might be interested in this ticket (http://dev.clojure.org/jira/browse/CLJ-1278) of which this is perhaps one special case. I don't know that I necessarily would want the equality semantics; at least in the case of impure functions the equality does not hold. On Friday, April 25, 2014

Re: (user/clojuredocs ...) gone from leiningen?

2014-04-25 Thread rebcabin
I found this comment in news.md in the repo https://github.com/technomancy/leiningen/search?q=clojuredocsref=cmdform looks like they've removed support on purpose On Friday, April 25, 2014 6:48:14 AM UTC-7, rebcabin wrote: I know I used to be able to access clojuredocs from a repl, as in

Re: puzzled by RuntimeException

2014-04-25 Thread Alex Miller
On Friday, April 25, 2014 9:48:10 AM UTC-5, Greg D wrote: Thanks Alex and Steve, I've based a ton of work on keywords where the second character is numeric. The http://clojure.org/readers page should be the normative reference. The work is based on *reliance* on the definitions in the

Re: Improving pprint behavior for anonymous functions

2014-04-25 Thread Matthew DeVore
Thanks for pointing out the ticket, but based on the Description, it falls short of what I need. It doesn't have any additional information that I can't deduce from looking at the code, in other words, the value of the items in the closures. So while it makes toString prettier, it's not

Re: puzzled by RuntimeException

2014-04-25 Thread Ben Wolfson
On Fri, Apr 25, 2014 at 11:19 AM, Alex Miller a...@puredanger.com wrote: On Friday, April 25, 2014 9:48:10 AM UTC-5, Greg D wrote: Thanks Alex and Steve, I've based a ton of work on keywords where the second character is numeric. The http://clojure.org/readers page should be the

Re: Improving pprint behavior for anonymous functions

2014-04-25 Thread Alex Miller
On Friday, April 25, 2014 1:23:49 PM UTC-5, Matthew DeVore wrote: Thanks for pointing out the ticket, but based on the Description, it falls short of what I need. It doesn't have any additional information that I can't deduce from looking at the code, in other words, the value of the

Re: puzzled by RuntimeException

2014-04-25 Thread Alex Miller
On Friday, April 25, 2014 1:32:32 PM UTC-5, Ben wrote: On Fri, Apr 25, 2014 at 11:19 AM, Alex Miller al...@puredanger.comjavascript: wrote: On Friday, April 25, 2014 9:48:10 AM UTC-5, Greg D wrote: Thanks Alex and Steve, I've based a ton of work on keywords where the second

Re: [ANN] New core.async release

2014-04-25 Thread Timothy Baldridge
I've confirmed this as a bug, it's a problem with functions inside the body of a go when used along with an async op inside the body of a loop. Thanks for the report, I've fixed it in master, and once we get a bit more feedback, I'll create a new release. Should be out sometime in the next few

Re: Improving pprint behavior for anonymous functions

2014-04-25 Thread Greg D
I don't know if this is considered good Clojure, but you could define a print-method within a macro to set up the normal string representation for the partial function: (defmacro partial* [fname arg0 args] `(let [pf# (partial ~fname ~arg0 ~@args) cpf# (class pf#)] (defmethod

Re: Improving pprint behavior for anonymous functions

2014-04-25 Thread Gary Trakhman
That's not going to work, all the return classes of partial are the same class. On Fri, Apr 25, 2014 at 5:26 PM, Greg D gregoire.da...@gmail.com wrote: I don't know if this is considered good Clojure, but you could define a print-method within a macro to set up the normal string

Re: Improving pprint behavior for anonymous functions

2014-04-25 Thread Greg D
I guess I don't understand the problem, or what is meant by different classes. A counter-example would be helpful. Further transcript using the macro: (def p6 (partial* + 1 2 3)) #'user/p6 user= (class p6) clojure.core$partial$fn__4194 user= (def p10 (partial* + 1 2 3 4)) #'user/p10 user=

Re: Improving pprint behavior for anonymous functions

2014-04-25 Thread Gary Trakhman
Ah, I think I was mistaken in a detail, but generally correct. Try it with two partials of the same arity. https://github.com/clojure/clojure/blob/master/src/clj/clojure/core.clj#L2460 On Fri, Apr 25, 2014 at 5:47 PM, Greg D gregoire.da...@gmail.com wrote: I guess I don't understand the

Re: Improving pprint behavior for anonymous functions

2014-04-25 Thread Greg D
I guess I don't understand the problem, or what is meant by all the return classes of partial are the same class. A counter-example would be helpful. Further transcript using the macro: user= (def p6 (partial* + 1 2 3)) #'user/p6 user= (class p6) clojure.core$partial$fn__4194 user= (def p10

Re: Improving pprint behavior for anonymous functions

2014-04-25 Thread Gary Trakhman
user (def a (partial* + 1 2 3)) #'user/a user a (partial + 1 2 3) user (def b (partial* + 1 2 5)) #'user/b user b (partial + 1 2 5) user a (partial + 1 2 5) On Fri, Apr 25, 2014 at 5:51 PM, Greg D gregoire.da...@gmail.com wrote: I guess I don't understand the problem, or what is meant by

Re: Improving pprint behavior for anonymous functions

2014-04-25 Thread Greg D
Got it. The macro, as is, will displace the print method for the same arity. On Friday, April 25, 2014 2:50:34 PM UTC-7, Gary Trakhman wrote: Ah, I think I was mistaken in a detail, but generally correct. Try it with two partials of the same arity.

Kwargs vs explicit parameter map for APIs?

2014-04-25 Thread Colin Fleming
Hi all, I'm working on an API at the moment, and I'm balancing whether to use inline keyword args which I would destructure in the functions, or whether to just pass an explicit params map as the last parameter. Comparison of the two options in case I'm not explaining myself well: Kwargs:

Comprehensive lein template list?

2014-04-25 Thread Mark Engelberg
Is there a list somewhere of the various lein templates? I'm especially interested in comparing the templates for clojure web development and/or clojurescript. The few I've sampled exhibit a wide variety of philosophies in terms of whether to be minimalist or batteries-included (and which

Re: Kwargs vs explicit parameter map for APIs?

2014-04-25 Thread Andrey Antukh
Hi! I have the same doubt! However, At this time, I prefer use a explicit map instead keywords, because for me is much clear that using keywords. Andrey. 2014-04-26 0:41 GMT+02:00 Colin Fleming colin.mailingl...@gmail.com: Hi all, I'm working on an API at the moment, and I'm balancing

Re: Kwargs vs explicit parameter map for APIs?

2014-04-25 Thread Dave Ray
Seesaw looks nice, but in retrospect I would use explicit maps if I had it to do all over again for exactly the reasons you mention. These days, I always use explicit maps for options. Dave On Fri, Apr 25, 2014 at 3:56 PM, Andrey Antukh n...@niwi.be wrote: Hi! I have the same doubt!

Re: Kwargs vs explicit parameter map for APIs?

2014-04-25 Thread Gary Trakhman
If it's more than a few parameters, I prefer maps.. It enables the possibility of things like merge. On Fri, Apr 25, 2014 at 6:56 PM, Andrey Antukh n...@niwi.be wrote: Hi! I have the same doubt! However, At this time, I prefer use a explicit map instead keywords, because for me is much

Re: Comprehensive lein template list?

2014-04-25 Thread Mimmo Cosenza
AFAIK the only available list of plugins/templates the following: https://github.com/technomancy/leiningen/wiki/plugins IMHO the best thing would be to create a pair of template/plugin which allow you to create a bare bone project (via template) and then add component as you need/choose during

Re: Improving pprint behavior for anonymous functions

2014-04-25 Thread Greg D
The code below accounts for partials of the same arity. However, there might be a better way to do this with clojure.reflect: (defn print-partial [a-fn] (let [c (class a-fn) fields (into {} (- c .getDeclaredFields (map #(vector (.getName %)

Re: Improving pprint behavior for anonymous functions

2014-04-25 Thread Matthew DeVore
在 2014年4月25日星期五UTC-7下午12时16分22秒,Alex Miller写道: On Friday, April 25, 2014 1:23:49 PM UTC-5, Matthew DeVore wrote: Thanks for pointing out the ticket, but based on the Description, it falls short of what I need. It doesn't have any additional information that I can't deduce from looking

Re: Comprehensive lein template list?

2014-04-25 Thread Colin Jones
Since these projects have to be named lein-template, you can actually get the full list via `lein search`, provided you don't need to search non-standard/private repositories. I bumped my :user profile's :search-page-size to 1000, and got this when I ran `lein search lein-template`:

[ANN] nginx-clojure v0.2.0 -- Let MySQL JDBC Driver Apache HttpClient Fly With Epoll/Kqueue on Nginx

2014-04-25 Thread Xfeep Zhang
nginx-clojure v0.2.0 includes new features: 1. non-blocking socket based on coroutine and compatible with largely existing java library such as apache http client, mysql jdbc drivers 2. asynchronous callback API of socket for some advanced usage 3. run initialization clojure code