fenfire-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ff-cvs] fenfire/docs/pegboard/functional_futureproof_ap...


From: Tuomas J. Lukka
Subject: [ff-cvs] fenfire/docs/pegboard/functional_futureproof_ap...
Date: Mon, 08 Sep 2003 04:36:44 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Branch:         
Changes by:     Tuomas J. Lukka <address@hidden>        03/09/08 04:36:44

Modified files:
        docs/pegboard/functional_futureproof_api--tjl: peg.rst 

Log message:
        Update PEG

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/docs/pegboard/functional_futureproof_api--tjl/peg.rst.diff?tr1=1.6&tr2=1.7&r1=text&r2=text

Patches:
Index: fenfire/docs/pegboard/functional_futureproof_api--tjl/peg.rst
diff -u fenfire/docs/pegboard/functional_futureproof_api--tjl/peg.rst:1.6 
fenfire/docs/pegboard/functional_futureproof_api--tjl/peg.rst:1.7
--- fenfire/docs/pegboard/functional_futureproof_api--tjl/peg.rst:1.6   Mon Sep 
 8 04:11:54 2003
+++ fenfire/docs/pegboard/functional_futureproof_api--tjl/peg.rst       Mon Sep 
 8 04:36:43 2003
@@ -3,13 +3,17 @@
 =============================================================
 
 :Author:   Tuomas J. Lukka
-:Last-Modified: $Date: 2003/09/08 08:11:54 $
-:Revision: $Revision: 1.6 $
+:Last-Modified: $Date: 2003/09/08 08:36:43 $
+:Revision: $Revision: 1.7 $
 :Status:   Incomplete
 
-Functions and caching are here to stay with us. 
+Functions and caching are here to stay with us, as they provide
+us with a way to give faster user response times with minimal
+code complications. 
+
 However, the caching is currently pretty nasty for the programmer
-and requires active thinking, especially in the case of super-lazy
+who *instantiates* the functions and requires active thinking, 
+especially in the case of super-lazy
 functions (i.e. caches that schedule evaluation only after being
 requested the value and return a placeholder).
 
@@ -242,6 +246,11 @@
      * This class wraps the computation so that the implementation
      * of Functional is able to use more information to determine
      * how and when to evaluate what functions.
+     * <p>
+     * This class is used instead of plain instances of class Function
+     * because it is relevant for the Functional API instances to know for
+     * which FunctionInstances the actual values of the function are required
+     * from outside.
      */
     interface FunctionInstance {
        /** Get a function entry point for this node.
@@ -249,10 +258,19 @@
        Function getCallableFunction();
     }
 
+    /** An object that manages a DAG of Function instances, enabling 
+     * transparent and super-lazy caching.
+     * This interface allows different implementations, from ones that simply
+     * wrap and call the actual function instances to ones that allow
+     * transparent run-time data-sensitive caching and super-lazy caching.
+     */
     interface Functional {
 
        /** Hints about a Function class.
-        * Created using HintsMaker.
+        * Hints tell the Functional API about a Function: is it slow to 
evaluate,
+        * does it need to be evaluated in the OpenGL thread &c.
+        * <p>
+        * Hints objects are created using HintsMaker.
         * An empty interface in order to be unmodifiable.
         * Each class that implements ``Function`` or ``NodeFunction``
         * that is given to this API shall have a static member 
``functionalHints``




reply via email to

[Prev in Thread] Current Thread [Next in Thread]