Accumulator Parameter Syntax ---------------------------- Author: Tom Goodale Date: May 2002 Basically these are parameters who's value is built up from values of other parameters which the base parameter doesn't know about , number 4 in the 'things for parameters' thread. Previously we called these 'arithmetically-set' but think 'accumulator' is a better word (Can anyone think of an even better one?) Ok, so on to syntax base parameters would be defined like REAL foo "The foo parameter" accumulator() { (1:500 :: "Anything greater than 1 and less than or equal to 500" } 72 and parameters which modify this one's value would be like REAL foobar "The foo parameter" accumulator-base(foo) { 22:65 :: "Sensible number" } 42 is an arbitrary arithmetical expression involving the old value of the parameter,refered to as 'x', and the parameter which is modifying it, refered to as 'y'. E.g. x+y, x+(1/y) x*y, x+y^2, x/y,... The expression should commute when applied twice, i.e. for expression L(x,y), we should have L(c,L(a,b)) = L(b,L(a,c)) (This allows people to use x/y as an expression which would end up as a/b/c = a/c/b .) Both the base parameter and the modifying parameters need to be of the same type.