| 430 | | packageOf :: String -> String |
| 431 | | packageOf name = case isQualified name of |
| 432 | | Just (pkg, _) -> pkg |
| 433 | | _ -> "main" |
| 434 | | |
| 435 | | qualify :: String -> String |
| 436 | | qualify name = case isQualified name of |
| 437 | | Just _ -> name |
| 438 | | _ -> let (sigil, name') = span (not . isAlphaNum) name |
| 439 | | in sigil ++ "main::" ++ name' |
| 440 | | |
| 441 | | isQualified :: String -> Maybe (String, String) |
| 442 | | isQualified name | Just (post, pre) <- breakOnGlue "::" (reverse name) = |
| 443 | | let (sigil, pkg) = span (not . isAlphaNum) preName |
| 444 | | name' = possiblyFixOperatorName (sigil ++ postName) |
| 445 | | preName = reverse pre |
| 446 | | postName = reverse post |
| 447 | | in Just (pkg, name') |
| 448 | | isQualified _ = Nothing |
| 449 | | |