Sean James, yes of course there are times that it is _needed_. Agreed.

I just would never opt for using tools like declare and letfn as the _go to
tool_.  I think of cyclic dependencies as less simple, harder to grok etc.
When you need it, by all means have the power to do so, but when you don't
need it, then no need for adding extra mental weight for code-readers to
have to go through to understand your code.

On Thu, Nov 20, 2014 at 2:41 PM, James Reeves <ja...@booleanknot.com> wrote:

> On 20 November 2014 19:33, Alex Baranosky <alexander.barano...@gmail.com>
> wrote:
>
>> Imo, that makes the let version even better. The Clojure compiler doesn't
>> to allow circular dependencies, so I would consider the letfn behavior as
>> "surprising" and therefore unideal.
>>
>
> It does, via declare. This is often necessary in parsers, as often
> languages have some form of recursive definition (e.g. expressions can be
> nested in expressions).
>
> The letfn macro allows for local mutual recursion and is sometimes
> necessary.
>
> - James
>
> --
> 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/d/optout.
>

-- 
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/d/optout.

Reply via email to