Re: Custom vectors/maps and sequence functions

2019-01-15 Thread plamen . usenet
P.S. This is a question about clarification/advice, not a critique to Clojure, as it actually works as advertised :) On Tuesday, January 15, 2019 at 2:58:07 PM UTC+1, plamen...@gmail.com wrote: > > Hello all > > while working on a daily basis where I use Clojure's native vectors/maps I > almost

Re: Custom vectors/maps and sequence functions

2019-01-15 Thread Alex Miller
Well first, there is a conscious split between collection and sequence functions. Collection functions take a collection and return the same collection (and take the collection first) - things like conj, assoc, dissoc, disj, etc. Those functions are all trait-based and "update" operations are

Re: Custom vectors/maps and sequence functions

2019-01-15 Thread James Reeves
On Tue, 15 Jan 2019 at 13:58, wrote: > So - do I miss something either in my knowledge or in the Clojure's > documentation/implementation and is there a meaningful way to apply > Clojure's and not mine filter/map/take/drop/sort etc. functions on a Table > and to get a Table back, without going

Custom vectors/maps and sequence functions

2019-01-15 Thread plamen . usenet
Hello all while working on a daily basis where I use Clojure's native vectors/maps I almost never experience the problem and even if - it is easy fixable with something like (into [] ...), I have the following problem with custom data structures and ask here for clarification if my

Re: Custom vectors/maps and sequence functions

2019-01-15 Thread plamen . usenet
Hello Alex On Tuesday, January 15, 2019 at 3:19:05 PM UTC+1, Alex Miller wrote: > > Well first, there is a conscious split between collection and sequence > functions. Collection functions take a collection and return the same > collection (and take the collection first) - things like conj,

Re: Custom vectors/maps and sequence functions

2019-01-15 Thread plamen . usenet
Hello Mark the reason was that I want them to act as if they are maps and vectors for an end user developer and let him work with all the usual Clojure functions for these data structures, while internally they would have some different implementation and additional functionality (for

Re: Custom vectors/maps and sequence functions

2019-01-15 Thread greybird
Hi Plamen, I don't have any advice to offer but I'm curious why you want to bind the table and column type info directly onto the result set. If you associate them in some other way, then you can just use plain maps and vectors. Are you trying to have less total objects in your API? -- You

Re: Custom vectors/maps and sequence functions

2019-01-15 Thread greybird
Thanks for explaining Plamen. Yes, it seems very difficult to treat a database abstraction as a regular Clojure map/vector. FWIW, in writing an app I think it works well to use SQL queries to return ordinary maps/vectors which can then be manipulated as usual. But I think you are doing

Re: Custom vectors/maps and sequence functions

2019-01-15 Thread plamen . usenet
P.S. Actually it just a coincidence that in my use case I am not concerned with let say trees, but with "Records" in a "Table", which in contrast map somehow nicely to IPersistentMap (where I can put a lot of additional functionality in a transparent way) and a "Table" (where the sequence

[ANN] Bract: Data-driven Application initialisation framework

2019-01-15 Thread Shantanu Kumar
Hi, I am happy to announce a data-driven application initialisation framework called Bract. https://bract.github.io/ Bract provides a first class, declarative way to express application initialisation config and steps/workflow. Bract has modules for various purposes, and offers the necessary

Re: Issue when moving to Clojure 1.10

2019-01-15 Thread Alex Miller
:import works with either (personally I prefer []). > On Jan 15, 2019, at 7:00 PM, Matching Socks wrote: > > This might have nothing to do with it, but, doesn't :import use parens? > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to

Re: Issue when moving to Clojure 1.10

2019-01-15 Thread Matching Socks
This might have nothing to do with it, but, doesn't :import use parens? -- 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

Re: Issue when moving to Clojure 1.10

2019-01-15 Thread Didier
Okay, I found my issue, mostly. It seems that Clojure 1.9 and 1.10 both now have a clojure.core.specs.alpha.clj file. This file seems to be the only file that is not AOT compiled by the maven compile script for Clojure. Thus the Jar for Clojure only has it as source, and is missing the

Re: Issue when moving to Clojure 1.10

2019-01-15 Thread Alex Miller
On Tue, Jan 15, 2019 at 10:43 PM Didier wrote: > Okay, I found my issue, mostly. > > It seems that Clojure 1.9 and 1.10 both now have a > clojure.core.specs.alpha.clj file. > > This file seems to be the only file that is not AOT compiled by the maven > compile script for Clojure. Thus the Jar

NoSuchMethodError when AOT'ing with Clojure 1.10

2019-01-15 Thread Matthew Phillips
Hi all, I have an inexplicable runtime error with a leiningen-generated AOT uberjar that happens when using Clojure 1.10 that doesn't happen with 1.9 (I'm on Java 8 for both compilation and deployment). The code in question looks like: (defn make-apns-message [payload] (let [buffer

Re: Custom vectors/maps and sequence functions

2019-01-15 Thread plamen . usenet
Hello James Yes. The (into (empty table) (comp (filter process?) (map process)) table) was exactly what I wanted for an end user to avoid to have to write, but just a (filter ... table), otherwise I could provide a wrapper like (defn myfilter [pred table] (into (empty table) (comp (filter