As a side note, I didn't see anywhere in clojure docs that cyclic
references are forbidden.
And if it is forbidden, the Exception raised by the runtime should
reflect this instead of the odd "No
such var->.." exception

On Jan 24, 10:44 pm, Laurent PETIT <laurent.pe...@gmail.com> wrote:
> Some software principle are certainly above the languages used to
> solve a problem, even probably above programming paradigms (OOP,
> purely functional, etc.).
>
> Java certainly has good parts, and having promoted the role and
> importance of interfaces must certainly be accounted to its credit.
>
> But concerning the problem at hand, I think one could make an easy
> parallelism between callback classes in java and higher order
> functions in functional programming. It's just that's it's sooo easier
> and feels so much natural to do it in clojure ! :-)
>
> I agree with Stuart Halloway's answer, nothing more to add.
>
> I would just like to add that the term "module" has been used at one
> point where at first the debate was on namespaces.
> I'm not quite sure the notion of module I have in mind is really
> possible via the use of namespaces. For example (at least in the way
> I've learned and currently understand the concept of a module) it
> should be possible to load at the same time several "instances" of a
> module in an application, possibly even different versions of the same
> module. (of course to be used by different parts of the application).
> Not so much with namespaces. And I think that it's not their goal as
> well.
>
> But I can understand what the OP wanted to do. Those sort of things
> can be done with java packages, and the java compiler can also very
> easily allow one to make classes depend on each other in a circular
> manner.
> And since clojure and lisp in general is all about allowing the user
> to shoot himself in the foot by bringing the maximum power to him, I
> can understand the complaint. Same can be said concerning
> interdependent functions.
>
> Cheers,
>
> --
> Laurent
>
> 2010/1/24 Heinz N. Gies <he...@licenser.net>:
>
> > On Jan 24, 2010, at 17:12 , Stuart Halloway wrote:
>
> >> If the collaboration is deeply entwined, the two modules should be one 
> >> module. If one module uses another, but with occasional callbacks in the 
> >> other direction, use an interface or a protocol to define the backchannel.
>
> > That sounds horribly Javaish :(, I solved a problem like this by moving out 
> > the parts that A and B needed to C, but  it kind of is sad that since it 
> > feeled so much like Java here especially when it comes to interfaces and 
> > things like that ...
>
> > --
> > 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 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

Reply via email to