[clean-list] Passing an environment around

=?iso-8859-1?Q?Jos=E9_Romildo_Malaquias?= romildo@urano.iceb.ufop.br
Wed, 18 Oct 2000 15:44:58 -0200


In the example I gave for the quadratic equation, without
operators, I forgot to pass the environment to around.

>   quadratic :: Env Exp Exp Exp -> (Exp, Exp)
>   quadratic env a b c = ( sum r s, sub r s )
>     where
>     r = div (neg b) (mul two a)
>     s = div (pow (sub (pow b two)
>                       (pro (four (pro a c))))
>                  (div one two))
>             k
>     k = mul two a

A more correct version is

   quadratic :: Env Exp Exp Exp -> (Exp, Exp)
   quadratic env a b c = ( sum r s, sub r s )
     where
     r = div env (neg env b) (mul env two a)
     s = div env (pow env (sub env (pow env b two)
                                   (pro env four (pro env a c)))
                           (div env one two)))
                 k
     k = mul env two a

Romildo
-- 
Prof. José Romildo Malaquias <romildo@iceb.ufop.br>
Departamento de Computação
Universidade Federal de Ouro Preto
Brasil