diff options
| author | aarne <aarne@cs.chalmers.se> | 2006-05-30 12:19:19 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2006-05-30 12:19:19 +0000 |
| commit | 5dc1edf50f5c6ae4d0a9ac1c7ff45d95da1a61e2 (patch) | |
| tree | 6e9c48ba42996b680d0d656db0b7cf803d8f7f6e /src/GF/Infra/Modules.hs | |
| parent | e9ce09cb450158febbe0e9ecb95ba4ffef51aeb8 (diff) | |
lincat typecheck and abstract-interface extension fixed
Diffstat (limited to 'src/GF/Infra/Modules.hs')
| -rw-r--r-- | src/GF/Infra/Modules.hs | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/GF/Infra/Modules.hs b/src/GF/Infra/Modules.hs index 3f61247a5..0cff03328 100644 --- a/src/GF/Infra/Modules.hs +++ b/src/GF/Infra/Modules.hs @@ -343,16 +343,20 @@ isModTrans m = case mtype m of _ -> False sameMType :: Eq i => ModuleType i -> ModuleType i -> Bool -sameMType m n = case (m,n) of +sameMType m n = case (n,m) of (MTConcrete _, MTConcrete _) -> True + (MTInstance _, MTInstance _) -> True - (MTInstance _, MTResource) -> True - (MTInstance _, MTInterface) -> True - (MTResource, MTInstance _) -> True - (MTResource, MTInterface) -> True - (MTAbstract, MTInterface) -> True -- for reuse - (MTConcrete _, MTResource) -> True -- for reuse - (MTInterface,MTResource) -> True + (MTInstance _, MTResource) -> True + (MTInstance _, MTConcrete _) -> True + + (MTInterface, MTInstance _) -> True + (MTInterface, MTResource) -> True -- for reuse + (MTInterface, MTAbstract) -> True -- for reuse + + (MTResource, MTInstance _) -> True + (MTResource, MTConcrete _) -> True -- for reuse + _ -> m == n -- | don't generate code for interfaces and for incomplete modules |
