[Nix-dev] maximal sharing and comparisons.
    Marc Weber 
    marco-oweber at gmx.de
       
    Sun Nov 23 16:23:21 CET 2008
    
    
  
You're all right, we have to think about what equality means here.
The most sensible thing would be:
  1)
  7 == (_plus 6 1) is equal 
the same way
  2)
  let f = __trace "foo" (_plus 6 1)
  in f == f
is without printing "foo"..
So if the terms are the same we don't have to evaluate them. But if they
are not we have to evaluate them to make a final decision because the 7
= 6+1 example should hold.
Marc Weber
    
    
More information about the nix-dev
mailing list