Re: [ANN] JUST CREATED GOOGLE + CLOJURE COMMUNITY FOR TUNISIA
Conglats. I am working on the same for Kenya. On Sat, Oct 19, 2013 at 6:14 PM, Plínio Balduino pbaldu...@gmail.comwrote: Congratulations IMHO, local communities are the best way to make the language more popular and even to create a job market for Clojure. Wish you all the success Plínio On Oct 19, 2013 12:11 PM, Rafik NACCACHE rafik.nacca...@gmail.com wrote: Dear All, It is my pleasure to announce that we just created a Tunisial Local HUB for Clojure advocacy, teaching and technical exchange : https://plus.google.com/u/1/**communities/**106805143209555111634https://plus.google.com/u/1/communities/106805143209555111634 Awareness about clojure in Tunisia is quite low, though this is a country that accounts for a significant number of talented software engineers. S, I think it would be a nice idea to advocate for the language here, I mean talent is present and just waits to be converted :) I would be grateful if you can join this little effort of mine to assist us and make our community look good, and who knows, we could be a good starting point for a wider and more global clojure user base :) Thank you all, Regards -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: load-file namespace
Hi Ramesh, Based on the stack-trace, the error is thrown during compile-time. This means the compiler is having a hard time compiling test1/core.clj because it doesn't know of any hello namespace. This makes sense since no hello namespace has been referred to in the test1.core namespace (i.e. the file being compiled). Note that the call to ns-publics works because you are actually using the quoted symbol hello which the compiler doesn't have to resolve. In order to get the value of the vars in hello at runtime (after loading the file) you can use the resolve or the intern functions, which return the var (not the value) from the given namespace, so you have to dereference it: (println (- 'hello/someconst resolve deref)) Also, if the hello.clj file is in the src dir, you should run: lein run src/hello.clj Which show this output: #Namespace hello {-main #'test1.core/-main} {someconst #'hello/someconst} #hello$someconst hello$someconst@cdc69b HTH, Juan On Sunday, October 20, 2013 11:49:27 AM UTC+8, Ramesh Thulasiram wrote: Hi All, I'm calling load-file to load a user-specified file inside -main. And, the loaded file has its own namespace, and I'm able to see that using (ns-publics) as well. However, when I try to call a function inside the loaded file, from -main, I'm getting a no such namespace exception. ;; Lein project test1;File : src/test1/core.clj(ns test1.core (:gen-class))(defn -main [ args] (load-file (first args)) (println (ns-publics 'test1.core)) (println (ns-publics 'hello)) (println (hello/someconst))) ;File : hello.clj(ns hello)(println *ns*)(defn someconst [] 25); run as : ; lein run hello.clj(comment error Exception in thread main java.lang.RuntimeException: No such namespace: hello, compiling:(test1/core.clj:9:12) at clojure.lang.Compiler.analyze(Compiler.java:6380)at clojure.lang.Compiler.analyze(Compiler.java:6322)at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3573) at clojure.lang.Compiler.analyzeSeq(Compiler.java:6562) at clojure.lang.Compiler.analyze(Compiler.java:6361)at clojure.lang.Compiler.analyze(Compiler.java:6322)at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3624) at clojure.lang.Compiler.analyzeSeq(Compiler.java:6562) at clojure.lang.Compiler.analyze(Compiler.java:6361)at clojure.lang.Compiler.analyze(Compiler.java:6322)at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5708) at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5139) at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3751) at clojure.lang.Compiler.analyzeSeq(Compiler.java:6558) at clojure.lang.Compiler.analyze(Compiler.java:6361)at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548) at clojure.lang.Compiler.analyze(Compiler.java:6361)at clojure.lang.Compiler.access$100(Compiler.java:37) at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:529)at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560) at clojure.lang.Compiler.analyze(Compiler.java:6361)at clojure.lang.Compiler.analyze(Compiler.java:6322)at clojure.lang.Compiler.eval(Compiler.java:6623) at clojure.lang.Compiler.load(Compiler.java:7064) at clojure.lang.RT.loadResourceScript(RT.java:370) at clojure.lang.RT.loadResourceScript(RT.java:361) at clojure.lang.RT.load(RT.java:440)at clojure.lang.RT.load(RT.java:411) at clojure.core$load$fn__5018.invoke(core.clj:5530) at clojure.core$load.doInvoke(core.clj:5529)at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invoke(core.clj:5336) at clojure.core$load_lib$fn__4967.invoke(core.clj:5375) at clojure.core$load_lib.doInvoke(core.clj:5374)at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invoke(core.clj:619) at clojure.core$load_libs.doInvoke(core.clj:5413) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invoke(core.clj:619) at clojure.core$require.doInvoke(core.clj:5496) at clojure.lang.RestFn.invoke(RestFn.java:408) at user$eval3.invoke(NO_SOURCE_FILE:1) at clojure.lang.Compiler.eval(Compiler.java:6619) at clojure.lang.Compiler.eval(Compiler.java:6608) at clojure.lang.Compiler.eval(Compiler.java:6582) at clojure.core$eval.invoke(core.clj:2852) at clojure.main$eval_opt.invoke(main.clj:308) at clojure.main$initialize.invoke(main.clj:327) at clojure.main$null_opt.invoke(main.clj:362) at clojure.main$main.doInvoke(main.clj:440) at clojure.lang.RestFn.invoke(RestFn.java:421) at clojure.lang.Var.invoke(Var.java:419)at clojure.lang.AFn.applyToHelper(AFn.java:163) at clojure.lang.Var.applyTo(Var.java:532) at clojure.main.main(main.java:37)Caused by: java.lang.RuntimeException: No such namespace: hello at clojure.lang.Util.runtimeException(Util.java:219) at
Re: [ANN] JUST CREATED GOOGLE + CLOJURE COMMUNITY FOR TUNISIA
Awesome, Josh And also I am in Brazil. On Sun, Oct 20, 2013 at 5:13 AM, Josh Kamau joshnet2...@gmail.com wrote: Conglats. I am working on the same for Kenya. On Sat, Oct 19, 2013 at 6:14 PM, Plínio Balduino pbaldu...@gmail.com wrote: Congratulations IMHO, local communities are the best way to make the language more popular and even to create a job market for Clojure. Wish you all the success Plínio On Oct 19, 2013 12:11 PM, Rafik NACCACHE rafik.nacca...@gmail.com wrote: Dear All, It is my pleasure to announce that we just created a Tunisial Local HUB for Clojure advocacy, teaching and technical exchange : https://plus.google.com/u/1/communities/106805143209555111634 Awareness about clojure in Tunisia is quite low, though this is a country that accounts for a significant number of talented software engineers. S, I think it would be a nice idea to advocate for the language here, I mean talent is present and just waits to be converted :) I would be grateful if you can join this little effort of mine to assist us and make our community look good, and who knows, we could be a good starting point for a wider and more global clojure user base :) Thank you all, Regards -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: uberjar problem with Leiningen 2.3.3 (works with 2.3.2)
Thank you everyone, and Vadim especially! For the moment (while Ring is not updated with the fix), I'm using :jar-exclusions to exclude directory entries, as explained in Vadim's Leiningen commit message https://github.com/technomancy/leiningen/commit/5b97d9a47246af30d0e146f0c12cfa45fbf6953e Xavi On Saturday, October 19, 2013 6:04:03 PM UTC+2, Phil Hagelberg wrote: xavi writes: Does this mean that the problem was not completely solved in Ring 1.2? Argh! I'll try to take a look to Ring's code and see if I can find the problem and fix it. I took another look, and it looks like it was fixed by the commit I linked to previously, but then broken again a week later by another commit: https://github.com/ring-clojure/ring/commit/df71e6a522ffbc3b3edd518c61bda1c37708af7c#diff-84b6775eb77642c1afe9b5745af47a2f But the pull request linked to will fix it again; hopefully for good this time. -Phil -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Order of keys and vals results for sorted maps?
Dear clojure people! Do results of functions keys and vals ordered for sorted maps accordingly? Does it guaranteed? Thanks in advance. Sincerely, Ru -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Order of keys and vals results for sorted maps?
Hi Ru, I hope I understood your question correctly, because I did some digging based on that, since I was curious about the answer. ** The implementation for sorted maps (at least in 1.5.1 and as far back as 1.2.0, maybe farther, I didn't check) guarantees that the result from from *keys* will return an ascending sorted seq of keys; *vals* will return a seq following the corresponding keys order. Having said that, the docstring for *keys* doesn't mention anything about the order of the elements in the sequence, so the order could considered as an implementation detail... on the other hand it hasn't changed in quite a while so if it were me I would consider it a feature, plus the documentation on sorted maps herehttp://clojure.org/data_structures, says: [...] seqhttp://clojure.github.com/clojure/clojure.core-api.html#clojure.core/seqreturns a sequence of map entries, which are key/value pairs. Sorted map also supports rseqhttp://clojure.github.com/clojure/clojure.core-api.html#clojure.core/rseq, which returns the entries in reverse order. [...] Which implicitly suggests (at least for me) that *seq* returns the entries in order (since *rseq* returns the inverse, but *only* for sorted maps). Hope it helps - Digging details: *vals* is implemented in terms of* clojure.lang.RT.vals()https://github.com/clojure/clojure/blob/clojure-1.5.1/src/jvm/clojure/lang/RT.java#L518 * (*keys* follows the same approach). There, the map is *seq*'ed and that is what is used in *APersistentMap.ValSeq*https://github.com/clojure/clojure/blob/clojure-1.5.1/src/jvm/clojure/lang/APersistentMap.java#L164 's (and *APersistentMap.KeySeq*https://github.com/clojure/clojure/blob/clojure-1.5.1/src/jvm/clojure/lang/APersistentMap.java#L133 's) implementation of *first* and *next* to return the values. The sequence of entries as a result from *(seq m)** *determines the order of the keys * and* values in the seqs returned from the functions. This means that if entries are sorted by their keys, then the corresponding values will follow the same order with vals,* *that is, they won't be necessarily ordered. The *seq* of a *sorted-map* is guaranteed to return entries ordered by *key*, based on the implementation of *entrySet()*https://github.com/clojure/clojure/blob/clojure-1.5.1/src/jvm/clojure/lang/APersistentMap.java#L214 (from *APersitentMap*) and the *iterator()*https://github.com/clojure/clojure/blob/clojure-1.5.1/src/jvm/clojure/lang/PersistentTreeMap.java#L204 and *NodeIterator*https://github.com/clojure/clojure/blob/clojure-1.5.1/src/jvm/clojure/lang/PersistentTreeMap.java#L836(from *PersistentTreeMap*, class with which sorted maps are implemented). Juan On Sunday, October 20, 2013 8:25:02 PM UTC+8, ru wrote: Dear clojure people! Do results of functions keys and vals ordered for sorted maps accordingly? Does it guaranteed? Thanks in advance. Sincerely, Ru -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Order of keys and vals results for sorted maps?
Juan! Thank you very much for the such comprehensive and convincing answer. Meanwhile, it comes to my mind that it is not safe to use in production code features that deduced from the implementation details and do not exist in specification textually. From the other hand, it seems logically that for sorted maps such features must be mandatory and obviously specified. May by Clojure team would noticed this and correct documentation accordingly? воскресенье, 20 октября 2013 г., 16:25:02 UTC+4 пользователь ru написал: Dear clojure people! Do results of functions keys and vals ordered for sorted maps accordingly? Does it guaranteed? Thanks in advance. Sincerely, Ru -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Analysis that only vectors range results should be chunked by default?
When you call seq on a collection, it returns an object of a custom type which implements ISeq interface. In some cases, this object also implements IChunkedSeq, which is a more performant version for cases when you need to iterate over the collection. The rule whether collection returns object implementing ISeq or IChunkedSeq is an implementation detail, but it is obvious that chunked seqs will be supported by collections which keep data in 'chunks' internally. This is the case for vectors, as they keep the data in 32 item arrays. JW On Sun, Oct 20, 2013 at 5:36 PM, Tj Gabbour t...@pentaside.org wrote: Hi! (I'm writing clojure-doc.org articles, so any help/corrections will help others too.) Why is Clojure designed so that only vectors and `range` results are chunked (when you seq them), and not other things? Did someone profile Clojure programs, and these were the two hotspots? Or was it a matter of being conservative, and I/O is less likely in seqs based on vectors/ranges? Thanks, Tj PS: My assumptions (from grepping the code and reading Chas Emerick's explanation): * Only non-empty vectors `range` calls become chunked when you call seq. (Aside from, of course, user-defined chunked sequences.) * Chunkiness is opt-in. Functions like map manually propagate chunking. Joy of Clojure's `seq1` turns off chunkiness because it enforces a seq based on lists. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: ANN: lein-midje-doc 0.0.9 released
Sweet. Got this up and running. Just as a heads up, section 1.2 Generating from Source, is where I'm still getting that *seq/map-nth* Exception. But I went a but further and tried section 1.4, Usage. And after some config, I was able to get it working. I just bring it up as it might stymie other new users. But I can't wait to dig in. Thanks for all your hard work. Cheers Tim Washington Interruptsoftware.ca / Bkeeping.com On Wed, Oct 16, 2013 at 8:15 PM, zcaudate z...@caudate.me wrote: okay... 0.0.15 is up On Wednesday, October 16, 2013 11:48:56 PM UTC+11, frye wrote: Oh nice one. I saw where Raynes respondedhttps://github.com/Raynes/conch/issues/7pretty quickly. That's awesome. Let me know when I can retry lein-midje-doc. It would very cool to have that functionality. Tim Washington Interruptsoftware.ca / Bkeeping.com On Tue, Oct 15, 2013 at 4:56 PM, zcaudate z...@caudate.me wrote: Hi Tim. I've lodged the issue with Raynes here: https://github.com/Raynes/**conch/issues/7https://github.com/Raynes/conch/issues/7 Chris. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Compulsive over-optimization
I might have come off as obnoxious. So, sorry about that. Now that I think about it some more, the question probably doesn't have a procedure to suggest as an answer. It's in the same class as like how do I start or how can I stop asking so many questions. Kendall On 10/19/2013 03:05 PM, Softaddicts wrote: I read your post three times and now I need to get a couple of fuses replaced :) Holy smoke, it's Saturday man ! Most of us are probably trying to recover from the work week, give us a chance :))) Luc P. The question in the second paragraph depends on the belief that someone could engage in pointless refactoring. There is an implied assertion that clojure's design provides more opportunities for someone to engage in pointless refactoring. Disproving that someone could engage in pointless activity would miss the point of the question. So, providing an example for that would possibly lead to more confusion. If the implied asssertion about clojure's design were taken to further imply that the design is flawed in those cases, this would also be missing the point of the question. If cases in which clojure's design were flawed were not invented for the purpose of pursuing this questioning. Without criticism of clojure's design, specifics about how clojure could be used in a multitude of ways to solve a problem, could be described by way of example. But, that would also miss the point of the question. So, if the image of someone engaging in pointless refactoring reminds you of an experience that you have had, and if you can use that as the model for a general case, how would you suggest preventing the general case from being made actual, in the future? Kendall On 10/19/2013 12:35 AM, Laurent PETIT wrote: Can you give a concrete example? Le samedi 19 octobre 2013, Kendall Shaw a écrit : With clojure in particular, I am having trouble not rearranging my code to be what I think is more optimal in ways that seem probably not practical. I've noticed myself doing that when I'm newish to languages and apis. But, I go bonkers with clojure. Do you have any thoughts about how to avoid that, other than Bob Newhart's advice: Bob Newhart-Stop It http://www.youtube.com/watch?v=Ow0lr63y4Mw Kendall -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- ThisIsHardToRead, asIsThis. This_is_easier, unless_it_is_underlined. This.is.easy. This-is-easy-too. Almost as easy to read as this. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Softaddictslprefonta...@softaddicts.ca sent by ibisMail from my ipad! -- ThisIsHardToRead, asIsThis. This_is_easier, unless_it_is_underlined. This.is.easy. This-is-easy-too. Almost as easy to read as this. -- -- 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: Compulsive over-optimization
Kendall, Refactoring is valuable especially when starting out, so that you can learn how to represent patterns well in Clojure, imo. On Sun, Oct 20, 2013 at 10:59 AM, Kendall Shaw ks...@kendallshaw.comwrote: I might have come off as obnoxious. So, sorry about that. Now that I think about it some more, the question probably doesn't have a procedure to suggest as an answer. It's in the same class as like how do I start or how can I stop asking so many questions. Kendall On 10/19/2013 03:05 PM, Softaddicts wrote: I read your post three times and now I need to get a couple of fuses replaced :) Holy smoke, it's Saturday man ! Most of us are probably trying to recover from the work week, give us a chance :))) Luc P. The question in the second paragraph depends on the belief that someone could engage in pointless refactoring. There is an implied assertion that clojure's design provides more opportunities for someone to engage in pointless refactoring. Disproving that someone could engage in pointless activity would miss the point of the question. So, providing an example for that would possibly lead to more confusion. If the implied asssertion about clojure's design were taken to further imply that the design is flawed in those cases, this would also be missing the point of the question. If cases in which clojure's design were flawed were not invented for the purpose of pursuing this questioning. Without criticism of clojure's design, specifics about how clojure could be used in a multitude of ways to solve a problem, could be described by way of example. But, that would also miss the point of the question. So, if the image of someone engaging in pointless refactoring reminds you of an experience that you have had, and if you can use that as the model for a general case, how would you suggest preventing the general case from being made actual, in the future? Kendall On 10/19/2013 12:35 AM, Laurent PETIT wrote: Can you give a concrete example? Le samedi 19 octobre 2013, Kendall Shaw a écrit : With clojure in particular, I am having trouble not rearranging my code to be what I think is more optimal in ways that seem probably not practical. I've noticed myself doing that when I'm newish to languages and apis. But, I go bonkers with clojure. Do you have any thoughts about how to avoid that, other than Bob Newhart's advice: Bob Newhart-Stop It http://www.youtube.com/watch?**v=Ow0lr63y4Mwhttp://www.youtube.com/watch?v=Ow0lr63y4Mw Kendall -- -- 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 unsubscribe from this group, send email to clojure+unsubscribe@**googlegroups.comclojure%2bunsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/**group/clojure?hl=enhttp://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscribe@**googlegroups.comclojure%2bunsubscr...@googlegroups.com . For more options, visit https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out . -- -- 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 unsubscribe from this group, send email to clojure+unsubscribe@**googlegroups.comclojure%2bunsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/**group/clojure?hl=enhttp://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscribe@**googlegroups.comclojure%2bunsubscr...@googlegroups.com . For more options, visit https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out . -- ThisIsHardToRead, asIsThis. This_is_easier, unless_it_is_underlined. This.is.easy. This-is-easy-too. Almost as easy to read as this. -- -- 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 unsubscribe from this group, send email to clojure+unsubscribe@**googlegroups.comclojure%2bunsubscr...@googlegroups.com For more options, visit this group at
Re: load-file namespace
Thanks, Juan. I saw that it was a compile time error after I sent out the email, so I tried to run it through eval, and even this works. But, resolve looks more idiomatic. Also, I'll have to figure out how to get the namespace of the loaded file next. (eval (read-string (str (do (load-file \ (first args) \) (hello/someconst)) Thanks, ramesh On Sun, Oct 20, 2013 at 1:22 AM, juan.facorro juan.faco...@gmail.comwrote: Hi Ramesh, Based on the stack-trace, the error is thrown during compile-time. This means the compiler is having a hard time compiling test1/core.clj because it doesn't know of any hello namespace. This makes sense since no hello namespace has been referred to in the test1.core namespace (i.e. the file being compiled). Note that the call to ns-publics works because you are actually using the quoted symbol hello which the compiler doesn't have to resolve. In order to get the value of the vars in hello at runtime (after loading the file) you can use the resolve or the intern functions, which return the var (not the value) from the given namespace, so you have to dereference it: (println (- 'hello/someconst resolve deref)) Also, if the hello.clj file is in the src dir, you should run: lein run src/hello.clj Which show this output: #Namespace hello {-main #'test1.core/-main} {someconst #'hello/someconst} #hello$someconst hello$someconst@cdc69b HTH, Juan On Sunday, October 20, 2013 11:49:27 AM UTC+8, Ramesh Thulasiram wrote: Hi All, I'm calling load-file to load a user-specified file inside -main. And, the loaded file has its own namespace, and I'm able to see that using (ns-publics) as well. However, when I try to call a function inside the loaded file, from -main, I'm getting a no such namespace exception. ;; Lein project test1;File : src/test1/core.clj(ns test1.core (:gen-class))(defn -main [ args] (load-file (first args)) (println (ns-publics 'test1.core)) (println (ns-publics 'hello)) (println (hello/someconst))) ;File : hello.clj(ns hello)(println *ns*)(defn someconst [] 25); run as : ; lein run hello.clj(comment error Exception in thread main java.lang.RuntimeException: No such namespace: hello, compiling:(test1/core.clj:9:12**)at clojure.lang.Compiler.analyze(**Compiler.java:6380) at clojure.lang.Compiler.analyze(**Compiler.java:6322) at clojure.lang.Compiler$**InvokeExpr.parse(Compiler.java**:3573) at clojure.lang.Compiler.**analyzeSeq(Compiler.java:6562) at clojure.lang.Compiler.analyze(**Compiler.java:6361) at clojure.lang.Compiler.analyze(**Compiler.java:6322) at clojure.lang.Compiler$**InvokeExpr.parse(Compiler.java**:3624) at clojure.lang.Compiler.**analyzeSeq(Compiler.java:6562) at clojure.lang.Compiler.analyze(**Compiler.java:6361) at clojure.lang.Compiler.analyze(**Compiler.java:6322) at clojure.lang.Compiler$**BodyExpr$Parser.parse(Compiler**.java:5708) at clojure.lang.Compiler$**FnMethod.parse(Compiler.java:**5139) at clojure.lang.Compiler$FnExpr.**parse(Compiler.java:3751) at clojure.lang.Compiler.**analyzeSeq(Compiler.java:6558) at clojure.lang.Compiler.analyze(**Compiler.java:6361) at clojure.lang.Compiler.**analyzeSeq(Compiler.java:6548) at clojure.lang.Compiler.analyze(**Compiler.java:6361) at clojure.lang.Compiler.access$**100(Compiler.java:37) at clojure.lang.Compiler$DefExpr$**Parser.parse(Compiler.java:529**)at clojure.lang.Compiler.**analyzeSeq(Compiler.java:6560) at clojure.lang.Compiler.analyze(**Compiler.java:6361) at clojure.lang.Compiler.analyze(**Compiler.java:6322) at clojure.lang.Compiler.eval(Com**piler.java:6623) at clojure.lang.Compiler.load(Com**piler.java:7064) at clojure.lang.RT.**loadResourceScript(RT.java:370**) at clojure.lang.RT.**loadResourceScript(RT.java:361**) at clojure.lang.RT.load(RT.java:**440) at clojure.lang.RT.load(RT.java:**411) at clojure.core$load$fn__5018.**invoke(core.clj:5530) at clojure.core$load.doInvoke(cor**e.clj:5529) at clojure.lang.RestFn.invoke(Res**tFn.java:408)at clojure.core$load_one.invoke(c**ore.clj:5336)at clojure.core$load_lib$fn__**4967.invoke(core.clj:5375) at clojure.core$load_lib.doInvoke**(core.clj:5374) at clojure.lang.RestFn.applyTo(Re**stFn.java:142) at clojure.core$apply.invoke(core**.clj:619)at clojure.core$load_libs.**doInvoke(core.clj:5413) at clojure.lang.RestFn.applyTo(Re**stFn.java:137) at clojure.core$apply.invoke(core**.clj:619)at clojure.core$require.doInvoke(**core.clj:5496) at clojure.lang.RestFn.invoke(Res**tFn.java:408)at user$eval3.invoke(NO_SOURCE_**FILE:1)at clojure.lang.Compiler.eval(Com**piler.java:6619) at clojure.lang.Compiler.eval(Com**piler.java:6608) at clojure.lang.Compiler.eval(Com**piler.java:6582) at clojure.core$eval.invoke(core.**clj:2852)at
blog article on RSpec like TDD with a rapid feedback cycle in Clojure
I noticed that some struggle finding a good TDD workflow, in Clojure, with a rapid feedback cycle because of the JVM startup time. Especially the people comming from RSpec. So I wrote down my workflow, that is based on speclj, which supports auotesting and the typical describe it should way of describing things. When using the autotesting feature, it keeps a JVM running, this way test run with only milliseconds of overhead. http://velrok.github.io/blog/2013/10/20/test-driven-development-tdd-with-clojure/ All the best, Waldemar -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: blog article on RSpec like TDD with a rapid feedback cycle in Clojure
Note you can do the same thing in midje : https://github.com/marick/Midje/wiki/Auto test - it works quite nicely. On 20 Oct 2013 21:04, Waldemar waldemar.sch...@googlemail.com wrote: I noticed that some struggle finding a good TDD workflow, in Clojurehttps://plus.google.com/s/%23Clojure, with a rapid feedback cycle because of the JVM startup time. Especially the people comming from RSpec. So I wrote down my workflow, that is based on speclj, which supports auotesting and the typical describe it should way of describing things. When using the autotesting feature, it keeps a JVM running, this way test run with only milliseconds of overhead. http://velrok.github.io/blog/2013/10/20/test-driven-development-tdd-with-clojure/ All the best, Waldemar -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: blog article on RSpec like TDD with a rapid feedback cycle in Clojure
I suspected as much. Thanks for the link. I did put it in as a comment. Best regards, Waldemar Am 20.10.2013 um 22:24 schrieb Korny Sietsma ko...@sietsma.com: Note you can do the same thing in midje : https://github.com/marick/Midje/wiki/Auto test - it works quite nicely. On 20 Oct 2013 21:04, Waldemar waldemar.sch...@googlemail.com wrote: I noticed that some struggle finding a good TDD workflow, in Clojure, with a rapid feedback cycle because of the JVM startup time. Especially the people comming from RSpec. So I wrote down my workflow, that is based on speclj, which supports auotesting and the typical describe it should way of describing things. When using the autotesting feature, it keeps a JVM running, this way test run with only milliseconds of overhead. http://velrok.github.io/blog/2013/10/20/test-driven-development-tdd-with-clojure/ All the best, Waldemar -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: blog article on RSpec like TDD with a rapid feedback cycle in Clojure
expectations has the same thing as well: https://github.com/jakemcc/lein-autoexpect I think midje, speclj, and expectations all have emacs modes as well - which completely eliminate the JVM start up issue. On Sun, Oct 20, 2013 at 4:36 PM, Waldemar waldemar.sch...@googlemail.com wrote: I suspected as much. Thanks for the link. I did put it in as a comment. Best regards, Waldemar Am 20.10.2013 um 22:24 schrieb Korny Sietsma ko...@sietsma.com: Note you can do the same thing in midje : https://github.com/marick/Midje/wiki/Auto test - it works quite nicely. On 20 Oct 2013 21:04, Waldemar waldemar.sch...@googlemail.com wrote: I noticed that some struggle finding a good TDD workflow, in Clojure, with a rapid feedback cycle because of the JVM startup time. Especially the people comming from RSpec. So I wrote down my workflow, that is based on speclj, which supports auotesting and the typical describe it should way of describing things. When using the autotesting feature, it keeps a JVM running, this way test run with only milliseconds of overhead. http://velrok.github.io/blog/2013/10/20/test-driven-development-tdd-with-clojure/ All the best, Waldemar -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [ANN] JUST CREATED GOOGLE + CLOJURE COMMUNITY FOR TUNISIA
Thank you guys, The challenge here is to manage to get the young to engage in open source projects, That's what I am going to work on in the next period... Hope it'll work ! Le samedi 19 octobre 2013 12:10:07 UTC+1, Rafik NACCACHE a écrit : Dear All, It is my pleasure to announce that we just created a Tunisial Local HUB for Clojure advocacy, teaching and technical exchange : https://plus.google.com/u/1/communities/106805143209555111634 Awareness about clojure in Tunisia is quite low, though this is a country that accounts for a significant number of talented software engineers. S, I think it would be a nice idea to advocate for the language here, I mean talent is present and just waits to be converted :) I would be grateful if you can join this little effort of mine to assist us and make our community look good, and who knows, we could be a good starting point for a wider and more global clojure user base :) Thank you all, Regards -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [ANN] Jig
Also, is there a Google Group for Jig? I'm playing around with it, can see the potential, and already have some questions. Anyways, in the meantime, I'll keep digging. I'm finding jig really useful so far. *A)* As taken from the example, I'm using the Jetty :server componenthttps://github.com/juxt/jig/blob/master/config/config.clj#L6. I'm trying to figure out how to pass in my Compojure route handlerhttps://github.com/weavejester/compojure-example/blob/master/src/compojure/example/routes.clj (also seehttp://weavejester.github.io/compojure/compojure.handler.html#var-site) to jetty. This is how its done manuallyhttps://github.com/ring-clojure/ring/wiki/Interactive-Development#iii-manually. But obviously, I need to fit that into the jig framework. :server {:jig/component jig.web.server/Component ;; how do I pass in my Compojure route handler ? :io.pedestal.service.http/port 8000 :io.pedestal.service.http/type :jetty } *B)* Same thing with Pedestal. I want to be able to pass in my app's routing table. But I don't quite grok how to do that, from the examples ( here https://github.com/juxt/jig/blob/master/config/config.clj#L28 and here https://github.com/juxt/jig/blob/master/src/jig/web/app.clj). :juxtweb/web {:jig/component jig.web.app/Component;; how do I pass in my routing table of handlers ? :jig/dependencies [:server] :jig/scheme :http :jig/hostname localhost :jig.web/server :server } Thanks Tim Washington Interruptsoftware.ca / Bkeeping.com On Thu, Oct 17, 2013 at 7:30 PM, zcaudate z...@caudate.me wrote: Would it be possible to put up a video of a typical workflow example with pedestal. It's quite difficult for me to piece everything together just by reading the documentation. Chris -- -- 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 unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.