[e-lang] E patches for review: ELoader, FileGetter

Kevin Reid kpreid at switchb.org
Mon May 24 14:57:02 PDT 2010


On May 24, 2010, at 15:29, Thomas Leonard wrote:

> Is Traceln DeepFrozen? If not, how do you debug DeepFrozen objects?  
> If so, what prevents the compiler optimising it out?

The current answer is "It is or should be, and the compilers aren't  
that smart yet."

Another option would be to make DeepFrozen permit references to  
traceln as a special case in the auditor, but that would produce  
probably-safe but bizarre inconsistencies.

It's probably better to, when necessary, make special cases for  
debugging *in the compiler* rather than in the DeepFrozen auditor.

A third option: define the interface for traceln such that it is  
included in the application data flow, so *could* have side effects  
and therefore may not be optimized out just by being DeepFrozen; this  
is similar to the approach Haskell takes (trace is a function which  
takes a message and a value, prints the message, and returns the  
value). I think this would be too unnatural to the user.

-- 
Kevin Reid                                  <http://switchb.org/kpreid/>






More information about the e-lang mailing list