Skip to content

Commit d972a38

Browse files
committed
Rename CodeResult to EvalResult with its accessor functions.
1 parent 24a8cd1 commit d972a38

File tree

6 files changed

+63
-82
lines changed

6 files changed

+63
-82
lines changed

doc/docusaurus/docs/using-plinth/evaluating-plinth.md

+16-16
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ So that we can import the necessary functionality:
3131

3232
```haskell
3333
import PlutusTx.Test (
34-
CodeResult,
34+
EvalResult,
3535
applyLifted,
3636
evaluateCompiledCode,
37-
prettyCodeResult
37+
prettyEvalResult
3838
)
3939
```
4040

@@ -45,35 +45,35 @@ It is possible to evaluate this compiled code without applying it to any argumen
4545
and evaluation will succeed, returning the value of type `Integer -> Integer`:
4646

4747
```haskell
48-
result :: CodeResult
48+
result :: EvalResult
4949
result = evaluateCompiledCode compiledCode
5050
```
5151

52-
The `CodeResult` type is declared as follows:
52+
The `EvalResult` type is declared as follows:
5353

5454
```haskell
55-
data CodeResult = CodeResult
56-
{ codeResult
55+
data EvalResult = EvalResult
56+
{ evalResult
5757
:: Either
5858
(CekEvaluationException NamedDeBruijn DefaultUni DefaultFun)
5959
(NTerm DefaultUni DefaultFun ())
60-
, codeBudget :: ExBudget
61-
, codeTraces :: [Text]
60+
, evalResultBudget :: ExBudget
61+
, evalResultTraces :: [Text]
6262
}
6363
deriving stock (Show)
6464
```
6565

66-
The `codeResult` field contains the result of the evaluation, which can either be a successful evaluation or an error.
66+
The `evalResult` field contains the result of the evaluation, which can either be a successful evaluation or an error.
6767

68-
The `codeBudget` field contains the execution budget used during the evaluation,
68+
The `evalResultBudget` field contains the execution budget used during the evaluation,
6969
which includes the CPU and memory usage.
7070

71-
The `codeTraces` field contains the traces emitted during the evaluation.
71+
The `evalResultTraces` field contains the traces emitted during the evaluation.
7272

7373
One can use its `Show` instance to print the result of the evaluation:
7474
```haskell
75-
CodeResult
76-
{ codeResult =
75+
EvalResult
76+
{ evalResult =
7777
Right
7878
( LamAbs
7979
()
@@ -110,17 +110,17 @@ CodeResult
110110
)
111111
)
112112
)
113-
, codeBudget =
113+
, evalResultBudget =
114114
ExBudget
115115
{ exBudgetCPU = ExCPU 16100
116116
, exBudgetMemory = ExMemory 200
117117
}
118-
, codeTraces = []
118+
, evalResultTraces = []
119119
}
120120
```
121121

122122
The output is quite verbose and not very readable.
123-
To make it more readable, we can use the `prettyCodeResult` function,
123+
To make it more readable, we can use the `prettyEvalResult` function,
124124
which formats the output in a prettier way:
125125

126126
```

doc/docusaurus/static/code/Example/Evaluation/Main.hs

+7-7
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import PlutusTx.Plugin (plc)
1616
import PlutusTx.Prelude
1717
import Prelude (IO)
1818

19-
import PlutusTx.Test (CodeResult, applyLifted, evaluateCompiledCode, prettyCodeResult)
19+
import PlutusTx.Test (EvalResult, applyLifted, evaluateCompiledCode, prettyEvalResult)
2020

2121
-- BEGIN Plinth
2222
plinthCode :: Integer -> Integer
@@ -27,30 +27,30 @@ compiledCode = plc (Proxy @"plinth") plinthCode
2727
-- END Plinth
2828

2929
{-
30-
CodeResult
31-
{ codeResult = Right
30+
EvalResult
31+
{ evalResult = Right
3232
( Constant ()
3333
( Some
3434
( ValueOf DefaultUniInteger 4 )
3535
)
3636
)
37-
, codeBudget = ExBudget
37+
, evalResultBudget = ExBudget
3838
{ exBudgetCPU = ExCPU 508304
3939
, exBudgetMemory = ExMemory 1966
4040
}
41-
, codeTraces =
41+
, evalResultTraces =
4242
[ "Evaluating x"
4343
, "Evaluating constant"
4444
]
4545
}
4646
-}
4747

4848
-- BEGIN AppliedResult
49-
result :: CodeResult
49+
result :: EvalResult
5050
result = evaluateCompiledCode $ compiledCode `applyLifted` 2
5151
-- END AppliedResult
5252

5353
-- BEGIN main
5454
main :: IO ()
55-
main = Text.putStrLn $ prettyCodeResult result
55+
main = Text.putStrLn $ prettyEvalResult result
5656
-- END main

plutus-tx-plugin/test/AssocMap/Properties3.hs

+4-4
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import PlutusTx.IsData qualified as P
3030
import PlutusTx.Lift (liftCodeDef)
3131
import PlutusTx.List qualified as PlutusTx
3232
import PlutusTx.Prelude qualified as PlutusTx
33-
import PlutusTx.Test.Run.Code (codeResult, evaluateCompiledCode, evaluationResultMatchesHaskell)
33+
import PlutusTx.Test.Run.Code (evalResult, evaluateCompiledCode, evaluationResultMatchesHaskell)
3434
import PlutusTx.TH (compile)
3535

3636
import PlutusTx.These (These (..))
@@ -222,9 +222,9 @@ builtinDataEncodingSpec = property $ do
222222
assocMapS <- forAll genAssocMapS
223223
let assocMap = semanticsToAssocMap assocMapS
224224
dataAssocMap = semanticsToDataAssocMap assocMapS
225-
evalResult = codeResult . evaluateCompiledCode
226-
evalResult (encodedDataAssocMap `unsafeApplyCode` liftCodeDef dataAssocMap)
227-
=== evalResult (encodedAssocMap `unsafeApplyCode` liftCodeDef assocMap)
225+
eval = evalResult . evaluateCompiledCode
226+
eval (encodedDataAssocMap `unsafeApplyCode` liftCodeDef dataAssocMap)
227+
=== eval (encodedAssocMap `unsafeApplyCode` liftCodeDef assocMap)
228228
evaluationResultMatchesHaskell
229229
(mDecodedAssocMap `unsafeApplyCode` liftCodeDef assocMap)
230230
(===)

plutus-tx-plugin/test/ShortCircuit/Spec.hs

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import Control.Lens ((&))
1414
import PlutusCore.Default (DefaultFun, DefaultUni)
1515
import PlutusTx.Code (CompiledCode, unsafeApplyCode)
1616
import PlutusTx.Lift (liftCodeDef)
17-
import PlutusTx.Test.Run.Code (codeResult, evaluateCompiledCode)
17+
import PlutusTx.Test.Run.Code (evalResult, evaluateCompiledCode)
1818
import PlutusTx.TH (compile)
1919
import Test.Tasty (TestTree, testGroup)
2020
import Test.Tasty.HUnit (Assertion, assertEqual, assertFailure, testCase)
@@ -47,7 +47,7 @@ tests =
4747

4848
assertResult :: NTerm DefaultUni DefaultFun () -> CompiledCode a -> Assertion
4949
assertResult expected code =
50-
case codeResult (evaluateCompiledCode code) of
50+
case evalResult (evaluateCompiledCode code) of
5151
Left ex -> assertFailure $ show ex
5252
Right actual -> assertEqual "Evaluation has succeeded" expected actual
5353

plutus-tx/testlib/PlutusTx/Test/Golden.hs

+11-30
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
{-# LANGUAGE FlexibleContexts #-}
2-
{-# LANGUAGE KindSignatures #-}
1+
{-# LANGUAGE FlexibleContexts #-}
2+
{-# LANGUAGE KindSignatures #-}
33
{-# LANGUAGE MultiParamTypeClasses #-}
4-
{-# LANGUAGE OverloadedStrings #-}
5-
{-# LANGUAGE TypeApplications #-}
6-
{-# LANGUAGE TypeOperators #-}
4+
{-# LANGUAGE OverloadedStrings #-}
5+
{-# LANGUAGE TypeApplications #-}
6+
{-# LANGUAGE TypeOperators #-}
77

88
module PlutusTx.Test.Golden (
99
-- * Compilation testing
@@ -35,31 +35,12 @@ import Data.Text (Text)
3535
import Flat (Flat)
3636
import PlutusCore qualified as PLC
3737
import PlutusCore.Evaluation.Machine.ExBudget qualified as PLC
38-
import PlutusCore.Pretty (
39-
Pretty (pretty),
40-
PrettyBy (prettyBy),
41-
PrettyConfigClassic,
42-
PrettyConfigName,
43-
PrettyUni,
44-
Render (render),
45-
prettyClassicSimple,
46-
prettyPlcClassicSimple,
47-
prettyReadable,
48-
prettyReadableSimple,
49-
)
50-
import PlutusCore.Test (
51-
TestNested,
52-
ToUPlc (..),
53-
goldenSize,
54-
goldenTPlc,
55-
goldenUPlc,
56-
goldenUPlcReadable,
57-
nestedGoldenVsDoc,
58-
nestedGoldenVsDocM,
59-
ppCatch,
60-
rethrow,
61-
runUPlcBudget,
62-
)
38+
import PlutusCore.Pretty (Pretty (pretty), PrettyBy (prettyBy), PrettyConfigClassic,
39+
PrettyConfigName, PrettyUni, Render (render), prettyClassicSimple,
40+
prettyPlcClassicSimple, prettyReadable, prettyReadableSimple)
41+
import PlutusCore.Test (TestNested, ToUPlc (..), goldenSize, goldenTPlc, goldenUPlc,
42+
goldenUPlcReadable, nestedGoldenVsDoc, nestedGoldenVsDocM, ppCatch, rethrow,
43+
runUPlcBudget)
6344
import PlutusIR.Core.Type (progTerm)
6445
import PlutusIR.Test ()
6546
import PlutusTx.Code (CompiledCode, CompiledCodeIn, getPir, getPirNoAnn)

plutus-tx/testlib/PlutusTx/Test/Run/Code.hs

+23-23
Original file line numberDiff line numberDiff line change
@@ -30,28 +30,28 @@ import UntypedPlutusCore.Evaluation.Machine.Cek (CekEvaluationException, Countin
3030
logEmitter)
3131
import UntypedPlutusCore.Evaluation.Machine.Cek.Internal (NTerm, runCekDeBruijn)
3232

33-
data CodeResult = CodeResult
34-
{ codeResult
33+
data EvalResult = EvalResult
34+
{ evalResult
3535
:: Either
3636
(CekEvaluationException NamedDeBruijn DefaultUni DefaultFun)
3737
(NTerm DefaultUni DefaultFun ())
38-
, codeBudget :: ExBudget
39-
, codeTraces :: [Text]
38+
, evalResultBudget :: ExBudget
39+
, evalResultTraces :: [Text]
4040
}
4141
deriving stock (Show)
4242

43-
instance Pretty CodeResult where
43+
instance Pretty EvalResult where
4444
pretty
45-
CodeResult
46-
{ codeBudget =
45+
EvalResult
46+
{ evalResultBudget =
4747
ExBudget
4848
{ exBudgetCPU = ExCPU cpu
4949
, exBudgetMemory = ExMemory mem
5050
}
5151
, ..
5252
} =
5353
vsep
54-
[ case codeResult of
54+
[ case evalResult of
5555
Left err ->
5656
vsep
5757
[ "Evaluation FAILED:"
@@ -70,39 +70,39 @@ instance Pretty CodeResult where
7070
, "MEM" <+> pretty (format commas (unSatInt mem))
7171
]
7272
, mempty
73-
, if null codeTraces
73+
, if null evalResultTraces
7474
then "No traces were emitted"
7575
else
7676
vsep
7777
[ "Evaluation"
78-
<+> plural "trace" "traces" (length codeTraces)
78+
<+> plural "trace" "traces" (length evalResultTraces)
7979
<> ":"
8080
, indent 2 $
8181
vsep $
8282
zipWith
8383
(\idx trace -> pretty idx <> dot <+> pretty trace)
8484
[1 :: Int ..]
85-
codeTraces
85+
evalResultTraces
8686
]
8787
, mempty
8888
]
8989

90-
prettyCodeResult :: CodeResult -> Text
91-
prettyCodeResult = display
90+
prettyEvalResult :: EvalResult -> Text
91+
prettyEvalResult = display
9292

93-
evaluateCompiledCode :: CompiledCode a -> CodeResult
94-
evaluateCompiledCode code = CodeResult{..}
93+
evaluateCompiledCode :: CompiledCode a -> EvalResult
94+
evaluateCompiledCode code = EvalResult{..}
9595
where
9696
term = getPlc code ^. progTerm
9797
params = defaultCekParametersForTesting
98-
(codeResult, CountingSt codeBudget, codeTraces) =
98+
(evalResult, CountingSt evalResultBudget, evalResultTraces) =
9999
runCekDeBruijn params counting logEmitter term
100100

101101
evaluatesToError :: CompiledCode a -> Bool
102102
evaluatesToError = not . evaluatesWithoutError
103103

104104
evaluatesWithoutError :: CompiledCode a -> Bool
105-
evaluatesWithoutError code = isRight (codeResult (evaluateCompiledCode code))
105+
evaluatesWithoutError code = isRight (evalResult (evaluateCompiledCode code))
106106

107107
{-| Evaluate 'CompiledCode' and check that the result matches a given Haskell value
108108
(perhaps obtained by running the Haskell code that the term was compiled
@@ -126,28 +126,28 @@ evaluationResultMatchesHaskell actual =
126126
assertEvaluatesSuccessfully :: CompiledCode a -> Assertion
127127
assertEvaluatesSuccessfully code = do
128128
case evaluateCompiledCode code of
129-
CodeResult{codeResult = Right _} -> pure ()
130-
CodeResult{codeResult = Left err, codeTraces} ->
129+
EvalResult{evalResult = Right _} -> pure ()
130+
EvalResult{evalResult = Left err, evalResultTraces} ->
131131
assertFailure $
132132
Text.unpack $
133133
Text.unlines
134134
[ "Evaluation failed with an error:"
135135
, render (prettyPlcClassicSimple err)
136136
, "Evaluation traces:"
137-
, Text.unlines codeTraces
137+
, Text.unlines evalResultTraces
138138
]
139139

140140
assertEvaluatesWithError :: CompiledCode a -> Assertion
141141
assertEvaluatesWithError code = do
142142
case evaluateCompiledCode code of
143-
CodeResult{codeResult = Left _} -> pure ()
144-
CodeResult{codeResult = Right _, codeTraces} ->
143+
EvalResult{evalResult = Left _} -> pure ()
144+
EvalResult{evalResult = Right _, evalResultTraces} ->
145145
assertFailure $
146146
Text.unpack $
147147
Text.unlines
148148
[ "Evaluation succeeded, but expected an error."
149149
, "Evaluation traces:"
150-
, Text.unlines codeTraces
150+
, Text.unlines evalResultTraces
151151
]
152152

153153
--------------------------------------------------------------------------------

0 commit comments

Comments
 (0)