tag:blogger.com,1999:blog-4110180.post3147206522835302050..comments2023-06-20T05:31:24.545-07:00Comments on Tapestry Central: Who Wants The Func? Gotta Have That Func!Anonymoushttp://www.blogger.com/profile/04486596490758986709noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-4110180.post-85733851872484697112010-07-06T01:31:40.520-07:002010-07-06T01:31:40.520-07:00I have a question. Does the F.gt(10) method only w...I have a question. Does the F.gt(10) method only work with Number or it is a generic method that would work on any Comparable and you just mention Number in the example because this is the concrete case. It seems to me that such a method can easily be implemented to return a generic predicate but there may be other considerations (like performance) that made you reduce the functionality to Number.<br /><br />Also I would like to point out that you are incorrectly referring to object orientation as the reason for mutability. There is nothing in the OO school of thought that says you should have mutable objects. OO teaches us how to separate and reuse code and concepts like objects, classes and polymorphism work pretty well in the functional world. The real source of mutability is the imperative approach. OO itself works equally well with imperative and functional programming.Stilgarhttps://www.blogger.com/profile/12728026428525633767noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-57421529322137332742010-06-16T12:18:16.150-07:002010-06-16T12:18:16.150-07:00@Christophe
Back, way, back, before I coded OO I ...@Christophe<br /><br />Back, way, back, before I coded OO I worked in C and PL/1. This predates Java! Even so, I did a lot with void pointers for data encapsulation, and various kinds of look-up-tables to handle what we would call inheritance now. The point was, I was using a limited language in a clumsy way to unknowingly emulate a higher-level language.<br /><br />I've been gradually doing the same thing in Java since about 2003, 2004 and it's only accelerated as I've learned more about FP ... it's given me more of a target to blindly stumble towards.<br /><br />However, Tapestry + Clojure simply doesn't make sense to me ... Tapestry is all about managing state, and Clojure is almost entirely about avoiding state. <br /><br />What I've done with Cascade is to revisit Tapestry's core values within an overall Clojure approach. For example, templates are defined in terms of Clojure syntax (via macros) rather than being external XML files.Anonymoushttps://www.blogger.com/profile/04486596490758986709noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-85216283675503275912010-06-16T11:28:21.989-07:002010-06-16T11:28:21.989-07:00Really interesting, tapestry is getting more and m...Really interesting, tapestry is getting more and more 'functionnal'<br /><br />Just for information (if we don't think about lesser dependencies) , have you already tried to make a bridge between Tapestry and Clojure to handle this kind of 'funtionnal' things.ccordenierhttps://www.blogger.com/profile/03468232832641800205noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-14012119474239636582010-06-10T17:19:36.400-07:002010-06-10T17:19:36.400-07:00what you have is precisely what Google Collections...what you have is precisely what Google Collections does (and i guess op4j). Yet you want to ignore it....<br /><br />you have to agree that it's a little bit un-lazy. but as long as you're happy to keep enhancing tapestry, we can't complain too much. :) :)<br /><br />cheersfernandohttps://www.blogger.com/profile/01944092895069038770noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-69071800460261649682010-06-10T11:04:25.635-07:002010-06-10T11:04:25.635-07:00@Robert:
Yes.
See comment r.e. Op4j.@Robert:<br /><br />Yes.<br /><br />See comment r.e. Op4j.Anonymoushttps://www.blogger.com/profile/04486596490758986709noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-9465264777852125492010-06-10T10:58:00.912-07:002010-06-10T10:58:00.912-07:00Forgive me for asking, but doesn't this duplic...Forgive me for asking, but doesn't this duplicate some of the functionality in Google Collections (especially the Iterables and Functions classes)?Unknownhttps://www.blogger.com/profile/15087349944242488391noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-37525866515515290552010-06-08T16:22:07.756-07:002010-06-08T16:22:07.756-07:00Hi Howard, you might want to fix this: "Side ...Hi Howard, you might want to fix this: "Side effects disappear, because there's no immutable state" :-)Erichttps://www.blogger.com/profile/16484514586929815703noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-75746396325691060642010-06-08T14:28:00.435-07:002010-06-08T14:28:00.435-07:00Op4j looks quite nice ... I'm not sure it'...Op4j looks quite nice ... I'm not sure it's lazy, and I'm trying to reduce the number of outside dependencies for Tapestry. Otherwise, I'd consider it.Anonymoushttps://www.blogger.com/profile/04486596490758986709noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-68465475706156564282010-06-08T14:09:24.068-07:002010-06-08T14:09:24.068-07:00Have you look at op4j (http://www.op4j.org/)? It l...Have you look at op4j (http://www.op4j.org/)? It looks very similar with your approach with a lot of prepared mappers/functionsnandahttps://www.blogger.com/profile/17335206798457235900noreply@blogger.com