Hello,

Maybe, a naive question, but
how the compiler *rules* are expected to relate to binding?

For example, in   {rules  (map f).(map g) = map (f.g) }
                  f xs = let  g = ...
                              h = ...
                              h1 = map g
                              h2 = map h  
                         in   h1 (h2 xs)
the rule can do nothing with the source program. 
After  f  is transformed to some inner form, maybe, a single lambda-
expression, then, yes.
How the programmer has to think of this rule application, and what 
might be the implementation idea?
For, with such assignments in the program, the rules can do almost 
nothing.

Thank you for possible explanation.

------------------
Sergey Mechveliani
[EMAIL PROTECTED]



Reply via email to