On Thu, Jan 1, 2009 at 11:48 PM, Chouser <chou...@gmail.com> wrote:
>
> On Thu, Jan 1, 2009 at 2:47 PM, Rock <rocco.ro...@gmail.com> wrote:
>>
>> Given that there's nothing like letrec in Clojure, and that let acts
>> like let* in CL, I gather that local recursive functions are possible
>> whereas local mutually recursive ones are not. Is that correct? If so,
>> will they ever be in the future?
>
> I assume you meant "are not possible".  I think someone previously
> posted a letrec macro using something he called a "Y* combinator".  I
> don't know what that is, but he said it was slow.
>
> Here's another way.  Nothing about it is pretty, but it is a
> possibility:
>
> (let [my-even-atom (atom nil)
>      my-even? (fn [i] (@my-even-atom i))
>      my-odd? (fn [i]
>                (if (zero? i)
>                  false
>                  (@my-even-atom (dec i))))]
>  (swap! my-even-atom
>         (constantly (fn [i]
>                       (if (zero? i)
>                         true
>                         (my-odd? (dec i))))))
>  (my-odd? 4))

I don't get this listing. You define my-even? but do not use it?

>
> Ick.  But perhaps a macro could make style less terrible to use?
>
> --Chouser
>
> >
>



-- 
Venlig hilsen / Kind regards,
Christian Vest Hansen.

--~--~---------~--~----~------------~-------~--~----~
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