Skip to content

Commit bdce611

Browse files
committed
wip
1 parent 38add93 commit bdce611

File tree

11 files changed

+1353
-936
lines changed

11 files changed

+1353
-936
lines changed

src/Juvix/Compiler/Concrete/Data/Builtins.hs

+6
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,8 @@ data BuiltinAxiom
280280
| BuiltinAnomaRandomSplit
281281
| BuiltinAnomaIsCommitment
282282
| BuiltinAnomaIsNullifier
283+
| BuiltinAnomaActionCreate
284+
| BuiltinAnomaTransactionCompose
283285
| BuiltinAnomaSet
284286
| BuiltinAnomaSetToList
285287
| BuiltinAnomaSetFromList
@@ -350,6 +352,8 @@ instance HasNameKind BuiltinAxiom where
350352
BuiltinAnomaRandomSplit -> KNameFunction
351353
BuiltinAnomaIsCommitment -> KNameFunction
352354
BuiltinAnomaIsNullifier -> KNameFunction
355+
BuiltinAnomaActionCreate -> KNameFunction
356+
BuiltinAnomaTransactionCompose -> KNameFunction
353357
BuiltinPoseidon -> KNameFunction
354358
BuiltinEcOp -> KNameFunction
355359
BuiltinRandomEcPoint -> KNameFunction
@@ -427,6 +431,8 @@ instance Pretty BuiltinAxiom where
427431
BuiltinAnomaRandomSplit -> Str.anomaRandomSplit
428432
BuiltinAnomaIsCommitment -> Str.anomaIsCommitment
429433
BuiltinAnomaIsNullifier -> Str.anomaIsNullifier
434+
BuiltinAnomaTransactionCompose -> Str.anomaTransactionCompose
435+
BuiltinAnomaActionCreate -> Str.anomaActionCreate
430436
BuiltinAnomaSet -> Str.anomaSet
431437
BuiltinAnomaSetToList -> Str.anomaSetToList
432438
BuiltinAnomaSetFromList -> Str.anomaSetFromList

src/Juvix/Compiler/Core/Translation/FromInternal.hs

+20
Original file line numberDiff line numberDiff line change
@@ -703,6 +703,8 @@ builtinInductive a =
703703
Internal.BuiltinAnomaRandomSplit -> Nothing
704704
Internal.BuiltinAnomaIsCommitment -> Nothing
705705
Internal.BuiltinAnomaIsNullifier -> Nothing
706+
Internal.BuiltinAnomaActionCreate -> Nothing
707+
Internal.BuiltinAnomaTransactionCompose -> Nothing
706708
Internal.BuiltinAnomaSet -> Just (registerInductiveAxiom (Just BuiltinAnomaSet) [])
707709
Internal.BuiltinAnomaSetToList -> Nothing
708710
Internal.BuiltinAnomaSetFromList -> Nothing
@@ -1039,6 +1041,22 @@ goAxiomDef a = maybe goAxiomNotBuiltin builtinBody (a ^. Internal.axiomBuiltin)
10391041
natType
10401042
(mkBuiltinApp' OpAnomaIsCommitment [mkVar' 0])
10411043
)
1044+
Internal.BuiltinAnomaActionCreate -> do
1045+
registerAxiomDef
1046+
. mkLambda'
1047+
mkDynamic'
1048+
. mkLambda'
1049+
mkDynamic'
1050+
. mkLambda'
1051+
mkDynamic'
1052+
$ mkBuiltinApp' OpAnomaActionCreate [mkVar' 2, mkVar' 1, mkVar' 0]
1053+
Internal.BuiltinAnomaTransactionCompose -> do
1054+
registerAxiomDef
1055+
. mkLambda'
1056+
mkDynamic'
1057+
. mkLambda'
1058+
mkDynamic'
1059+
$ mkBuiltinApp' OpAnomaTransactionCompose [mkVar' 1, mkVar' 0]
10421060
Internal.BuiltinAnomaIsNullifier -> do
10431061
natType <- getNatType
10441062
registerAxiomDef
@@ -1518,6 +1536,8 @@ goApplication a = do
15181536
Just Internal.BuiltinAnomaRandomSplit -> app
15191537
Just Internal.BuiltinAnomaIsCommitment -> app
15201538
Just Internal.BuiltinAnomaIsNullifier -> app
1539+
Just Internal.BuiltinAnomaTransactionCompose -> app
1540+
Just Internal.BuiltinAnomaActionCreate -> app
15211541
Just Internal.BuiltinAnomaSet -> app
15221542
Just Internal.BuiltinAnomaSetToList -> app
15231543
Just Internal.BuiltinAnomaSetFromList -> app

src/Juvix/Compiler/Core/Translation/Stripped/FromCore.hs

+2
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,8 @@ fromCore' tab =
147147
BuiltinAnomaRandomSplit -> False
148148
BuiltinAnomaIsCommitment -> False
149149
BuiltinAnomaIsNullifier -> False
150+
BuiltinAnomaTransactionCompose -> False
151+
BuiltinAnomaActionCreate -> False
150152
BuiltinAnomaSet -> False
151153
BuiltinAnomaSetToList -> False
152154
BuiltinAnomaSetFromList -> False

src/Juvix/Compiler/Internal/Translation/FromConcrete.hs

+2
Original file line numberDiff line numberDiff line change
@@ -1081,6 +1081,8 @@ checkBuiltinAxiom d b = localBuiltins $ case b of
10811081
BuiltinAnomaRandomSplit -> checkAnomaRandomSplit d
10821082
BuiltinAnomaIsCommitment -> checkAnomaIsCommitment d
10831083
BuiltinAnomaIsNullifier -> checkAnomaIsNullifier d
1084+
BuiltinAnomaActionCreate -> return ()
1085+
BuiltinAnomaTransactionCompose -> return ()
10841086
BuiltinAnomaSet -> checkAnomaSet d
10851087
BuiltinAnomaSetToList -> checkAnomaSetToList d
10861088
BuiltinAnomaSetFromList -> checkAnomaSetFromList d

test/Anoma.hs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ allTests :: TestTree
88
allTests =
99
testGroup
1010
"Anoma tests"
11-
[ Compilation.allTests,
12-
Client.allTests
11+
[ Compilation.allTests
12+
-- Client.allTests
1313
]

0 commit comments

Comments
 (0)