summaryrefslogtreecommitdiff
path: root/src/PGF/Binary.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2009-07-05 15:44:52 +0000
committerkrasimir <krasimir@chalmers.se>2009-07-05 15:44:52 +0000
commit279ff9a6d28c87e1a6c105d9d33df2511fb8f132 (patch)
treea31ecbb34830c6566eb556e6aefaccb1551eabf7 /src/PGF/Binary.hs
parent3394c171edf60bf21d46e628032c3369a4ee10b3 (diff)
PGF.Type.Hypo now can represent explicit and implicit arguments and argument without bound variable
Diffstat (limited to 'src/PGF/Binary.hs')
-rw-r--r--src/PGF/Binary.hs10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/PGF/Binary.hs b/src/PGF/Binary.hs
index b99296db5..bd896817f 100644
--- a/src/PGF/Binary.hs
+++ b/src/PGF/Binary.hs
@@ -146,8 +146,14 @@ instance Binary Type where
get = liftM3 DTyp get get get
instance Binary Hypo where
- put (Hyp v t) = put (v,t)
- get = liftM2 Hyp get get
+ put (Hyp t) = putWord8 0 >> put t
+ put (HypV v t) = putWord8 1 >> put (v,t)
+ put (HypI v t) = putWord8 2 >> put (v,t)
+ get = do tag <- getWord8
+ case tag of
+ 0 -> liftM Hyp get
+ 1 -> liftM2 HypV get get
+ 2 -> liftM2 HypI get get
instance Binary FFun where
put (FFun fun prof lins) = put (fun,prof,lins)