[Top][All Lists]
[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``
- [ff-cvs] fenfire/docs/pegboard/functional_futureproof_ap..., Tuomas J. Lukka, 2003/09/05
- [ff-cvs] fenfire/docs/pegboard/functional_futureproof_ap..., Tuomas J. Lukka, 2003/09/05
- [ff-cvs] fenfire/docs/pegboard/functional_futureproof_ap..., Tuomas J. Lukka, 2003/09/07
- [ff-cvs] fenfire/docs/pegboard/functional_futureproof_ap..., Tuomas J. Lukka, 2003/09/08
- [ff-cvs] fenfire/docs/pegboard/functional_futureproof_ap...,
Tuomas J. Lukka <=
- [ff-cvs] fenfire/docs/pegboard/functional_futureproof_ap..., Tuomas J. Lukka, 2003/09/08
- [ff-cvs] fenfire/docs/pegboard/functional_futureproof_ap..., Tuomas J. Lukka, 2003/09/09