[CfP 4th European Lisp Symposium, Hamburg, March 31st - April 1st 2011

2010-09-13 Thread Didier
: http://www.acm.org/sigs/publications/proceedings-templates http://www.acm.org/about/class/1998 Submissions should be uploaded to Easy Chair, at the following address: http://www.easychair.org/conferences/?conf=els2011 Programme Chair Didier Verna - EPITA Research and Development

Any plan to add log4j 2 support to tools.logging?

2015-11-19 Thread Didier A.
Hi all, I was wondering if any work is being planned on tools.logging to add log4j 2 support? -- 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

Re: Clojure beyond Java 6 ?

2016-01-19 Thread Didier
Why not make new versions of Clojure support the latest Java version and JDK features, and people who need to run an old JDK can just depend on an older version of Clojure that works on it? Ideally, bug fixes could still be pushed out for maybe 2 versions behind or something. On Wednesday, 12

Re: Clojure beyond Java 6 ?

2016-01-22 Thread Didier
> I’ve defended Clojure’s continued support for Java 6 on the grounds that it makes new versions of Clojure accessible to companies that are still on older versions of the JVM. As Colin says, and as seen in the Frege project, there are many valid reasons why older versions of the JVM continue

Re: Clojure beyond Java 6 ?

2016-01-20 Thread Didier
;> don't see much complaining about it (quite the opposite). >>> >>> Also the fact that clojure itself is not getting an avalanche of new >>> feature at every release makes upgrading not so critical. >>> >>> >>> >>> >>> On Tue

Addressing Matthias Felleisen's concerns?

2016-05-09 Thread Didier
At Clojurewest 2016, Matthias Felleisen gave a great keynote about the pragmatism of soundness for maintening large code bases. He mentioned that adding type gradually was useful, but only when the border between typed land and untyped land is guarded. He mentioned how Racket does that. He also

Pattern matching Vs destructuring?

2017-01-26 Thread Didier
Some languages have pattern matching, and Clojure is said to not have it (without a library), but it does have destructuring. It seems to me that destructuring is the same as pattern matching, except that it can only be used inside function arguments, where as pattern matching can also be used

Re: [ANN] Odin 0.2.0 - Query DSL for Clojure

2017-02-24 Thread Didier
How does this compare to Specter? On Thursday, 23 February 2017 13:34:16 UTC-8, Alan Thompson wrote: > > Just came across this - it looks very cool! > Alan > > On Sat, Dec 10, 2016 at 7:14 AM, Timothy Baldridge > wrote: > >> I just released the first official version of

Re: Vars as global thread-locals?

2017-02-25 Thread Didier
"If one needs thread-local storage, you use a Java ThreadLocal directly." No, you just use a dynamic Var for that or with-local-vars. Normally, in Clojure, values are bound to symbols. This means that a symbol is mapped to a value. In general, you can not change this mapping once it is set.

Re: [ANN] Odin 0.2.0 - Query DSL for Clojure

2017-02-25 Thread Didier
ata. Odin supports relations, joins, recursive rules, tabling, > etc. > > Currently Specter will probably perform a bit better, but I hope to close > that gap in the future. > > > Timothy > > On Fri, Feb 24, 2017 at 5:10 PM Didier <did...@gmail.com > >

Re: Vars as global thread-locals?

2017-02-25 Thread Didier
Re-reading your reply, sounds like I might have explained what you already know. So to better answer your question: Dynamic scoping and Java ThreadLocals gives you equal functionality, so I'd use them equally. This is because Clojure supports thread bound dynamic scope. On Wednesday, 8

Re: Frustrations so far

2016-09-04 Thread Didier
*1) Slow startup speed.* Everyone dislikes the slow startup speed. Though it's been argued that it should be known as the Clojure slow startup speed. Since even though the JVM is slower to start then say python, most of the slowness comes from the Clojure overhead. *I know this problem is

Re: [ANN] Nightlight, an embedded editor for Clojure

2016-11-05 Thread Didier
Wow, this looks awesome. For now, I'm pretty satisfied with Atom + ProtoREPL. But if your approach can achieve much better code completion, much better linting, much better refactoring and hopefully much better debugging, I'm going to have to move to it. Actually, it would be awesome if you

Re: Java like static typing for Clojure?

2016-11-05 Thread Didier
be useful, and they wouldn't be too burdening. On Saturday, 15 October 2016 15:14:08 UTC-7, Didier wrote: > > I know a lot of people like to say how unhelpful Java like static typing > is, and only more powerful type systems of the ML family add value, but > I've been wondering rece

Re: Addressing Matthias Felleisen's concerns?

2016-11-05 Thread Didier
anks, > Ambrose > > On Mon, May 9, 2016 at 6:32 PM, Josh Tilles <jo...@signafire.com > > wrote: > >> On Monday, May 9, 2016 at 5:36:53 PM UTC-4, Didier wrote: >>> >>> At Clojurewest 2016, Matthias Felleisen gave a great keynote about the >>>

Re: Help me understand what part of this code is slow, and how to make it faster?

2016-11-21 Thread Didier
Tuesday, 15 November 2016 19:39:43 UTC-8, Didier wrote: > > Hey all, > > I came upon a benchmark of F#, Rust and OCaml, where F# performs much > faster then the other two. I decided for fun to try and port it to Clojure > to see how Clojure does. Benchmark link: > https:/

Re: Help me understand what part of this code is slow, and how to make it faster?

2016-11-24 Thread Didier
obably spending too much time optimizing. On Tuesday, 15 November 2016 19:39:43 UTC-8, Didier wrote: > > Hey all, > > I came upon a benchmark of F#, Rust and OCaml, where F# performs much > faster then the other two. I decided for fun to try and port it to Clojure > to see how Cloj

Re: Help me understand what part of this code is slow, and how to make it faster?

2016-11-22 Thread Didier
speed boost. On Tuesday, 15 November 2016 19:39:43 UTC-8, Didier wrote: > > Hey all, > > I came upon a benchmark of F#, Rust and OCaml, where F# performs much > faster then the other two. I decided for fun to try and port it to Clojure > to see how Clojure does. Benchm

Re: Help me understand what part of this code is slow, and how to make it faster?

2016-11-21 Thread Didier
with the "1.9.0-alpha14" version, and Records were still just as slow as with "1.8.0". Maybe I'm using them wrong. On Tuesday, 15 November 2016 19:39:43 UTC-8, Didier wrote: > > Hey all, > > I came upon a benchmark of F#, Rust and OCaml, where F# performs much > f

Re: [ANN] psq.clj 0.0.2 – Persistent Priority Search Queues

2016-11-22 Thread Didier
Great work. I love the Clojure state for data-structures. People often underestimate how much access to quality data-structures is important for a language. By the way, www.data.avl is not a valid link. On Sunday, 20 November 2016 12:32:31 UTC-8, Michał Marczyk wrote: > > Hi, > > I am pleased

Re: Clojure Repos - Some Dependencies are Not In Clojars

2016-11-15 Thread Didier
I feel like even if Clojars is not firewalled, you should probably get OSS approval from your legal team before important Clojars libs. Just a suggestion. On Wednesday, 9 November 2016 05:55:41 UTC-8, Vitaly Peressada wrote: > > Hi All, > > FWIK the community uses both Maven Central and

Re: Good way of handling metric gathering?

2016-11-12 Thread Didier
You could use: https://github.com/technomancy/robert-hooke Its basically an AOP library for Clojure. You can use "with-hooks-disabled" in your tests to disable the hooks that have side effects. On Friday, 11 November 2016 21:42:59 UTC-8, Shantanu Kumar wrote: > > Hi Tianxiang, > > In my

Help me understand what part of this code is slow, and how to make it faster?

2016-11-15 Thread Didier
Hey all, I came upon a benchmark of F#, Rust and OCaml, where F# performs much faster then the other two. I decided for fun to try and port it to Clojure to see how Clojure does. Benchmark link: https://github.com/c-cube/hashset_benchs This is my code for it:

Java like static typing for Clojure?

2016-10-15 Thread Didier
I know a lot of people like to say how unhelpful Java like static typing is, and only more powerful type systems of the ML family add value, but I've been wondering recently if for Clojure it wouldn't make more sense to simply extend the type hints to enable an optional Java like static typing

Closure for object pattern? A good idea?

2016-12-09 Thread Didier
I'm wondering what everyone thinks of using closures to mimic a simplistic object system in Clojure? I'm not sure what to think of it yet, but the idea is that you wrap object fields inside a closed function, and it returns a map of methods that operates over those fields. Here's an example of

Re: Closure for object pattern? A good idea?

2016-12-10 Thread Didier
at the same time, while the former forces you to have to manage an options map and pass it around everywhere. So I feel there's something I could do here, with wrapping everything in this pattern, and having the options be captured in the closure. On Friday, 9 December 2016 23:47:34 UTC-8, Didier

Re: Private multimethods possible?

2017-01-09 Thread Didier
How would you declare a namespace within a namespace? Or two namespaces in the same file? On Friday, 23 October 2009 04:41:13 UTC-7, Meikel Brandmeyer wrote: > > Hi, > > On Oct 23, 8:45 am, Christophe Grand wrote: > > > Other solutions are to use @#'ns/private-var to

Re: Private multimethods possible?

2017-01-11 Thread Didier
Maybe you're right in not recommending this, but I find it at first glance to be quite nice. Now, I wouldn't keep switching namespace back and forth, but having two sections in the file, one the public API at the top, and everything else at the bottom in a private namespace, that's quite nice

How do I spec a nullary function?

2017-03-23 Thread Didier
I'm trying to fdef a function of no arguments, how would I go about it? I only want a spec for the return value basically? -- 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

Protocol support with spec?

2017-03-28 Thread Didier
I was wondering if protocols do or will be extended to support specs? I'm thinking in the two following ways: 1) I can spec a protocol's functions so that whoever implements it has a better and more complete specification of how it should do so. 2) Protocols can dispatch based on the tagged

Re: off-topic: stackof developer survey

2017-03-26 Thread Didier
All the uncomplicate libraries look really awesome. I'm going to give them a try out. I agree with you 100%, as a Community, we'll have to build more tools, write tutorials, add tests, etc., if we truly want Clojure to grow. Awesome job on those, I like their landing page, great description,

Re: off-topic: stackof developer survey

2017-03-22 Thread Didier
As I understand it, the Most Love metric asks people who work with the language how happy they are with it. So I find this metric very interesting. Clojure foes rank well in this, but it falls below a lot of others. I'd like to know why? Why doesn't everyone who uses Clojure loves it? I can

Re: Protocol support with spec?

2017-03-29 Thread Didier
| I don't understand what this one is. I think I might be wishing specs were also types. In my head, I see as say, if I spec a vector as ::cart-items, I'd like to implement a protocol for ::cart-items which will dispatch to the function handling ::cart-items, and if that didn't exist, it

Re: Protocol support with spec?

2017-03-29 Thread Didier
> > multi-spec doesn't require you to use a key of a map - it's an arbitrary > function on arbitrary data, so it could leverage satisfies? or other > protocol functionality. > Oh, that's good to know, but I'm talking other way around. Where I can dispatch based on what the spec is for a given

Re: escape characters to make a string literal

2017-03-29 Thread Didier
| Also interesting, clojure's print methods will handle some escapes, but not others I think that's just that \t is printed as \t. Like a tab shows up as \t. Whereas say a Unicode like \u1234 will show the character of it. You can seek that here: (print (pr-str "foo\u0009bar"))

Is it normal for exercise-fn to return examples that don't conform?

2017-03-29 Thread Didier
If you look at this example: (defn wtv [in] (if (= 0 in) 0 10)) (s/fdef wtv :args (s/cat :in int?) :ret (s/and int? #(not= 0 %))) (s/exercise-fn `wtv) (s/conform `wtv (wtv 0)) You'll see that exercise gives you most of the time the following sample: [(0) 0] But this fails to

Re: Vars as global thread-locals?

2017-03-28 Thread Didier
> > which brings up the limitation of implementing dynamically scoped vars > with ThreadLocal: It would be reasonable to expect that the bindings of > dynamic vars propagate to all code inside the same function, even if > executed by a different thread > This is not a limitation, this was

Re: Compiling gen-class runs static initializers: workarounds, solutions?

2017-03-28 Thread Didier
In my experience, there's definitly still issues with static initializers, even in 1.8. I'd recommend you go mixed Java for those use case. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to

Re: off-topic: stackof developer survey

2017-03-25 Thread Didier
Is Clojure so great at AI, ML, NLP and concurrent programming? It seems to me the libraries are lacking. I also know there's a race for performance, and it looks like CPU parallelization isn't even fast enough, so distributed or GPU based solutions are being built, which I'm also not sure

Re: Vars as global thread-locals?

2017-03-21 Thread Didier
Right, except each thread gets its own binding. So it's not necessarily that you'll get the value of the last binding up the call stack. This will only be true if you are in the same thread also. I'm not sure if we agree on the rest, but explain it differently or not. ThreadLocal is an object,

Re: Startup time of standalone .jar executable

2017-03-21 Thread Didier
To answer your question, yes, ClojureScript startup times would be as fast as booting a shell command, a python script, etc. To this end, you can use Planck like previously suggested, but I would recommend Lumo over it: https://github.com/anmonteiro/lumo Lumo is a standalone ClojureScript

Re: Is it normal for exercise-fn to return examples that don't conform?

2017-04-03 Thread Didier
Do you know why they are not unique? Was that on purpose or an accidental behaviour of the implementation? -- 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

Derefs broken after clojure.tools.namespace.repl/refresh

2017-04-10 Thread Didier
Hum, not sure why you would do this, but I'm guessing refresh goes in an infinite async loop. You keep reloading a namespace which creates a thread to reload itself. I can't really explain why the symbol exists, but is not bound. I would have thought either the symbol would not exist, or the

Seeking critique of "pattern" in clojure.spec (LONG)

2017-04-10 Thread Didier
I think this pattern is fine. What specifically about it annoys you? You could do it without records, but then you wouldn't be creating a type. Do you really need a type? The advantage of types in Clojure are that they let you do polymorphic dispatch of them. So they are useful if you have

Re: Seeking critique of "pattern" in clojure.spec (LONG)

2017-04-10 Thread Didier
I agree with James, here's what I'd do: https://gist.github.com/didibus/d0228ffad9b920c201410806b157ff10 The only downside, and why you might still want to use types (probably with deftype), is to prevent people from using standard functions like <,>,= etc. If you deftyped virtual-time, it

Re: Derefs broken after clojure.tools.namespace.repl/refresh

2017-04-11 Thread Didier
Experimentation is good. This is indeed surprising. I think it shows that a good debugger would still sometime be useful in Clojure. I can't really explain what's happening. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group,

Re: Is it normal for exercise-fn to return examples that don't conform?

2017-04-02 Thread Didier
n. Returns a > sequence of tuples of [args ret]. > > On Sunday, 2 April 2017 03:55:19 UTC-7, Leon Grapenthin wrote: > > Generated samples aren't unique. > > Conform like this: > > (s/conform (:args (s/get-spec `wtv)) [0]) > > > On Thursday, March 30, 2017 at 2:55:

Re: Derefs broken after clojure.tools.namespace.repl/refresh

2017-04-11 Thread Didier
s indeed extremely useful for Clojure - I use one every > day :-) > > On 12 April 2017 at 05:29, Didier <did...@gmail.com > wrote: > >> Experimentation is good. This is indeed surprising. I think it shows that >> a good debugger would still sometime be useful in Cloj

Re: Derefs broken after clojure.tools.namespace.repl/refresh

2017-04-11 Thread Didier
Awesome, time for me to try Cursive. -- 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 your first post. To

Re: Derefs broken after clojure.tools.namespace.repl/refresh

2017-04-11 Thread Didier
@Colin If I understand correctly, if I buy the personal license I can use it for my own commercial projects, but I can also use it at my work, to work on their code base, as long as I'm the one using it. Is that correct? I probably can't convince work to buy into a bunch of licenses, but I'd

Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-06 Thread Didier
Looks good. May I ask, what kind of support are we looking at? Is this something you reasonably see being carried to the release of 1.9? Or was it more of an experiment? -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send

Component and company with Spring?

2017-04-06 Thread Didier
Hey, I'm looking into trying out one of the component libraries for Clojure such as Component, Mount, Integrant, etc. Unfortunately, at my company, Spring is king, and a lot of spring beans exist that are shared across teams and I need to rely on them. So I'd need a framework that can

Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-06 Thread Didier
:43:55 UTC-7, Jeaye wrote: > > On Thu, Apr 06, 2017 at 11:31:46AM -0700, Didier wrote: > > Looks good. May I ask, what kind of support are we looking at? Is this > something you reasonably see being carried to the release of 1.9? Or was it > more of an experiment? > > I'

Re: was Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-08 Thread Didier
After a bit of digging, it appears that dependent types, at least the Liquid Haskell kind, could catch it, but could also miss it. If you've constrained everything very tightly, it would catch it, if not, it could miss it. In this regard, generative testing could still end up being practically

Re: was Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-08 Thread Didier
Sorry, I didn't mean fraction type, I meant fraction literal. All I can say is neither Java, Kotlin or Ceylon have a non zero type. Not sure about heck or frege. Also, I was eventually leading to more than just the literal 10/0. If the zero in this division comes from another formula, or is

Re: Seeking critique of "pattern" in clojure.spec (LONG)

2017-04-10 Thread Didier
d you can build on top of it, simpler to go with the style of my first gist. If you can't build on top of double, deftype is probably what you want. On Monday, 10 April 2017 21:41:35 UTC-7, Brian Beckman wrote: > > Wow... that's a comprehensive solution, Didier :) Bravo! It's a good > les

Re: Navigators and lenses

2017-03-09 Thread Didier
At this point, I feel like dismissing your library outright. But I'd like to reconsider and believe that you just fumbled to express your true intents. Maybe try a do over? I'd like to know... Did you research Specter? Did you research Haskell lenses and racket lenses? Did you spend 2 months

Re: Vars as global thread-locals?

2017-03-10 Thread Didier
Absolutly, Clojure embraces its host platform. Always feel free to use the Java features when they work best for your use case. But just to clarify, Java's ThreadLocal is an implementation of dynamic scoping. The scope is determined not by the source code, but by the runtime circumstances, in

What makes Clojure Clojure?

2017-03-04 Thread Didier
The Specter post about if it should be made into core or not got me wondering what makes Clojure Clojure. I'm trying to wrap my head around what is the most minimal set of things that uniquely make up Clojure. Right now, in that set I've got: - The Clojure syntax and its semantics - The

Re: Vars as global thread-locals?

2017-03-04 Thread Didier
you did the same with ThreadLocal, printing different values based on the thread. I hope this helps. On Friday, 3 March 2017 07:02:21 UTC-8, Ernesto Garcia wrote: > > On Sunday, February 26, 2017 at 6:23:28 AM UTC+1, Didier wrote: >> >> Dynamic scoping and Java ThreadLocals giv

Re: Contribute Specter to Clojure core?

2017-03-04 Thread Didier
This got me thinking, what is Clojure? As I see it, Clojure is a combination of syntax and semantics combined with a standard library of functions and macros. Given the Clojure syntax, and the Clojure special forms, and Clojure core, I have myself Clojure. Given that, we should be careful when

Re: was Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-08 Thread Didier
; Personally I long for a Kotlin/Clojure hybrid, to the point that I have > seriously considered trying to build one. > > On 8 April 2017 at 14:57, Didier <did...@gmail.com > wrote: > >> | I think you missed my point, which is only "Spec is great as we have >> the

Re: was Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-07 Thread Didier
| I think you missed my point, which is only "Spec is great as we have the power of Clojure" - sure, just don't forget you have the power of ANOther language in that language as well. Hum, I've probably missed your point sorry, I'm still not following. | no, this will, or at least should, be

Re: was Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-06 Thread Didier
It's different, yet related. Static type systems and clojure.spec both try to prevent bugs. They're tools to help you write correct programs, the same way that a testing framework is. Neither of them will catch all your bugs unfortunately. Static type systems catches bugs where you would try

Re: was Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-07 Thread Didier
@Colin Yates If spec is a DSL to describe invariants and the static typing of other languages are too, then it's not true that all static typing DSLs can express what the spec DSL can. If you say, could I build spec in other languages, or can I put asserts in the code using the full

[inheritable-var] A wrapper of InheritableThreadLocal to define thread-inheritable variable

2017-07-29 Thread Didier
InheritableThreadLocal is not safe to use with ThreadPools. And a lot of the Clojure parallel constructs rely on ThreadPools. I'd recommend you rely on dynamic Vars instead and use bound-fn when you want child threads to inherit parent's bindings. If you knew this already, then I see no harm

Re: Unnamed Types - What Am I Doing Wrong?

2017-07-29 Thread Didier
> I thought there would be be many benefits to using records, particularly > around protocols but I haven't felt the loss. I like having the constructor ready made, and the extra documentation they provide on which key it has. Though spec remediates the latter a bit. Other then that, they're

Re: [inheritable-var] A wrapper of InheritableThreadLocal to define thread-inheritable variable

2017-07-29 Thread Didier
For the core.async example, it was my mistake. Forgot to definheritable foo. The example does not return an exception, but "Main Thread", showing that the inheritable did not work. If using async/thread it does work though. On Saturday, 29 July 2017 08:07:08 UTC-7, Jiacai Liu wrote: > >

Re: [inheritable-var] A wrapper of InheritableThreadLocal to define thread-inheritable variable

2017-07-30 Thread Didier
nce and usage to decorate executor when using > thread pool in my doc > > Many thanks.  > > On Sunday, July 30, 2017 at 1:28:46 PM UTC+8, Didier wrote: >> >> Your doc says this doesn't work with dynamic binding: >> >> (def ^:dynamic *foo* 5) >> (defn adder

Re: [inheritable-var] A wrapper of InheritableThreadLocal to define thread-inheritable variable

2017-07-29 Thread Didier
s. > > I have updated my code to wrap TransmittableThreadLocal > <https://github.com/alibaba/transmittable-thread-local/blob/master/README-EN.md>, > an > enhanced version of InheritableThreadLocal, to solve threadpool problem. > > On Sunday, July 30, 2017 at 3:11:59

Entity–component–system and Clojure

2017-08-15 Thread Didier
I recently stumbled upon the entity-component-system design pattern which is popular in game engine design: https://en.wikipedia.org/wiki/Entity%E2%80%93component%E2%80%93system, and really liked what I saw, thought it could be a good fit for Clojure. Basically, it has three concepts: 1)

Re: beginning to learn Clojure after imperative programming my whole life

2017-08-10 Thread Didier
It did for me. It's that Clojure forced me to learn about and practice new ways to model problems and solution. For example, I'm much better at recursion and dynamic programming now. Now algorithmic problems are always hard, so there's a limit to how much better I got because of Clojure, but

CHAMP an improvement on HAMT?

2017-08-14 Thread Didier
I think that paper is from 2015. Curious to hear what are people's thoughts as to why it didn't replace Clojure's HAMT. I wouldn't mind a free 3x performance boost and a reduced memory footprint. Is it just a matter of didn't have someone doing the work, or did it turn out that there was issues

Re: Why is Clojure slow? (fibonacci)

2017-08-13 Thread Didier
Keep in mind Clojure can be made as fast as Java, it is not by default. What it is by default is one of the fastest dynamic programming language. On Sunday, 13 August 2017 11:46:31 UTC-7, Daniel Gerlach wrote: > > Thx, > > that was it :) > > I used the boxed int version ^Integer as a type hint,

Re: [ClojureScript] [ANN] Orchestra 2017.07.04-1 (now supporting ClojureScript)

2017-07-10 Thread Didier
I find it funny that Clojure strongly believes that static types aren't worth the effort in most cases, but somehow the effort of adding generative testing is. I think it's great to encourage people to use generative testing, but I'd rather it be à la carte, like most other things in Clojure.

Re: Evolve data / entities over time?

2017-07-10 Thread Didier
In Domain Driven Design, the domain model is the part which should be made to change the least, which is why getting is right is important, and more design time should go into it (often it receives the least amount of thought). The whole concept of DDD is based around this axiom, that changing

[ANN] r4f-pro: IDE for visual ontology-based, rule-based and algorithm-based software development

2017-07-11 Thread Didier
I feel like I'm missing out on this. It sounds very cool, but I'm not sureI understand the use cases whereI should reach for it. Can you speak of what kind of use case you can use rete and r4j for? -- You received this message because you are subscribed to the Google Groups "Clojure" group. To

If Clojure is to blame for the majority of the startup time, why doesn't ClojureScript proportionally slow down the JavaScript startup time also?

2017-07-14 Thread Didier
This link: https://dev.clojure.org/display/design/Improving+Clojure+Start+Time says that the Java startup time is ~94 ms, while Clojure boot time is ~640 ms. That's a ~680% increase. On my machine the java start time is: ~1042 ms, and the Clojure start time is around ~3108 ms. A ~298%

Re: Migrating nREPL out of Clojure Contrib

2017-07-22 Thread Didier
> The contrib process is in place because some want it that way - it's very > deliberately by design and AFAICT unlikely to change. Are you saying the contrib process is deliberatly made to be difficult for the community to contribute to it? If so, maybe if it had more obvious tenets, I find

Re: printing self referential data?

2017-07-23 Thread Didier
I'm not sure I can fully help without you explaining more what you're doing. It sounds like you've got a collection or container type which has an implementation of print that loops over its elements, and calls print on them. So if you have a cycle, the print will go on forever until memory

Re: Migrating nREPL out of Clojure Contrib

2017-07-19 Thread Didier
I'm not too familiar with the way contribs are managed, isn't tools.nrepl repo in github? Wouldn't the only step to contribute be to sign the CA and send a pull request of your changes? -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to

Re: Migrating nREPL out of Clojure Contrib

2017-07-19 Thread Didier
So do we have any idea of contributions are not made because of the CA or Jira? I understand it's hard to estimate how many people were discouraged by this. Maybe it should be part of the Clojure survey nexr time. Were you ever discouraged to contribute to a Contrib lib because of Jira? Were

Re: error in nrepl

2017-06-29 Thread Didier
If you're no fan on emacs or vim, ProtoRepl is great. I also recommend cursive, but if you're no fan of intelliJ autosave, counterclockwise eclipse os surprisingly great. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send

Re: def partially done when used in if

2017-06-30 Thread Didier
I admit, this is very surprising. It looks like evaluation happens in two pass, like first it finds all defs and declares them, interning the symbol and creating an unbound var. And on a second pass it evaluates the full form. Can someone more informed confirm or explain in more details what's

Re: [ANN] New Canvas feature for Proto REPL Charts

2017-07-05 Thread Didier
I'm pretty sure you can just drag the pane out left and to the bottom to move it. And you can resize the height by hovering the mouse at the edge. Those questions I think are best answered here: https://discuss.atom.io -- You received this message because you are subscribed to the Google

Re: [ANN] graphql-clj 0.2.0

2017-04-24 Thread Didier
How does this compare to Lacinia? On Monday, 24 April 2017 11:24:22 UTC-7, Lei wrote: > > graphql-clj is a Clojure library that provides GraphQL implementation. > > In this new version 0.2.0, schema and query validator have been > completely rewritten for simplicity and robustness. APIs have

Re: Predicates for atom/ref/agent

2017-08-05 Thread Didier
ClojureScript portability is probably the best reason. The other one is usage in spec. They don't all need to go in core, but going in the standard lib would be nice, like clojure.type-predicates. Even better if we had clojure.types. And it could have both predicates and types defined in it.

Re: printing self referential data?

2017-07-29 Thread Didier
here the easiest thing will be to remove the cycles, > but still I'd like to understand a couple things... > > On Sunday, July 23, 2017 at 10:12:46 PM UTC-4, Didier wrote: >> >> I'm not sure I can fully help without you explaining more what you're >> doing. It sounds like you've got a

Re: Unnamed Types - What Am I Doing Wrong?

2017-07-29 Thread Didier
I feel your pain, but you kinda shot yourself in the foot from the get go. What you did is the same as if you had decided to use a Java List to store your Account info. I'd suggest you read over this: https://clojure.org/reference/datatypes#_why_have_both_deftype_and_defrecord It explains the

Re: :gen-class method signature help

2017-08-07 Thread Didier
Arrays in Clojure are different to Lists, and its probably why when you pass arrays to the score fn, that things don't work 100%. If you can coerce those arrays to a java list it would probably work. You can do that in js, but if that doesn't work or seem easy, you could have your -score

:gen-class method signature help

2017-08-06 Thread Didier
Also, you need to change the name of the "score" function in clojure to "-score". Yes, that's a dash prefixed to it. Unless you have configured gen-class to do differently using ":prefix". -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to

:gen-class method signature help

2017-08-06 Thread Didier
Can you try: :methods [#^{:static true} [score [java.util.List java.util.List] java.util.List]] This says your score function takes two List arguments and returns a list. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send

Re: [ANN] Insn: Functional JVM bytecode generation for Clojure.

2017-08-19 Thread Didier
This looks cool, would it be possible to use this to have a deep nested clojure map automatically create a Java nesting of pojos? Like each key becomes a field of an actual class? -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this

Re: Sum types in Clojure? Better to represent as tagged records or as variant vectors?

2017-08-22 Thread Didier
Ya, I guess the article says that some DSL uses them, like hiccup, so maybe its only in the perspective of a DSL you'd need to parse, and not really for modeling business entities. Like this: (s/def ::temp (s/or :one string? :two int?)) Will conform to a variant: =>

Re: Sum types in Clojure? Better to represent as tagged records or as variant vectors?

2017-08-22 Thread Didier
Right, I see things the way tbc++ does, but I'm wondering if I'm missing some key insights that make variants better. I similarly struggle with the difference between (s/or) and (s/multi-spec). If I were to implement the lispcast example today with spec I'd either use (s/or): (s/def

Re: Sum types in Clojure? Better to represent as tagged records or as variant vectors?

2017-08-22 Thread Didier
I can see it be quick and concise for representing events, but that's also exactly the use case example for multi-spec: https://clojure.org/guides/spec#_multi_spec What happens if your event needs more data? Maybe draw needs 2 attributes, the card and the deck? Now you have implicit encoding,

Sum types in Clojure? Better to represent as tagged records or as variant vectors?

2017-08-22 Thread Didier
I'm reading on http://www.lispcast.com/reduce-complexity-with-variants and have seen Jeanine's talk on her encoding scheme for sum types, but for some reason, I'm not convinced of the benefit over a tagged record encoding. I see that the positional vector or hash-map suggested in the lispcast

Re: Seeking a function to partially parallelize collection processing

2017-06-20 Thread Didier
to pass it the next chunk to parallel-per process. On Tuesday, 20 June 2017 19:28:04 UTC-7, Didier wrote: > > Do you want something like this? > > (ns dda.test) > > (def test-infinite-lazy-seq (repeatedly > (fn [] {:id (rand-int 2) >

Re: Why does gen-class executes with *ns* bound to clojure.core?

2017-06-20 Thread Didier
(970) FOR-SEAN -- (904) 302-SEAN > An Architect's View -- http://corfield.org/ > > "If you're not annoying somebody, you're not really alive." > -- Margaret Atwood > > > > On 6/20/17, 4:46 PM, "Didier" <clo...@googlegroups.com on > beha

Re: Seeking a function to partially parallelize collection processing

2017-06-20 Thread Didier
Do you want something like this? (ns dda.test) (def test-infinite-lazy-seq (repeatedly (fn [] {:id (rand-int 2) :val (rand-int 10)}))) (def test-finite-seq [{:id 1 :val 1} {:id 1 :val 2}

  1   2   3   >