rwaldhoff 2003/12/03 10:22:11 Modified: functor/xdocs examples.xml download.xml building.xml index.xml functor/xdocs/stylesheets project.xml Added: functor STATUS.txt Log: add STATUS.txt update xdocs Revision Changes Path 1.6 +53 -2 jakarta-commons-sandbox/functor/xdocs/examples.xml Index: examples.xml =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/functor/xdocs/examples.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- examples.xml 26 Nov 2003 01:28:36 -0000 1.5 +++ examples.xml 3 Dec 2003 18:22:10 -0000 1.6 @@ -46,16 +46,67 @@ <p>or</p> <pre>maven -Dtestcase=org.apache.commons.functor.example.TestAll test:single</pre> <p> - Each example is written in something like a literate programming style. - In other words, with descriptive prose mixed right in with the source, as + Each example is has descriptive prose mixed right in with the source, as <code>/* C++ style */</code> comments. </p> + <subsection name="Code Katas"> + <p> + "Pragmatic" Dave Thomas has been + <a href="http://pragprog.com/pragdave/">blogging</a> + a series of programming exercises he calls + <a href="http://pragprog.com/pragdave/Practices/Kata">Code Katas</a>. + These exercises are intended to provide "practice sesssions" that allow + programmers to hone their craft. The notion is borrowed from the + practice of Karate, where, in Dave's words + "a kata is an exercise where you repeat a form many, many times, + making little improvements in each". + </p> + <p> + Here we use several of Dave's Code Katas to explore the + Commons-Functor library. + </p> + <dl> + <dt><a href="http://jakarta.apache.org/commons/sandbox/functor/xref-test/org/apache/commons/functor/example/kata/one/package-summary.html">Kata One: Supermarket Pricing</a></dt> + <dd> + Dave's <a href="http://pragprog.com/pragdave/Practices/Kata/KataOne.rdoc,v">Kata One</a> asks how + one might implement supermarket pricing rules, like "three for a dollar" or "buy two get one free". + By encapsulating tiny bits of logic, functors provide a useful solution to this problem, as + illustrated in the + <a href="http://jakarta.apache.org/commons/sandbox/functor/xref-test/org/apache/commons/functor/example/kata/one/SupermarketPricingExample.html">SupermarketPricingExample</a>. + </dd> + + <dt><a href="http://jakarta.apache.org/commons/sandbox/functor/xref-test/org/apache/commons/functor/example/kata/two/package-summary.html">Kata Two: Binary Chop</a></dt> + <dd> + <a href="http://pragprog.com/pragdave/Practices/Kata/KataTwo.rdoc,v">Kata Two</a> asks us + to create several different implemenations of the binary search algorithm, which once you + get past three or four implemenations, is more difficult that it sounds. + <a href="http://jakarta.apache.org/commons/sandbox/functor/xref-test/org/apache/commons/functor/example/kata/two/TestBinaryChop.html">TestBinaryChop</a> + presents several implementations, with functor and non-functor variations. + </dd> + + + <dt><a href="http://jakarta.apache.org/commons/sandbox/functor/xref-test/org/apache/commons/functor/example/kata/four/package-summary.html">Kata Four: Data Munging</a></dt> + <dd> + <a href="http://pragprog.com/pragdave/Practices/Kata/KataFour.doc,v">Kata Four</a> asks us + to explore extreme reuse. Our + <a href="http://jakarta.apache.org/commons/sandbox/functor/xref-test/org/apache/commons/functor/example/kata/four/DataMunger.html">DataMunger</a> + allows for very small implementations of the + <a href="http://jakarta.apache.org/commons/sandbox/functor/xref-test/org/apache/commons/functor/example/kata/four/TestWeather.html">weather</a> + and + <a href="http://jakarta.apache.org/commons/sandbox/functor/xref-test/org/apache/commons/functor/example/kata/four/TestSoccer.html">soccer (football)</a> + parsers. + </dd> + + </dl> + </subsection> + <subsection name="Generators"> <p> The <a href="xref-test/org/apache/commons/functor/example/lines/package-summary.html">lines</a> package demonstrates a functional approach to IO using Generators and the Algorithms class. </p> </subsection> + <subsection name="Reuse Through Composition"> <p> The Functor package, and more generally, a functional approach 1.4 +1 -1 jakarta-commons-sandbox/functor/xdocs/download.xml Index: download.xml =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/functor/xdocs/download.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- download.xml 5 Mar 2003 00:51:20 -0000 1.3 +++ download.xml 3 Dec 2003 18:22:10 -0000 1.4 @@ -33,12 +33,12 @@ <a href="http://nagoya.apache.org/gump/javadoc/jakarta-commons-sandbox/functor/target/dist/docs/api/">http://nagoya.apache.org/gump/javadoc/jakarta-commons-sandbox/functor/target/dist/docs/api/</a>. </dd> </dl> ---> <p> See <a href="http://cvs.apache.org/builds/gump/latest/commons-functor.html">http://cvs.apache.org/builds/gump/latest/commons-functor.html</a> for the status of the latest <a href="http://jakarta.apache.org/gump">Gump</a> generated build. </p> +--> </section> </body> </document> 1.3 +5 -2 jakarta-commons-sandbox/functor/xdocs/building.xml Index: building.xml =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/functor/xdocs/building.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- building.xml 24 Nov 2003 19:55:45 -0000 1.2 +++ building.xml 3 Dec 2003 18:22:10 -0000 1.3 @@ -11,17 +11,20 @@ <p> To build Commons Functor from scratch, you must first obtain the source, either from - <a href="http://jakarta.apache.org/site/cvsindex.html">the CVS server</a> + <a href="./cvs-usage.html#Anonymous+CVS+Access">the CVS server</a> or from <a href="http://cvs.apache.org/builds/jakarta-commons/nightly/commons-functor/">a source snapshot</a>. </p> <p> Commons Functor can be built using <a href="http://jakarta.apache.org/turbine/maven/">Maven</a> - or <a href="http://ant.apache.org/">Ant</a>. The <a href="http://jakarta.apache.org/gump">Gump</a> + or <a href="http://ant.apache.org/">Ant</a>. + <!-- + The <a href="http://jakarta.apache.org/gump">Gump</a> continuous integration process attempts to build Functor several times a day (against the built-from-scratch versions of all of it's dependencies), and notifies the development team if it does not succeed. You can <a href="http://cvs.apache.org/builds/gump/latest/commons-functor.html">view the status of the latest gump build here</a>. + --> </p> <subsection name="Building with Maven"> <ol> 1.7 +15 -8 jakarta-commons-sandbox/functor/xdocs/index.xml Index: index.xml =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/functor/xdocs/index.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- index.xml 2 Apr 2003 00:07:41 -0000 1.6 +++ index.xml 3 Dec 2003 18:22:10 -0000 1.7 @@ -2,20 +2,16 @@ <document> <properties> <title>Overview</title> - <author email="[EMAIL PROTECTED]">Jakarta Commons Development Team</author> - <author email="[EMAIL PROTECTED]">Rodney Waldhoff</author> + <author email="commons-dev AT jakarta DOT apache DOT org">Jakarta Commons Development Team</author> + <author email="rwaldhoff AT apache DOT org">Rodney Waldhoff</author> </properties> <body> <section name="Functor: Function Objects for Java"> <p> A <em>functor</em> is a function that can be manipulated - as an object. - </p> - <p> - In Java, functors are typically implemented as interfaces defined - by a single, generic member function, and that is the approach taken - here. + as an object, or an object representing a single, generic + function. </p> <p> Functors support and encourage a number of powerful programming @@ -36,6 +32,17 @@ <p> See the <a href="examples.html">examples</a> for more information on some of these techniques. + </p> + </section> + <section name="Status"> + <p> + Functor has not yet had an official binary release, but + daily binary and source snapshots are available from + <a href="http://cvs.apache.org/builds/jakarta-commons/nightly/commons-functor/">http://cvs.apache.org/builds/jakarta-commons/nightly/commons-functor/</a>. + </p> + <p> + See the <a href="http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-commons-sandbox/functor/STATUS.txt">STATUS</a> file for + the official project status. </p> </section> <section name="Overview"> 1.5 +13 -11 jakarta-commons-sandbox/functor/xdocs/stylesheets/project.xml Index: project.xml =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/functor/xdocs/stylesheets/project.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- project.xml 5 Mar 2003 17:15:51 -0000 1.4 +++ project.xml 3 Dec 2003 18:22:10 -0000 1.5 @@ -6,23 +6,25 @@ --> <body> <menu name="Home"> - <item name="Jakarta Commons" href="http://jakarta.apache.org/commons/index.html" /> - <item name="Commons Functor" href="/index.html" /> + <item name="Commons Functor" href="/index.html" /> + <item name="Jakarta Commons" href="http://jakarta.apache.org/commons/index.html" /> </menu> <menu name="Using Functor"> - <item name="Examples" href="/examples.html"/> - <item name="Downloads" href="/download.html"/> - <item name="Snapshots" href="http://cvs.apache.org/builds/jakarta-commons/nightly/commons-functor/"/> + <item name="Examples" href="/examples.html"/> + <item name="JavaDocs" href="/apidocs/index.html"/> + <item name="Downloads" href="/download.html"/> + <item name="Snapshot Builds" href="http://cvs.apache.org/builds/jakarta-commons/nightly/commons-functor/"/> </menu> <menu name="Developing Functor"> - <item name="Building" href="/building.html"/> - <item name="Test Coverage" href="/clover/index.html"/> - <item name="Source (Browse)" href="http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/functor/"/> - <item name="Source (CVS)" href="http://jakarta.apache.org/site/cvsindex.html"/> + <item name="Building" href="/building.html"/> + <item name="Test Coverage" href="/clover/index.html"/> + <item name="Source (Browse)" href="http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/functor/"/> + <item name="Source (CVS)" href="/cvs-usage.html#Anonymous+CVS+Access"/> </menu> <menu name="Administrivia"> - <item name="License" href="http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-commons-sandbox/functor/LICENSE.txt"/> - <item name="Original Proposal" href="http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-commons-sandbox/functor/PROPOSAL.html"/> + <item name="Status File" href="http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-commons-sandbox/functor/STATUS.txt"/> + <item name="License" href="http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-commons-sandbox/functor/LICENSE.txt"/> + <!-- item name="Original Proposal" href="http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-commons-sandbox/functor/PROPOSAL.html"/ --> </menu> </body> </project> 1.1 jakarta-commons-sandbox/functor/STATUS.txt Index: STATUS.txt =================================================================== Commons Functor Status $Revision: 1.1 $ $Date: 2003/12/03 18:22:10 $ http://jakarta.apache.org/commons/sandbox/functor/ Summary: Commons Functor is developing a common set of functor interfaces and related utilities in Java under an ASF licence. Commons Functor is a component developed by Jakarta Commons, a subproject of the Apache Jakarta project. Commons Functor is a currently a "sandboxed" project. It has not yet been accepted as an offical part of of the Jakarta Commons project. Releases: Stable: Currently none. Development: 1.0-dev CVS Tag: HEAD Binaries: http://cvs.apache.org/builds/jakarta-commons/nightly/commons-functor/ Source: http://cvs.apache.org/builds/jakarta-commons/nightly/commons-functor/ Assets: Web site: http://jakarta.apache.org/commons/sandbox/functor Mailing lists: [EMAIL PROTECTED] (developers) [EMAIL PROTECTED] (users) Repositories: jakarta-commons-sandbox/functor http://cvs.apache.org/viewcvs.cgi/jakarta-commons-sandbox/functor/ Also see http://jakarta.apache.org/commons/sandbox/functor/cvs-usage.html Committers: Rodney Waldhoff (rwaldhoff AT apache DOT org) [PMC] Contributors: Jason Horman (jason AT jhorman DOT org) Herve Quiroz (herve DOT quiroz AT esil DOT univ-mrs DOT fr) Pending Issues: None. Resolved Issues: None.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]