Annoying way to start a morning :P. Thanks though for the tip on
htdp.org

This is what I cooked up, but apparently I can't make it use recur. It
works for small sets, but it becomes prohibitively slow
for collections of 6+ sets of letters.

(defn expand
  [sets]
  (if (rrest sets)
    (for [x (first sets) y (expand (rest sets))] (str x y))
    (for [x (first sets) y (second sets)] (str x y))))


On Dec 27, 11:35 pm, "Mark Engelberg" <mark.engelb...@gmail.com>
wrote:
> On Sat, Dec 27, 2008 at 2:18 PM, bOR_ <boris.sch...@gmail.com> wrote:
> > but
> > didn't see an obvious/elegant way to do it in there, and the only way
> > I'd write it now in clojure is going to be ugly.
>
> > Anyone has a suggestion?
>
> This kind of problem is straightforward if you understand recursion,
> and the Clojure code is only a couple of elegant lines.  But I'm
> reluctant to "give it away" because it is worth your time to think
> through this on your own.  My suggestion is that you look at a book
> like How to Design Programs (htdp.org), and work through some of the
> exercises.  Once you do, you'll find problems like this to be trivial.
>  Having a solid grounding in recursion will be very valuable when
> working with Clojure.
--~--~---------~--~----~------------~-------~--~----~
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
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to