On Fri, Oct 5, 2012 at 8:51 AM, nchurch <nchubr...@gmail.com> wrote: > Hmm! Then I must have hit the limit for how many arguments I can put > in an arglist, there in fresh: (i.e. (fresh [~@positions]). I had no > idea there \was a limit. Can't see any way around that at the > moment. I never dreamed I'd try to put > 256 arguments in a > function.... >
It's pretty easy to surmount. Remember fresh is just sugar over let: (fresh [x y] ...) => (let [x (lvar 'x) y (lvar 'y)] ...) You can construct lvars yourself and put them into a sequence and then pull them apart. (let [board (take 255 (make-seq-of-lvars))] (all ... goals ...)) I don't have time to go into all the details but this blog post should give you some more guidance: http://dosync.posterous.com/friendlier-shorter Note that it's quite easy to mix the functional and logical style ;) David -- 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