Re: if-expression and variables
Raymond Rogers <[email protected]> Wed, 04 May 2011 11:56:27 -0500
| Newsgroups | gmane.comp.mathematics.axiom.general |
|---|---|
| Message-ID | <[email protected]> |
On 05/03/2011 11:01 AM, Ralf Hemmecke wrote: >> But the question is not intrinsically a "programing construct". > > What does that mean? More or less I mean a tree structure where the nodes have evaluation contents; say Boolean evaluations or calculations. Then nodes may have left/right (true/false) subbranches or terminate. In the case of "case" the subbranches could be most anything. When the tree terminates, reaches an end node, then return the terminating evaluation/value (for debuging the option of returning the path might be nice). If a mid-level evaluation doesn't match a subsequent branch then return failure; of course the lack of a subbranch would be taken as matching anything. This isn't what I meant by "symbolic logic" but is equivalent and seems perfectly clear without any evocation of "horn clauses" and such. > >> With some (bulky) symbolic logic constructs one can express it in a >> mathematical sense. That is: set membership and "exclusive or". > > You want to rewrite the if-statement into set membership and exclusive > or? Yes I did; but upon reflection I am reluctant to go there. > > To give a few hints. As Bill already said, Axiom is more an algebraic > system rather than a symbolic one. Of course, since Axiom has a proper > programming language underneath, one can do everything, but the > question is, how much is already implemented. > > The first questions, when one programs with Axiom usually are: > What is my "domain of computation"? > (That is basically like with universal algebra. What is the carrier > set and what are the operations?) > How are the elements of the carrier set represented in terms of > already existing (library) types? Yes, I think it boils down to second-order logic; in this case a category of unevaluated expressions. As above; stored in the tree and then brought front and center and evaluated in the tree accessing environment. Going back to the original question. It seems the questioner expects to fabricate a template and later to create instances of it with varying variables. I would think that keeping the old (hopefully private) variables and then assigning incoming variables to the private variables might eliminate having multiple copies laying around and perhaps the need of a template at all. Probably doesn't cover all cases though. Sorry if I have taken the discussion drifting; I merely wanted to point out the if/else can be a static data structure rather than in-line code. Ray