
Does anybody think this is a useful idea? If so I'll add a feature request ticket to the GHC Trac. But I want to see if folks like the idea first...
Mmmh.. dont' know. Even Java folks don't allow this kind of creeping bug and I guess they know why. You never want undefined behaviour at least when using haskell. Because if that error occurs it's hard to debug, no I don't like that at all. May I look at your proposal from another view? Am I right that you ask for not having to run the "fromJust" code to save some cpu cycles? Very simple example : let list = [ (a,a*a) | a <- [1..10] ] in .. Now getting the square of 4 (standard) fromJust $ lookup 4 list Removing the fromJust code thingy leads to: lookupGoodFaith key ((x,v):xs) | key == x = v | otherwise = lookupGoodFaith xs lookupGoodFaith _ (_,v) = v Where is the difference? I don't even compare the key of the last list item, because it must match. So you safe some additional cpu cycles.. The same can be implemented for Data.Map etc.. Marc Weber