|
From: | Benja Fallenstein |
Subject: | [Fenfire-dev] Re: Repost 2: Functional PEG |
Date: | Mon, 08 Sep 2003 11:56:52 +0300 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030827 Debian/1.4-3 |
Tuomas Lukka wrote:
On Mon, Sep 08, 2003 at 11:25:51AM +0300, Benja Fallenstein wrote:I don't understand FunctionInstance-- an instance of the class FunctionInstance represents an instance of a class implementing Function or NodeFunction? What's the point here? Why not use Function itself?Because it is relevant for the Functional API instances to know for which FunctionInstances the actual values of the function are required from outside.
What does "the actual values of the function are required from outside" *mean*?
How does FunctionInstance tell this? It has only one method, which returns the Function.
I still don't understand what hints are. I also don't know what a Functional is (it has no javadoc?!?).Fixed
Not the part about not explaining what hints are. **Please**, explain the *model* first, before giving the interface.
I think that the "Creating functions" section may be the place to expand on how the whole thing works.Works? The problem is that this PEG is not about *how* it will work, but about the interface that can remain stable w.r.t. how it works.
You need to say-- - what the model is (the model that is expressed by the API classes) - how that model is expected to be usedYou cannot create an interface that can remain stable if you have *no* idea how the information communicated through this interface will be used. You need to explain what information is supposed to be conveyed through your API, and why this information is deemed useful for caching &c. You obviously have something in mind, but you don't explain it.
I think I understand what a "functional DAG" is. However, for evaluation, it works just fine if every function knows the other functions it needs to call; there is no additional information that needs to be saved, and it is not necessary to access this information from the outside. You assert that this is important for caching and super-lazy functions-- **but you never say why!**
The closest thing is that you say that "the caches need to co-operate," but you do not say *how*.
- Benja
[Prev in Thread] | Current Thread | [Next in Thread] |