1
0
forked from GitHub/gf-core

remove the transfer modules. We don't need anything special, a transfer module is module without concrete syntax

This commit is contained in:
krasimir
2009-09-17 14:32:20 +00:00
parent 347e5db212
commit 45bfba4103
8 changed files with 5 additions and 33 deletions

View File

@@ -37,7 +37,6 @@ instance (Ord i, Binary i, Binary a) => Binary (ModInfo i a) where
instance (Binary i) => Binary (ModuleType i) where
put MTAbstract = putWord8 0
put (MTTransfer i j) = putWord8 1 >> put (i,j)
put MTResource = putWord8 2
put (MTConcrete i) = putWord8 3 >> put i
put MTInterface = putWord8 4
@@ -45,7 +44,6 @@ instance (Binary i) => Binary (ModuleType i) where
get = do tag <- getWord8
case tag of
0 -> return MTAbstract
1 -> get >>= \(i,j) -> return (MTTransfer i j)
2 -> return MTResource
3 -> get >>= return . MTConcrete
4 -> return MTInterface

View File

@@ -91,7 +91,6 @@ import GF.Compile.Update (buildAnyTree)
'resource' { T_resource }
'strs' { T_strs }
'table' { T_table }
'transfer' { T_transfer }
'variants' { T_variants }
'where' { T_where }
'with' { T_with }
@@ -143,7 +142,6 @@ ModType
| 'interface' Ident { (MTInterface, $2) }
| 'concrete' Ident 'of' Ident { (MTConcrete $4, $2) }
| 'instance' Ident 'of' Ident { (MTInstance $4, $2) }
| 'transfer' Ident ':' Open '->' Open { (MTTransfer $4 $6,$2) }
ModHeaderBody :: { ( [(Ident,MInclude Ident)]
, Maybe (Ident,MInclude Ident,[(Ident,Ident)])
@@ -701,11 +699,6 @@ checkInfoType (MTInstance _) (id,pos,info) =
ResValue _ -> return ()
ResOper _ _ -> return ()
_ -> failLoc (fst pos) "illegal definition in instance module"
checkInfoType (MTTransfer _ _) (id,pos,info) =
case info of
AbsCat _ _ -> return ()
AbsFun _ _ _ -> return ()
_ -> failLoc (fst pos) "illegal definition in transfer module"
mkAlts cs = case cs of

View File

@@ -58,7 +58,6 @@ ppModule q (mn, ModInfo mtype mstat opts exts with opens _ jments _) =
modTypeDoc =
case mtype of
MTAbstract -> text "abstract" <+> ppIdent mn
MTTransfer src dst -> text "transfer" <+> ppIdent mn <+> colon <+> ppOpenSpec src <+> text "->" <+> ppOpenSpec dst
MTResource -> text "resource" <+> ppIdent mn
MTConcrete abs -> text "concrete" <+> ppIdent mn <+> text "of" <+> ppIdent abs
MTInterface -> text "interface" <+> ppIdent mn