Just -text
The function catchJust is like catch, but it takes an extra argument which is an exception predicate, a function which selects which type of exceptions we're interested in. There are some predefined exception predicates for useful subsets of exceptions: ioErrors, arithExceptions, and so on. For example, to catch just calls to the error function, we could use
> result <- catchJust errorCalls thing_to_try handler
Any other exceptions which are not matched by the predicate are re-raised, and may be caught by an enclosing catch or catchJust.
The function catchJust is like catch, but it takes an extra argument which is an exception predicate, a function which selects which type of exceptions we're interested in.
> catchJust (\e -> if isDoesNotExistErrorType (ioeGetErrorType e) then Just () else Nothing)
> (readFile f)
> (\_ -> do hPutStrLn stderr ("No such file: " ++ show f)
> return "")
Any other exceptions which are not matched by the predicate are re-raised, and may be caught by an enclosing catch, catchJust, etc.
The fromJust function extracts the element out of a Just and throws an error if its argument is Nothing.
The isJust function returns True iff its argument is of the form Just _.
A variant of try that takes an exception predicate to select which exceptions are caught (c.f. catchJust). If the exception does not match the predicate, it is re-thrown.
A variant of try that takes an exception predicate to select which exceptions are caught (c.f. catchJust). If the exception does not match the predicate, it is re-thrown.
O(log(min(i,n-i))). Update the element at the specified position. If the position is out of range, the original sequence is returned.
O(min(n,W)). Adjust a value at a specific key. When the key is not a member of the map, the original map is returned.
> adjust ("new " ++) 5 (fromList [(5,"a"), (3,"b")]) == fromList [(3, "b"), (5, "new a")]
> adjust ("new " ++) 7 (fromList [(5,"a"), (3,"b")]) == fromList [(3, "b"), (5, "a")]
> adjust ("new " ++) 7 empty == empty
O(log n). Update a value at a specific key with the result of the provided function. When the key is not a member of the map, the original map is returned.
> adjust ("new " ++) 5 (fromList [(5,"a"), (3,"b")]) == fromList [(3, "b"), (5, "new a")]
> adjust ("new " ++) 7 (fromList [(5,"a"), (3,"b")]) == fromList [(3, "b"), (5, "a")]
> adjust ("new " ++) 7 empty == empty
O(min(n,W)). Adjust a value at a specific key. When the key is not a member of the map, the original map is returned.
> let f key x = (show key) ++ ":new " ++ x
> adjustWithKey f 5 (fromList [(5,"a"), (3,"b")]) == fromList [(3, "b"), (5, "5:new a")]
> adjustWithKey f 7 (fromList [(5,"a"), (3,"b")]) == fromList [(3, "b"), (5, "a")]
> adjustWithKey f 7 empty == empty
O(log n). Adjust a value at a specific key. When the key is not a member of the map, the original map is returned.
> let f key x = (show key) ++ ":new " ++ x
> adjustWithKey f 5 (fromList [(5,"a"), (3,"b")]) == fromList [(3, "b"), (5, "5:new a")]
> adjustWithKey f 7 (fromList [(5,"a"), (3,"b")]) == fromList [(3, "b"), (5, "a")]
> adjustWithKey f 7 empty == empty