2010-12-31
| 00:20 | amalloy | Berengal: hey, are you on the xkcd forums? i don't read them often, but i happened across a Berengal just now recommending shell scripting |
| 00:21 | Berengal | amalloy: Yeah, that's me |
| 00:21 | tanuki | Should I get "Clojure in Action" or "The Joy of Clojure"? |
| 00:27 | amalloy | tanuki: depends what you want, i'm sure. i don't know who wrote CiA, but if you get JoC you can hassle the author in #clojure |
| 00:28 | tanuki | They cancelled "F# in Action", so I'm considering getting a Clojure book instead |
| 00:28 | tanuki | (I like Lisp syntax more than ML syntax anyway) |
| 00:33 | technomancy | get the Joy of Clojure |
| 00:35 | tanuki | which is why I leaned toward F# at first |
| 00:37 | qbg | Getting closer towards a release of my syntax-rules lib |
| 00:42 | qbg | Parsing the macro usage is easy; putting together the expansion is hard |
| 00:43 | Clinteger | f#'s syntax confuses me so much |
| 00:44 | tanuki | It's not nearly as elegant as Lisp, but it's not horrible |
| 00:44 | tanuki | it's just kinda goofy at first |
| 02:12 | LauJensen | Morning :) |
| 02:25 | scottj | In case anyone's interested, Arc has this interesting (and poorly documented) feature called ssyntax, which I think stands for symbol syntax. |
| 02:28 | scottj | it allows things like (inc:dec 1) => ((comp inc dec) 1), (str a!name b!name) => (str (:name a) (:name b)), ~a => (complement a), (a.b c) => ((partial a b) c), (a&b c) => (and (a c) (b c)) |
| 02:33 | LauJensen | That looks really nice |
| 02:43 | scottj | it could probably be used for evil ($pr:+.10:filter.<20?&~even?.l1!l2) :) |
| 03:41 | Derander | scottj: call it a new language: "nospace" |
| 04:20 | LauJensen | Derander: only "J" gets that title |
| 05:10 | ejackson | Good Morning #clojure, and goodbye 2010 ! |
| 05:38 | LauJensen | ejackson: Goodbye!! :) |
| 05:39 | ejackson | LauJensen: you're changing you're name to 2010 ? Its a bit radical :) |
| 06:38 | fliebel | morning |
| 06:45 | ejackson | morning fliebel |
| 07:08 | maacl | LauJensen: In moustache is there a way of getting at the querystring ? |
| 07:11 | raek | maacl: accessing the query params is usually done by http://clojuredocs.org/ring/ring.middleware.params/wrap-params |
| 07:12 | raek | moustache only does four things: wrap handlers, dispatch on HTTP request URI, dispatch on HTTP method and render plain text |
| 07:14 | maacl | raek: OK, but how would I combine the two? moustache dispatch + get at the querystring when I handle the request? |
| 07:15 | raek | (app wrap-params ["foo"] {:get get-foo-handler} ["bar"] {:post post-bar-handler}) |
| 07:16 | raek | (defn get-foo-handler [{:keys [params], :as request}] ...) |
| 07:16 | raek | maacl: did you want to select the handler by looking at a query parameter? |
| 07:18 | maacl | raek: yeah that was the idea |
| 07:18 | raek | moustache cannot do that, but you can very easily implement that yourself |
| 07:20 | maacl | raek: yes, thanks |
| 07:20 | raek | (defn dispatch-on-param [param handlers] (fn [{:keys [params], :as request}] (let [value (get params param), handler (get handlers value)] (handler request)))) |
| 07:21 | raek | maacl: this is my idea of what it could look like |
| 07:21 | raek | calling (dispatch-on-param "foo" {"a" handler-a, "b" handler-b}) will return a handler that delegates everything to one of the given handlers |
| 07:22 | raek | (app wrap-params ["foo"] {:get (dispatch-on-param "foo" {"a" handler-a, "b" handler-b})}) |
| 07:23 | maacl | raek: yeah, looks elegant - would work after having dispatched on request and method, right? |
| 07:25 | raek | yes, you can plug it in at any place the moustache syntax labels as "(some clojure code)": http://moustache.cgrand.net/syntax.html |
| 07:28 | fliebel | If I wanted to do some sort of message queue, what would I use? Lamina looks real nice, but I need something that works transparently over a network. Could I do this with Aleph, or would it be better to use a project with a name that ends in 'mq'? Lamina over *mq would be nice... |
| 07:28 | kumarshantanu | fliebel: consider using HornetQ -- it's based on Netty and exposes HTTP interface |
| 07:29 | fliebel | kumarshantanu: Thanks, will check it out. |
| 07:31 | ejackson | fliebel: I'd suggest RabbitMQ if you're being serious, and Redis (no really) if its just a toy. |
| 07:31 | ejackson | fliebel: with redis you can have something up in 10 minutes :) |
| 07:33 | fliebel | ejackson: Are you saying RabbitMQ is hard? |
| 07:33 | ejackson | fliebel: not at all, its harder than redis is all :) |
| 07:34 | ejackson | rabbitmq has exchanges and queues and stuff to wrap your head around. They have a product that can survive powerdowns and other bad stuff, so neccessarily is more complex. |
| 07:35 | ejackson | redis will give you a pubsub channel in no time but isn't going to be as robust, and I'm not sure how it handles multiple readers of a channel etc. |
| 07:35 | ejackson | check out : http://simonwillison.net/static/2010/redis-tutorial/ |
| 07:36 | fliebel | ejackson: I don't know if I need al that. What I want to do is write a little game using a message system, and use the same system later for multiplayer, either local or over a network. |
| 07:38 | ejackson | redis might work for that. at any rate, its so easy to get going that you'll lose very little finding out. |
| 07:38 | ejackson | if you discover you need some clever handling of the queues, then upgrade to a proper messaging system |
| 07:40 | fliebel | ejackson: Thanks, I'll take a look at that as well. |
| 07:40 | ejackson | lemme know how you get on :) |
| 07:40 | fliebel | ejackson: I'm just in the gathering-ideas mode, so it'll brobably be a while. |
| 07:57 | bmh | What is the third argument to state-m-until? |
| 08:01 | fliebel | bmh: You could have told me it's in clojure.contrib.monads ;) |
| 08:01 | bmh | fliebel: sorry |
| 08:02 | fliebel | bmh: I don't know, but see for yourself: https://github.com/richhickey/clojure-contrib/blob/master/src/main/clojure/clojure/contrib/monads.clj#L401 |
| 08:03 | bmh | ah-ha. I missed the state argument at the bottom (fn [s] ... ) |
| 09:51 | duck1123 | so does anyone know what I should be using for contexts in lazytest 2 now? I'd really like to find something similar to rspec's before(:each) but can't see how to do that. |
| 09:52 | duck1123 | If I had a var to hook onto, something like add-hook would do well for me. (that way I could wrap my bindings) |
| 10:23 | _na_ka_na_ | hellos, is there a way to change 'binding in all threads in this context' kinda thing? w/o doing alter-var-root |
| 10:24 | @rhickey | http://news.ycombinator.net/item?id=2054230 |
| 10:27 | fliebel | rhickey: I looked as hard as I can at clojure.lang.Atom, but I still don't see why swap uses state.compareAndSet. I also came up with another alternative for the interface: Add a constructor that takes a AtomicReference. People can subclass that to customize atom in that case. |
| 10:27 | @rhickey | fliebel: I thought the question was why can't it be isA AtomicReference? |
| 10:28 | fliebel | rhickey: I asked to many in one go, I guess. I figured that one out I think. |
| 10:29 | @rhickey | fliebel: I think not as it applies to your suggestion right now - subclassing AtomicReference is futile as everything is final |
| 10:29 | Raynes | Intense. I've never heard such emotion rhickey before. I like it. |
| 10:33 | fliebel | rhickey: Atom is final, but AtomicReference doesn't seem to be. Or is that my mistake? |
| 10:34 | @rhickey | http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/atomic/AtomicReference.html |
| 10:34 | @rhickey | fliebel: look - all the interesting methods are final |
| 10:35 | fliebel | rhickey: I… need to refresh my Java. I didn't know *methods* could be final. Thanks for clearing that up. Back to the drawing board. |
| 10:37 | fliebel | rhickey: That leaves me with the swap question, why does it use state.compareAndSet? https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Atom.java#L81 |
| 10:39 | fliebel | It seems Atom.compareAndSet would work, and handles validating and notifying just the same. |
| 10:40 | @rhickey | fliebel: it could, probably due to order of implementaiton |
| 10:42 | fliebel | rhickey: Splendid! Now, that means I can supposedly implement swap in Clojure and drop it of the interface. Objections? |
| 10:43 | @rhickey | fliebel: yes |
| 10:45 | fliebel | oh |
| 10:46 | @rhickey | why? |
| 10:46 | clojurebot | http://clojure.org/rationale |
| 10:46 | @rhickey | aargh |
| 10:47 | nickik | rhickey: I looked at dylen a bit and i think the multimethodes are pretty cool there too. Have you thougt about implementing something like dispatch on values? http://99-bottles-of-beer.net/language-dylan-225.html |
| 10:48 | @rhickey | nickik: yes, CL has dispatch on values |
| 10:48 | nickik | something like a standard dispatch function that works like dylans |
| 10:48 | @rhickey | fliebel: I don't want to preclude implementations of Atom that use locks |
| 10:48 | @rhickey | nickik: not interested |
| 10:49 | @rhickey | nickik: been there, done that |
| 10:50 | @rhickey | if you always want values, you can use identity as a dispatch function |
| 10:50 | @rhickey | mixing values and dispatch fn means double lookup |
| 10:51 | fliebel | rhickey: That… Is… a good point. So much to learn still… Thanks. :) |
| 10:52 | nickik | rhickey: ah ok so its for speed reasons or are there other objectives? |
| 10:52 | @rhickey | fliebel: you can interface-ize the stuff the Clojure code uses, but new interfaces that change the shape of things require design time - not a priority now |
| 10:53 | @rhickey | nickik: speed and simplicity |
| 10:53 | fliebel | rhickey: I understand. |
| 10:53 | nickik | rhickey: ok thanks I wounderd about that for a while. |
| 11:00 | _na_ka_na_ | rhickey: In my tests I keep wanting a cousin of binding which binds across threads... is there a way out w/o using alter-var-root ? |
| 11:01 | @rhickey | _na_ka_na_: what does it mean to bind across threads? |
| 11:09 | _na_ka_na_ | rhickey: I mean a construct like (binding-across-threads [a 10] @(future (prn a)) works .. |
| 11:10 | _na_ka_na_ | but binding-across-threads can be spawned many times concurrently w/o affecting each other |
| 11:10 | _na_ka_na_ | I don't know how to achieve that though |
| 11:11 | @rhickey | ,(clojure-version) |
| 11:11 | clojurebot | "1.2.0" |
| 11:11 | _na_ka_na_ | (map deref (map #(future (binding [a %] @(future (prn a)))) (range 2))) |
| 11:12 | @rhickey | _na_ka_na_: regular binding does that now in master |
| 11:12 | _na_ka_na_ | oh, that's awesome! I'll take a look |
| 11:13 | _na_ka_na_ | how about creating a bot which runs 1.3-master on IRC ?! |
| 11:15 | _na_ka_na_ | ,(try (finally (doseq [_ [1 2]]))) |
| 11:15 | clojurebot | _na_ka_na_: I don't understand. |
| 11:15 | Bronsa_ | lol |
| 11:16 | _na_ka_na_ | @(try (finally (doseq [_ [1 2]]))) |
| 11:16 | _na_ka_na_ | I forgot how to run the Rayne's bot |
| 11:17 | _na_ka_na_ | rhickey: I don't have a CA can I still submit a bug on jira? |
| 11:17 | edoloughlin | Does if-let treat nil as true? My code at https://gist.github.com/761119 isn't behaving as expected. |
| 11:17 | tonyl | &(try (finally (doseq [_ [1 2]]))) |
| 11:17 | sexpbot | java.lang.UnsupportedOperationException: Cannot recur from catch/finally |
| 11:18 | _na_ka_na_ | ah yes thx tonyl |
| 11:18 | tonyl | doseq uses loop/recur |
| 11:18 | _na_ka_na_ | , (if-let [a nil] 1 2) |
| 11:18 | clojurebot | 2 |
| 11:18 | @rhickey | _na_ka_na_: yes, but not a patch without a CA |
| 11:19 | _na_ka_na_ | edoloughlin, are you sure your expression in if-let returns nil? |
| 11:19 | _na_ka_na_ | try inserting a trace |
| 11:20 | edoloughlin | _na_ka_na_ - yes. I'm using the (dbg) macro and also eval'ing it in the REPL |
| 11:21 | edoloughlin | My actual code returns the binding-form, which is set to nil |
| 11:24 | pdk | (doc dbg) |
| 11:24 | clojurebot | Huh? |
| 11:24 | cemerick | _na_ka_na_: no, you don't need a CA to submit a bug report. |
| 11:27 | edoloughlin | _na_ka_na_ - seems I'm suffering from blame-the-compiler syndrome. As soon as I share the problem I spot the cause. Thanks. |
| 11:35 | r2q2 | hi |
| 12:10 | mduerksen | do i understand this correctly: protocols always establish a type-based dispatch, so i can't implement different methods for different keywords (inside the same method, i could of course still distinguish with a cond). right? |
| 12:11 | qbg | Right |
| 12:12 | nickik | they methodes dispatch on the first argument |
| 12:12 | mduerksen | ok, thanks |
| 12:15 | r2q2 | Is there any code checked in for the clojure to clojure compiler? |
| 12:16 | nickik | there is alread a clojure in clojure compiler but not an offical one |
| 12:16 | r2q2 | Where is that |
| 12:16 | nickik | i cant find it anymore |
| 12:16 | nickik | somewhere on github |
| 12:17 | r2q2 | ok |
| 12:19 | nickik | its kind of hard to find we talked about it in here maybe you find something there |
| 12:21 | qbg | It was also announced on the group |
| 12:22 | r2q2 | Oh i found it |
| 12:23 | r2q2 | https://github.com/jarpiain/cljc for further refrence |
| 12:51 | TheLolrus | Hi. I'm a python programmer interested in clojure. Should I learn Java before learning Clojure? |
| 12:51 | dakrone | TheLolrus: it's not required at all |
| 12:53 | TheLolrus | OK. Would I be recommended to learn emacs? :P |
| 12:54 | headlessClown | A familiarity with the java virtual machine and classpaths isn't a bad idea but not necessarily java the language. |
| 12:54 | dnolen | TheLolrus: or NetBeans, or Textmate, or Vim, or Eclipse, or IntelliJ |
| 12:54 | headlessClown | lots and lots of clojure devs use emacs but there are other ways |
| 12:54 | clojurebot | clojure is making your sexp smile |
| 12:55 | Bronsa | Alol |
| 12:55 | TheLolrus | hmm if only there was a scribes plugin. |
| 12:55 | dnolen | TheLolrus: if you're not afraid of ruby, the cake project management tool you can pretty much use a regular text editor if you want. |
| 12:55 | headlessClown | Me personally, i tried vimclojure and the netbeans plugin before trying to learn emacs/slime/leiningen |
| 12:56 | headlessClown | And I'm sticking with emacs |
| 12:56 | TheLolrus | mkay. Would you guys recommend any tutorials besides the reference guide? A book perhaps? |
| 12:57 | TheLolrus | By the way the reason I don't want to learn emacs is I'm an impatient 13 year old. :P |
| 12:57 | qbg | TheLolrus: That is a good reason to learn emacs :) |
| 12:57 | TheLolrus | heh |
| 12:57 | headlessClown | Just start using emacs for any ole text editing |
| 12:58 | TheLolrus | I mean impatient to learn all the keyboard commands and get used to it |
| 12:58 | tonyl | TheLolrus, you can use any text editor |
| 12:58 | qbg | There aren't that many for basic use |
| 12:59 | headlessClown | I'm double your age, kid, and I picked up emacs (basic command set) this last summer :p |
| 13:00 | TheLolrus | Maybe next summer when I have freedom :D |
| 13:01 | TheLolrus | So are there any good clojure books or introductions? That explain it in detail. Then I can dive into the reference guide. |
| 13:01 | dnolen | TheLolrus: have you done much functional programming before? |
| 13:02 | headlessClown | There are couple on the book shelf and a couple that are releasing soon. |
| 13:02 | TheLolrus | well. Python has functions. I have tried C a few times but never got far in it. xP |
| 13:02 | TheLolrus | so not much. |
| 13:02 | qbg | Functional programming is more than just functions |
| 13:03 | TheLolrus | I thought so |
| 13:03 | TheLolrus | so no, then. |
| 13:03 | qbg | ,(map inc [1 2 3]) |
| 13:03 | clojurebot | (2 3 4) |
| 13:03 | TheLolrus | nope. :P |
| 13:04 | dnolen | TheLolrus: well Joy of Clojure is really good, but it assumes some experience w/ functional programming (FP) |
| 13:04 | qbg | Programming Clojure is nice also |
| 13:04 | dnolen | Stuart Halloway's book Programming Clojure is not a bad place to start, though perhaps getting long in the tooth now. |
| 13:04 | trptcolin_ | TheLolrus: you might also take a look at http://learn-clojure.com/ |
| 13:04 | qbg | A lot of it still applies |
| 13:04 | headlessClown | Has Joy of Clojure shipped yet? |
| 13:05 | headlessClown | ie the MEAP edition |
| 13:05 | r2q2 | Maybe? http://www.amazon.com/Joy-Clojure-Thinking-Way/dp/1935182641/ref=sr_1_1?ie=UTF8&s=books&qid=1293818813&sr=8-1 |
| 13:06 | qbg | It says Jan 28, 2011 |
| 13:07 | headlessClown | ahhh |
| 13:07 | qbg | That bestsellers rank is far too low... |
| 13:08 | TheLolrus | how about http://www.youtube.com/user/briantwill#g/c/AC43CFB134E85266 |
| 13:08 | currentB | simple question: what is the best way to generate a list filled with a given number of other lists, should i use for? |
| 13:08 | qbg | currentB: example? |
| 13:09 | qbg | ,(repeat 5 [1 2 3]) |
| 13:09 | clojurebot | ([1 2 3] [1 2 3] [1 2 3] [1 2 3] [1 2 3]) |
| 13:09 | qbg | ? |
| 13:09 | r2q2 | Aren't richhickeys webcasts still relevant |
| 13:09 | qbg | r2q2: They should largely still be |
| 13:09 | r2q2 | TheLolrus: You should probably watch those |
| 13:09 | qbg | The syntax has changed since the older ones, but not much |
| 13:10 | currentB | yup repeat is perfect (sometimes i get hung up on which simple fn i'm looking for) thanks! |
| 13:11 | TheLolrus | I'm thinking those videos, then http://en.wikibooks.org/wiki/Clojure_Programming/Concepts , then http://java.ociweb.com/mark/clojure/article.html |
| 13:12 | mids | TheLolrus: sounds like a good start |
| 13:19 | mids | I just bought The Joy of Clojure e-book... the PragProg order process is so much nices than Manning :( |
| 13:30 | qbg | I reimplemented condp using my syntax-rules lib: https://github.com/qbg/syntax-rules/raw/master/src/qbg/syntax_rules/examples.clj (see ex-condp at the bottom) |
| 13:30 | qbg | I need a more powerful templating language eventually... |
| 13:31 | qbg | The syntax is simple, the template is hard... |
| 13:32 | Raynes | qbg: Why did you give the raw link? :o |
| 13:32 | Raynes | https://github.com/qbg/syntax-rules/blob/master/src/qbg/syntax_rules/examples.clj is prettier |
| 13:32 | Raynes | In any case, that is pretty awesome. |
| 13:34 | qbg | I'd try to reimplement for if I only understood how it works... |
| 13:35 | Raynes | for is insanity. |
| 13:35 | qbg | 95+% of the work would be in the template anyways... |
| 13:35 | qbg | Probably not worth it. |
| 13:35 | Raynes | It's probably the one thing I'm having the most trouble explaining in my book. I've mostly left it as a placeholder until it comes to me in a dream or something. |
| 13:36 | Raynes | cemerick: Have you explained it in yours yet? /me will leech inspiration. |
| 13:36 | qbg | For is easy to implement in Scheme |
| 13:36 | qbg | (relatively easy that is) |
| 13:37 | qbg | continuations help a bit |
| 13:40 | qbg | I should make a release in the next few days |
| 14:09 | fliebel | I just noticed someone mentioned https://github.com/jarpiain/cljc in here. *amazed* What is the status of that? |
| 14:26 | pdk | considering it mentions the 1.3 alphas in the readme it's probably pretty recent |
| 14:26 | pdk | 1.3 hasn't gone gold yet |
| 14:49 | cemerick | Raynes: explained what? |
| 14:56 | bhenry | what is non-lazy map? |
| 14:59 | qbg | cemerick: Raynes was talking about for |
| 15:00 | bhenry | i want to do a function with side effects to every item in a seq |
| 15:00 | cemerick | bhenry: (doseq [x some-sequence] (println x)) |
| 15:00 | cemerick | for example |
| 15:01 | bhenry | thanks |
| 15:06 | pdk | do/doseq/dotimes basically exist for side effects |
| 15:08 | cemerick | qbg: yeah, we'll be covering for |
| 15:10 | TheLolrus | what's so good about maven? |
| 15:10 | pdk | the name sounds like mavis beacon |
| 15:10 | pdk | that's what we like with t |
| 15:10 | pdk | it |
| 15:12 | qbg | Maven treats XML like violence |
| 15:13 | TheLolrus | the enclojure site looks epic |
| 15:13 | TheLolrus | I wonder if it's made in clojure :P |
| 15:17 | cemerick | TheLolrus: this is now a bit old and out of date, but should give you some context about why one might use maven: http://cemerick.com/2010/03/25/why-using-maven-for-clojure-builds-is-a-no-brainer/ |
| 15:18 | TheLolrus | mkay |
| 16:03 | amalloy | qbg: syntax rules is intimidating, even with the examples. the simple macros look promisingly simple, but even slightly non-trivial ones like -> are hard to follow. do you have a link to a good intro/tutorial? |
| 19:05 | devn | well, I won't be doing much for the next year |
| 19:08 | qbg | The title of Clojure in Small Pieces makes it sound like it would be like Lisp in Small Pieces, but it is not |
| 19:08 | qbg | (LiSP is a good book by the way) |
| 19:59 | pdk | where do you find clojure in small pieces |
| 19:59 | pdk | also is LiSP worth it if you've read graham's acl |
| 20:13 | Adamant | pdk: yes, it's a implementation of a language system book |
| 20:13 | Adamant | joshua__: agreed |
| 20:14 | pdk | so there's still stuff to learn from it |
| 20:14 | Adamant | joshua__: I've been known to pay for things then immediately use the pirated version due to that being the easiest |
| 20:14 | Adamant | pdk: probably, unless you're already a compiler geek |
| 20:14 | pdk | da f is with the pricing |
| 20:14 | pdk | is this like on lisp |
| 20:14 | Adamant | it's expensive |
| 20:14 | Adamant | they aren't printing more copies, IIRC |
| 20:14 | pdk | where there's a freebie version but a physical copy will cost you your first born |
| 20:14 | Adamant | check to see if they released a e-copy |
| 20:15 | pdk | not on kindle at least |
| 20:15 | Adamant | also look at several bookstores |
| 20:16 | joshua__ | Adamant, I think I'm going to do that actually. |
| 20:17 | joshua__ | The other funny thing is how much is charged for lets say, "Structure And Interpretation of Computer Programs." |
| 20:18 | joshua__ | Charging well over $50 for a book that is free is a bit wacky to me. |
| 20:18 | Adamant | that's a hardback with pretty awesome binding |
| 20:18 | pdk | if you think it's bad take a look at on lisp |
| 20:18 | pdk | graham gives you a free pdf |
| 20:18 | pdk | or you could go $140 for hardcover |
| 20:18 | qbg | You could get LiSP from a good library |
| 20:19 | Adamant | $140 is most of a Kindle or half a NOOKColor |
| 20:19 | Adamant | more than half, actually |
| 20:19 | joshua__ | I suppose that its a good thing that it is all overpriced for the dead tree edition. Less dead trees and all. |
| 20:19 | Adamant | mostly it's due to it not being reprinted |
| 20:19 | Adamant | I expect |
| 21:11 | Derander | Adamant: it's all of a kindle if you go for the wi-fi only version. |
| 21:11 | Adamant | Derander: not surprised |
| 21:11 | Adamant | I wasn't up on current prices :P |
| 21:12 | Derander | :-P |
| 21:53 | auser | is there a non-lazy form of filter? |
| 21:56 | cemerick | auser: doall will force evaluation of any lazy seq |
| 21:56 | auser | that's what I thought... |
| 21:56 | auser | thx |
| 23:24 | duck1123 | What is a good clojure 1.3 replacement for re-partition? |
| 23:33 | joshua__ | duck1123, what do you mean? |
| 23:34 | duck1123 | re-partition was in str-utils, which is no longer in contrib 1.3 |
| 23:34 | duck1123 | so I'm trying to find a good replacement |
| 23:37 | joshua__ | duck1123, I don't know, but the source is at https://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/str_utils.clj#L28 if you can't find an option. |
| 23:38 | duck1123 | I've been going through the dependencies of my application and seeing what it takes to get them all to play nice with 1.3. I'm working on autodoc right now |
| 23:39 | duck1123 | the changes with the string-related libs has been a pain |
| 23:54 | replaca | duck1123: how's it going with autodoc? I haven't turned on 1.3 yet, but I have a new version in the works that should be more multiversion friendly |
| 23:59 | programble | happy new year! |