summaryrefslogtreecommitdiff
path: root/Omni/Namespace.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Omni/Namespace.hs')
-rw-r--r--Omni/Namespace.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/Omni/Namespace.hs b/Omni/Namespace.hs
index 5884507..a0f8a8e 100644
--- a/Omni/Namespace.hs
+++ b/Omni/Namespace.hs
@@ -111,7 +111,10 @@ toHaskellModule :: Namespace -> String
toHaskellModule = toModule
fromHaskellModule :: String -> Namespace
-fromHaskellModule s = Namespace (List.splitOn "." s) Hs
+fromHaskellModule s =
+ let s' = if ".hs" `List.isSuffixOf` s then List.take (length s - 3) s else s
+ s'' = map (\c -> if c == '/' then '.' else c) s'
+ in Namespace (List.splitOn "." s'') Hs
toSchemeModule :: Namespace -> String
toSchemeModule = toModule