@@ -8,7 +8,6 @@ import Data.Set (Set)
88import LambdaBuffers.Codegen.Haskell.Print (MonadPrint )
99import LambdaBuffers.Codegen.Haskell.Print.LamVal (printValueE )
1010import LambdaBuffers.Codegen.Haskell.Print.Syntax qualified as H
11- import LambdaBuffers.Codegen.LamVal qualified as LV
1211import LambdaBuffers.Codegen.LamVal.Eq (deriveEqImpl )
1312import LambdaBuffers.Codegen.LamVal.Json (deriveFromJsonImpl , deriveToJsonImpl )
1413import LambdaBuffers.Codegen.LamVal.MonadPrint qualified as LV
@@ -55,14 +54,15 @@ hsClassImplPrinters =
5554eqClassMethodName :: H. ValueName
5655eqClassMethodName = H. MkValueName " =="
5756
58- lvEqBuiltinsBase :: Map LV. ValueName (H. CabalPackageName , H. ModuleName , H. ValueName )
59- lvEqBuiltinsBase =
60- Map. fromList
61- [ (" eq" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " ==" ))
62- , (" and" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " &&" ))
63- , (" true" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " True" ))
64- , (" false" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " False" ))
65- ]
57+ lvEqBuiltinsBase :: LV. PrintRead (H. CabalPackageName , H. ModuleName , H. ValueName )
58+ lvEqBuiltinsBase = LV. MkPrintRead $ \ (_ty, refName) ->
59+ Map. lookup refName $
60+ Map. fromList
61+ [ (" eq" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " ==" ))
62+ , (" and" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " &&" ))
63+ , (" true" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " True" ))
64+ , (" false" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " False" ))
65+ ]
6666
6767printDeriveEqBase :: MonadPrint m => PC. ModuleName -> PC. TyDefs -> (Doc ann -> Doc ann ) -> PC. Ty -> m (Doc ann )
6868printDeriveEqBase mn iTyDefs mkInstanceDoc ty = do
@@ -76,14 +76,15 @@ printDeriveEqBase mn iTyDefs mkInstanceDoc ty = do
7676 for_ imps Print. importValue
7777 return instanceDoc
7878
79- lvEqBuiltinsPlutusTx :: Map LV. ValueName (H. CabalPackageName , H. ModuleName , H. ValueName )
80- lvEqBuiltinsPlutusTx =
81- Map. fromList
82- [ (" eq" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Eq" , H. MkValueName " ==" ))
83- , (" and" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Bool" , H. MkValueName " &&" ))
84- , (" true" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Bool" , H. MkValueName " True" ))
85- , (" false" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Bool" , H. MkValueName " False" ))
86- ]
79+ lvEqBuiltinsPlutusTx :: LV. PrintRead (H. CabalPackageName , H. ModuleName , H. ValueName )
80+ lvEqBuiltinsPlutusTx = LV. MkPrintRead $ \ (_ty, refName) ->
81+ Map. lookup refName $
82+ Map. fromList
83+ [ (" eq" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Eq" , H. MkValueName " ==" ))
84+ , (" and" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Bool" , H. MkValueName " &&" ))
85+ , (" true" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Bool" , H. MkValueName " True" ))
86+ , (" false" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Bool" , H. MkValueName " False" ))
87+ ]
8788
8889printDeriveEqPlutusTx :: MonadPrint m => PC. ModuleName -> PC. TyDefs -> (Doc ann -> Doc ann ) -> PC. Ty -> m (Doc ann )
8990printDeriveEqPlutusTx mn iTyDefs mkInstanceDoc ty = do
@@ -100,19 +101,20 @@ printDeriveEqPlutusTx mn iTyDefs mkInstanceDoc ty = do
100101printInlineable :: H. ValueName -> Doc ann
101102printInlineable valName = " {-# INLINABLE" <+> H. printHsValName valName <+> " #-}"
102103
103- lvPlutusDataBuiltins :: Map LV. ValueName H. QValName
104- lvPlutusDataBuiltins =
105- Map. fromList
106- [ (" toPlutusData" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx" , H. MkValueName " toBuiltinData" ))
107- , (" fromPlutusData" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx" , H. MkValueName " fromBuiltinData" ))
108- , (" casePlutusData" , (H. MkCabalPackageName " lbr-plutus" , H. MkModuleName " LambdaBuffers.Runtime.Plutus" , H. MkValueName " casePlutusData" ))
109- , (" integerData" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Builtins" , H. MkValueName " mkI" ))
110- , (" constrData" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Builtins" , H. MkValueName " mkConstr" ))
111- , (" listData" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Builtins" , H. MkValueName " mkList" ))
112- , (" succeedParse" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Maybe" , H. MkValueName " Just" ))
113- , (" failParse" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Maybe" , H. MkValueName " Nothing" ))
114- , (" bindParse" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Prelude" , H. MkValueName " >>=" ))
115- ]
104+ lvPlutusDataBuiltins :: LV. PrintRead H. QValName
105+ lvPlutusDataBuiltins = LV. MkPrintRead $ \ (_ty, refName) ->
106+ Map. lookup refName $
107+ Map. fromList
108+ [ (" toPlutusData" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx" , H. MkValueName " toBuiltinData" ))
109+ , (" fromPlutusData" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx" , H. MkValueName " fromBuiltinData" ))
110+ , (" casePlutusData" , (H. MkCabalPackageName " lbr-plutus" , H. MkModuleName " LambdaBuffers.Runtime.Plutus" , H. MkValueName " casePlutusData" ))
111+ , (" integerData" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Builtins" , H. MkValueName " mkI" ))
112+ , (" constrData" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Builtins" , H. MkValueName " mkConstr" ))
113+ , (" listData" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Builtins" , H. MkValueName " mkList" ))
114+ , (" succeedParse" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Maybe" , H. MkValueName " Just" ))
115+ , (" failParse" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Maybe" , H. MkValueName " Nothing" ))
116+ , (" bindParse" , (H. MkCabalPackageName " plutus-tx" , H. MkModuleName " PlutusTx.Prelude" , H. MkValueName " >>=" ))
117+ ]
116118
117119toPlutusDataClassMethodName :: H. ValueName
118120toPlutusDataClassMethodName = H. MkValueName " toBuiltinData"
@@ -152,22 +154,23 @@ printDeriveFromPlutusData mn iTyDefs mkInstanceDoc ty = do
152154 return instanceDoc
153155
154156-- | LambdaBuffers.Codegen.LamVal.Json specification printing
155- lvJsonBuiltins :: Map LV. ValueName H. QValName
156- lvJsonBuiltins =
157- Map. fromList
158- [ (" toJson" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " toJson" ))
159- , (" fromJson" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " fromJson" ))
160- , (" jsonObject" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " jsonObject" ))
161- , (" jsonConstructor" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " jsonConstructor" ))
162- , (" jsonArray" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " jsonArray" ))
163- , (" caseJsonConstructor" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " caseJsonConstructor" ))
164- , (" caseJsonArray" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " caseJsonArray" ))
165- , (" caseJsonObject" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " caseJsonObject" ))
166- , (" jsonField" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " jsonField" ))
167- , (" succeedParse" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " return" ))
168- , (" failParse" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " fail" ))
169- , (" bindParse" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " >>=" ))
170- ]
157+ lvJsonBuiltins :: LV. PrintRead H. QValName
158+ lvJsonBuiltins = LV. MkPrintRead $ \ (_ty, refName) ->
159+ Map. lookup refName $
160+ Map. fromList
161+ [ (" toJson" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " toJson" ))
162+ , (" fromJson" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " fromJson" ))
163+ , (" jsonObject" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " jsonObject" ))
164+ , (" jsonConstructor" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " jsonConstructor" ))
165+ , (" jsonArray" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " jsonArray" ))
166+ , (" caseJsonConstructor" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " caseJsonConstructor" ))
167+ , (" caseJsonArray" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " caseJsonArray" ))
168+ , (" caseJsonObject" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " caseJsonObject" ))
169+ , (" jsonField" , (H. MkCabalPackageName " lbr-prelude" , H. MkModuleName " LambdaBuffers.Runtime.Prelude" , H. MkValueName " jsonField" ))
170+ , (" succeedParse" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " return" ))
171+ , (" failParse" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " fail" ))
172+ , (" bindParse" , (H. MkCabalPackageName " base" , H. MkModuleName " Prelude" , H. MkValueName " >>=" ))
173+ ]
171174
172175toJsonClassMethodName :: H. ValueName
173176toJsonClassMethodName = H. MkValueName " toJson"
0 commit comments