diff options
| author | krasimir <krasimir@chalmers.se> | 2009-07-05 15:44:52 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2009-07-05 15:44:52 +0000 |
| commit | 279ff9a6d28c87e1a6c105d9d33df2511fb8f132 (patch) | |
| tree | a31ecbb34830c6566eb556e6aefaccb1551eabf7 /src/PGF/Binary.hs | |
| parent | 3394c171edf60bf21d46e628032c3369a4ee10b3 (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.hs | 10 |
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)
|
