Subject line says it all, just about:
 
in hugs/winhugs98 (haskell98 mode), challenge the interpreter with the following 8 characters (not including blanks):
 
Prelude> :s -u
Prelude> (<) 2
 
and the result is not pretty...nor very useful.  It has to be interrupted manually.
 
:t (<) 2 is fine, as is \x -> (<) 2 x; the problem does not occur without the -u flag because there is no show function for (<) 2.  Of course, you can define one eg. using a datatype, but that doesn't cause a problem either.  Also, (< 2) is perfectly fine, but (2 <) has the same problem.
 
the argument 2 is not special; any expression (<) e (with e an instance of Ord) seems to do it.  Same problem if you wrap (<) e up in a datatype.
 
Am I right or?  And is there a prize for the shortest bug ? 
 
Matt
 
Matt Fairtlough
Department of Computer Science, University of Sheffield
0114 222 1826
 

Reply via email to