@@ -21,7 +21,7 @@ import System.Directory
21import Paths_idris
21import Paths_idris
23ibcVersion :: Word8
23ibcVersion :: Word8
24−ibcVersion = 17
24+ibcVersion = 18
26data IBCFile = IBCFile { ver :: Word8,
26data IBCFile = IBCFile { ver :: Word8,
27 sourcefile :: FilePath,
27 sourcefile :: FilePath,
@@ -802,6 +802,202 @@ instance Binary Plicity where
802 _ -> error "Corrupted binary data for Plicity"
802 _ -> error "Corrupted binary data for Plicity"
805+instance (Binary t) => Binary (PDecl' t) where
808+ PFix x1 x2 x3 -> do putWord8 0
812+ PTy x1 x2 x3 x4 x5 -> do putWord8 1
818+ PClauses x1 x2 x3 x4 -> do putWord8 2
823+ PData x1 x2 x3 -> do putWord8 3
827+ PParams x1 x2 x3 -> do putWord8 4
831+ PNamespace x1 x2 -> do putWord8 5
834+ PRecord x1 x2 x3 x4 x5 x6 -> do putWord8 6
841+ PClass x1 x2 x3 x4 x5 x6 -> do putWord8 7
848+ PInstance x1 x2 x3 x4 x5 x6 x7 -> do putWord8 8
856+ PDSL x1 x2 -> do putWord8 9
865+ return (PFix x1 x2 x3)
871+ return (PTy x1 x2 x3 x4 x5)
876+ return (PClauses x1 x2 x3 x4)
880+ return (PData x1 x2 x3)
884+ return (PParams x1 x2 x3)
887+ return (PNamespace x1 x2)
894+ return (PRecord x1 x2 x3 x4 x5 x6)
901+ return (PClass x1 x2 x3 x4 x5 x6)
909+ return (PInstance x1 x2 x3 x4 x5 x6 x7)
913+ _ -> error "Corrupted binary data for PDecl'"
915+instance Binary SyntaxInfo where
916+ put (Syn x1 x2 x3 x4 x5 x6 x7)
932+ return (Syn x1 x2 x3 x4 x5 x6 x7)
934+instance (Binary t) => Binary (PClause' t) where
937+ PClause x1 x2 x3 x4 x5 x6 -> do putWord8 0
944+ PWith x1 x2 x3 x4 x5 x6 -> do putWord8 1
951+ PClauseR x1 x2 x3 x4 -> do putWord8 2
956+ PWithR x1 x2 x3 x4 -> do putWord8 3
970+ return (PClause x1 x2 x3 x4 x5 x6)
977+ return (PWith x1 x2 x3 x4 x5 x6)
982+ return (PClauseR x1 x2 x3 x4)
987+ return (PWithR x1 x2 x3 x4)
988+ _ -> error "Corrupted binary data for PClause'"
990+instance (Binary t) => Binary (PData' t) where
991+ put (PDatadecl x1 x2 x3)
999+ return (PDatadecl x1 x2 x3)
805instance Binary PTerm where
1001instance Binary PTerm where
807 = case x of
1003 = case x of
@@ -824,53 +1020,61 @@ instance Binary PTerm where
1023+ PTyped x1 x2 -> do putWord8 5
827− PApp x1 x2 x3 -> do putWord8 5
1026+ PApp x1 x2 x3 -> do putWord8 6
1030+ PCase x1 x2 x3 -> do putWord8 7
831− PTrue x1 -> do putWord8 6
1034+ PTrue x1 -> do putWord8 8
833− PFalse x1 -> do putWord8 7
1036+ PFalse x1 -> do putWord8 9
835− PRefl x1 -> do putWord8 8
1038+ PRefl x1 -> do putWord8 10
837− PResolveTC x1 -> do putWord8 9
1040+ PResolveTC x1 -> do putWord8 11
839− PEq x1 x2 x3 -> do putWord8 10
1042+ PEq x1 x2 x3 -> do putWord8 12
843− PPair x1 x2 x3 -> do putWord8 11
1046+ PPair x1 x2 x3 -> do putWord8 13
847− PDPair x1 x2 x3 x4 -> do putWord8 12
1050+ PDPair x1 x2 x3 x4 -> do putWord8 14
852− PAlternative x1 x2 -> do putWord8 13
1055+ PAlternative x1 x2 -> do putWord8 15
855− PHidden x1 -> do putWord8 14
1058+ PHidden x1 -> do putWord8 16
857− PSet -> putWord8 15
1060+ PSet -> putWord8 17
858− PConstant x1 -> do putWord8 16
1061+ PConstant x1 -> do putWord8 18
860− Placeholder -> putWord8 17
1063+ Placeholder -> putWord8 19
861− PDoBlock x1 -> do putWord8 18
1064+ PDoBlock x1 -> do putWord8 20
1066+ PIdiom x1 x2 -> do putWord8 21
863− PReturn x1 -> do putWord8 19
1069+ PReturn x1 -> do putWord8 22
865− PMetavar x1 -> do putWord8 20
1071+ PMetavar x1 -> do putWord8 23
867− PProof x1 -> do putWord8 21
1073+ PProof x1 -> do putWord8 24
869− PTactics x1 -> do putWord8 22
1075+ PTactics x1 -> do putWord8 25
871−-- PElabError x1 -> do putWord8 23
873− PImpossible -> putWord8 24
1077+ PImpossible -> putWord8 27
875 = do i <- getWord8
1079 = do i <- getWord8
876 case i of
1080 case i of
@@ -894,54 +1098,61 @@ instance Binary PTerm where
894 x4 <- get
1098 x4 <- get
895 return (PLet x1 x2 x3 x4)
1099 return (PLet x1 x2 x3 x4)
896 5 -> do x1 <- get
1100 5 -> do x1 <- get
1102+ return (PTyped x1 x2)
897 x2 <- get
1104 x2 <- get
898 x3 <- get
1105 x3 <- get
899 return (PApp x1 x2 x3)
1106 return (PApp x1 x2 x3)
902 7 -> do x1 <- get
1107 7 -> do x1 <- get
903− return (PFalse x1)
1110+ return (PCase x1 x2 x3)
904 8 -> do x1 <- get
1111 8 -> do x1 <- get
905− return (PRefl x1)
1112+ return (PTrue x1)
906 9 -> do x1 <- get
1113 9 -> do x1 <- get
907− return (PResolveTC x1)
1114+ return (PFalse x1)
908 10 -> do x1 <- get
1115 10 -> do x1 <- get
1118+ return (PResolveTC x1)
909 x2 <- get
1120 x2 <- get
910 x3 <- get
1121 x3 <- get
911 return (PEq x1 x2 x3)
1122 return (PEq x1 x2 x3)
912− 11 -> do x1 <- get
1123+ 13 -> do x1 <- get
913 x2 <- get
1124 x2 <- get
914 x3 <- get
1125 x3 <- get
915 return (PPair x1 x2 x3)
1126 return (PPair x1 x2 x3)
916− 12 -> do x1 <- get
1127+ 14 -> do x1 <- get
917 x2 <- get
1128 x2 <- get
918 x3 <- get
1129 x3 <- get
919 x4 <- get
1130 x4 <- get
920 return (PDPair x1 x2 x3 x4)
1131 return (PDPair x1 x2 x3 x4)
921− 13 -> do x1 <- get
1132+ 15 -> do x1 <- get
922 x2 <- get
1133 x2 <- get
923 return (PAlternative x1 x2)
1134 return (PAlternative x1 x2)
927 16 -> do x1 <- get
1135 16 -> do x1 <- get
928− return (PConstant x1)
1136+ return (PHidden x1)
929− 17 -> return Placeholder
1137+ 17 -> return PSet
930 18 -> do x1 <- get
1138 18 -> do x1 <- get
1139+ return (PConstant x1)
1140+ 19 -> return Placeholder
931 return (PDoBlock x1)
1142 return (PDoBlock x1)
1145+ return (PIdiom x1 x2)
932− 19 -> do x1 <- get
1146+ 22 -> do x1 <- get
933 return (PReturn x1)
1147 return (PReturn x1)
934− 20 -> do x1 <- get
1148+ 23 -> do x1 <- get
935 return (PMetavar x1)
1149 return (PMetavar x1)
936− 21 -> do x1 <- get
1150+ 24 -> do x1 <- get
937 return (PProof x1)
1151 return (PProof x1)
938− 22 -> do x1 <- get
1152+ 25 -> do x1 <- get
939 return (PTactics x1)
1153 return (PTactics x1)
940−-- 23 -> do x1 <- get
941−-- return (PElabError x1)
942− 24 -> return PImpossible
1154+ 27 -> return PImpossible
943 _ -> error "Corrupted binary data for PTerm"
1155 _ -> error "Corrupted binary data for PTerm"
946instance (Binary t) => Binary (PTactic' t) where
1157instance (Binary t) => Binary (PTactic' t) where