|
[ ghc-Bugs-1195579 ] IntMap.split wrong split: msg#00048lang.haskell.glasgow.bugs
Bugs item #1195579, was opened at 2005-05-04 19:18 Message generated for change (Comment added) made by pkturner You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=108032&aid=1195579&group_id=8032 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: hslibs/data Group: 6.4 Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: IntMap.split wrong split Initial Comment: "keys $ split 5 $ theMap" sometimes returns values greater 5. I am still trying to pinpoint the bug, but since it shows itself only deep inside a complicated structure, I have problems doing so. One pointer might be, that my values are partially evaluated functions, but this is only a guess. (Changing the data structure to Data.Map restores normal operation in my algorithm) Christian choener@xxxxxxxxxxxxxxxxxxxxxxxx ---------------------------------------------------------------------- Comment By: Scott Turner (pkturner) Date: 2005-07-06 12:03 Message: Logged In: YES user_id=22153 Thanks to a simple reproduction of the bug by Malcolm Wallace, I was able to track it down. The bug is right there in split. Data/IntMap.hs needs: *************** *** 750,755 **** --- 750,756 ---- split k t = case t of Bin p m l r + | nomatch k p m -> if k>p then (t,Nil) else (Nil,t) | zero k m -> let (lt,gt) = split k l in (lt,union gt r) | otherwise -> let (lt,gt) = split k r in (union l lt,gt) Tip ky y *************** *** 764,769 **** --- 765,771 ---- splitLookup k t = case t of Bin p m l r + | nomatch k p m -> if k>p then (t,Nothing,Nil) else (Nil,Nothing,t) | zero k m -> let (lt,found,gt) = splitLookup k l in (lt,found,union gt r) | otherwise -> let (lt,found,gt) = splitLookup k r in (union l lt,found,gt) Tip ky y ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2005-05-04 19:21 Message: Logged In: NO Of course, it is with (fst) (and the Intmap contains more than one element, three in my case) "keys $ fst $ split 5 $ theMap" Christian choener@... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=108032&aid=1195579&group_id=8032
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ ghc-Bugs-1226252 ] internal error: EVACUATED object entered!, SourceForge.net |
|---|---|
| Next by Date: | [ ghc-Bugs-1195579 ] IntMap.split wrong split, SourceForge.net |
| Previous by Thread: | [ ghc-Bugs-1175518 ] Syntax errors in HsBase.h when using -fvia-c, SourceForge.net |
| Next by Thread: | [ ghc-Bugs-1195579 ] IntMap.split wrong split, SourceForge.net |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |