Isn't it wonderful how real users find bugs so much faster than implementors. Thanks Ralf. It's my fault. Now fixed in my copy. Unfortunately there's no workaround. I can see we're going to have to push out 2.05 in some form. Simon | From: Ralf Hinze <[EMAIL PROTECTED]> | Date: Tue, 17 Jun 1997 17:16:10 +0200 (MET DST) | Dear Glasgow-Wizards, | | my first experiment with second-order types failed. The following piece | of code causes ghc to panic. | | =============================================================================== | | > module SOL ( module SOL ) | > where | | > import GlaExts | | > data SeqView t a = Null | > | Cons a (t a) | | > class PriorityQueue q where | > empty :: (Ord a) => q a | > single :: (Ord a) => a -> q a | > insert :: (Ord a) => a -> q a -> q a | > meld :: (Ord a) => q a -> q a -> q a | > splitMin :: (Ord a) => q a -> SeqView q a | > insert a q = single a `meld` q | | > toOrderedList q = case splitMin q of | > Null -> [] | > Cons a q -> a : toOrderedList q | > insertMany x q = foldr insert q x | > pqSort q x = toOrderedList (insertMany x q) | | > check :: (PriorityQueue q) => (Ord a => q a) -> | IO () | > check empty = do | > putStr "*** sorting\n" | > out (pqSort empty [1 .. 99]) | > out (pqSort empty [1.0, 1.1 ..99.9]) | | > out :: (Num a) => [a] -> IO () | > out x | sum x == 0 = putStr "ok\n" | > | otherwise = putStr "ok\n"
Re: data dependencies broken by an optimisation pass
Simon L Peyton Jones Wed, 18 Jun 1997 23:38:46 +0200 (MET DST)
- data dependencies broken by an optimisation pass Ralf Hinze
- Simon L Peyton Jones
