This was primarily intended to be a private letter. But as i had lost the address of Mr. D.Tweed, i am sorry, i am sending it to the list. To my notice on the program variables and symbolic indeterminates >> let s = cToPol ["x","y"] 1 :: P >> -- unity polynomial in x,y over Integer >> -- - a sample element of domain P >> [x,y] = varPs s -- images of "x","y" in P >> in x^2*(x - x*y) ... >> [..] D.Tweed writes > [..] > I _think_ it was primarily the simple sense that Jerzy was talking > about; it's nice that the system knows how to deal with > indeterminates by default since then functions written purely for > arguments with concrete values produce sensible results automatically. > [..] I doubt whether the subject is clear to me. Maybe, you give an example? What i think about it: In mathematics, - and in programming too! - a variable means a name which can be given a value from some domain(s). For example, for a polynomial f in x over Integer, x can be given a value from any domain D with (0,1,+,*). D is a value scope of variable. More restricted notion: indeterminates - the elements of an algebraic domain relied by a set of algebraic equations - usually, the empty equation set. Probably, Maple knows what is the default scope for x,y in e = `x+y' - when entered alone, without any environment. Probably, Maple puts it by default to be the polynomial in x,y with integer coefficients. What Haskell can do about this? 1. To require the programmer to create environment This is how DoCon-2 acts with the polynomial indeterminates. What `x',`y' mean can be also defined explicitly in 1-2 program lines - once for all the program after `in'. This is done by using the CA system standard functions cToPol, varPs. And this is more flexy. Because the user knows better what `x',`y' should mean. 2. To extend the Haskell language with the type (domain) conversion system. See <http://www.botik.ru:/pub/local/Mechveliani/basAlgPropos/>, section 'dcon'. In this case, say, `2+x', z*(1/2)+x have chance to convert automatically the value of x to some appropriate domain. ------------------ Sergey Mechveliani [EMAIL PROTECTED]
