diff --git a/crates/aiken-project/src/blueprint/snapshots/aiken_project__blueprint__validator__tests__list_2_tuples_as_map.snap b/crates/aiken-project/src/blueprint/snapshots/aiken_project__blueprint__validator__tests__list_2_tuples_as_map.snap index 58d34124..f0feef6b 100644 --- a/crates/aiken-project/src/blueprint/snapshots/aiken_project__blueprint__validator__tests__list_2_tuples_as_map.snap +++ b/crates/aiken-project/src/blueprint/snapshots/aiken_project__blueprint__validator__tests__list_2_tuples_as_map.snap @@ -10,8 +10,8 @@ description: "Code:\n\ntype Dict {\n inner: List<(ByteArray, valu "$ref": "#/definitions/test_module~1Dict$test_module~1UUID_Int" } }, - "compiledCode": "59014e010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c736500136563253330043370e900018031baa0011325333009001153300600416132533300a300c002132498c8cc004004008894ccc03000452613233003003300f0023232325333333012001153300c00a16153300c00a16153300c00a161375a0022a660180142c601a00464a6666660220022a660160122c2a660160122c2a660160122c2a660160122c26eb8004c02c004c03400454cc01c01458c94cccccc03400454cc01c014584dd58008a998038028b0a998038028b0a998038028b180500098039baa001153300500316533333300a001100115330040021615330040021615330040021615330040021649011972656465656d65723a20446963743c555549442c20496e743e005734ae7155ceaab9e5573eae855d12ba41", - "hash": "de6d51e2a272ec0ab73566bbb32700ad5864fdd01290dd925e35ebb4", + "compiledCode": "59019c010000323232323232323232232253330054a22930a9980324811856616c696461746f722072657475726e65642066616c736500136563253330043370e900018031baa0011325333009001153300600416132533300a300c002132498c8cc004004008894ccc03000452613233003003300f0023232533300e001153300b00916132325333010001153300d00b1613253330113013002149854cc03803058c94cccccc05000454cc0380305854cc0380305854cc038030584dd68008a998070060b180880098088011929999998090008a998060050b0a998060050b0a998060050b0a998060050b09bae001300f0015333333010001153300a00816153300a00816137580022a660140102c2a660140102c601a0022a6600e00a2c64a66666601a0022a6600e00a2c2a6600e00a2c26eb000454cc01c0145854cc01c01458c028004c01cdd50008a998028018b299999980500088008a998020010b0a998020010b0a998020010b0a998020010b2491972656465656d65723a20446963743c555549442c20496e743e005734ae7155ceaab9e5573eae855d12ba41", + "hash": "6027685dde99d967b45333852fe9f59531237d85fcb6b6feb2890672", "definitions": { "ByteArray": { "dataType": "bytes" diff --git a/crates/aiken-project/src/blueprint/snapshots/aiken_project__blueprint__validator__tests__recursive_generic_types.snap b/crates/aiken-project/src/blueprint/snapshots/aiken_project__blueprint__validator__tests__recursive_generic_types.snap index 04517398..4b665b6a 100644 --- a/crates/aiken-project/src/blueprint/snapshots/aiken_project__blueprint__validator__tests__recursive_generic_types.snap +++ b/crates/aiken-project/src/blueprint/snapshots/aiken_project__blueprint__validator__tests__recursive_generic_types.snap @@ -16,8 +16,8 @@ description: "Code:\n\npub type LinkedList {\n Cons(a, LinkedList)\n Nil "$ref": "#/definitions/test_module~1LinkedList$Int" } }, - "compiledCode": "590409010000323232323232323232322323232322322533300b4a22930a998062491856616c696461746f722072657475726e65642066616c736500136563300353333330100011001153300a00716153300a00716153300a00716153300a00716007323253330093005001132533300e001153300b00916132533300f3011002132498c8cc00400400888c94ccc038c0280044c94ccc04c00454cc040038584c8c94ccc05400454cc048040584c94ccc058c0600084c926330070070011533013011163253333330190011001153301301116153301301116153301301116153301301116301600130160023253333330170011325333015301400115333011300c301300114a22a666022601a6026002294054cc0480405854cc04804058dd50008a998088078b0a998088078b0a998088078b0a998088078b180a00098089baa0021533300e300900115333012301137540042930a998078068b0a998078068b18079baa001153300c00a163253333330120011001153300c00a16153300c00a16153300c00a16153300c00a16300f001300c37540042a6660126008002264a66601c0022a660160122c26464a6660200022a6601a0162c264a66602260260042649319191980080099299999980b8008a998088078b0a998088078b09bac001153301100f16153301100f16301200322533301400114984c8cc00c00cc05c008c8cc02d4cccccc060004400454cc0480405854cc0480405854cc0480405854cc04804058040c054004c94cccccc05400454cc03c0345854cc03c0345854cc03c0345854cc03c034584dd700098078008a998070060b19299999980a0008a998070060b0a998070060b09929998090008a998078068b09929998098008a998080070b0a999809980a800899bb030140023014001153301000e16301400137580022a6601c0182c2a6601c0182c6022002602200464a6666660240022a660180142c2a660180142c2a660180142c26eb400454cc03002858c03c004c030dd50010a998050040b18051baa001533333300e00410041533008006161533008006161533008006161533008006162232330010010032232533300b30070011325333010001153300d00516132325333012001153300f0071613253330133015002132498cc01c01c00454cc04002058c94cccccc058004400454cc0400205854cc0400205854cc0400205854cc04002058c04c004c04c008c94cccccc05000454cc0380185854cc0380185854cc038018584dd68008a998070030b180880098071baa0021533300b30060011533300f300e37540042930a998060020b0a998060020b18061baa001370e90011b87480012411972656465656d65723a204c696e6b65644c6973743c496e743e0049010a646174756d3a20466f6f005734ae7155ceaab9e5573eae855d12ba41", - "hash": "451dccdc86f334c88e491fba78784300aa8f5523298f83b17b258d7d", + "compiledCode": "590403010000323232323232323232322323232322322533300b4a22930a998062491856616c696461746f722072657475726e65642066616c736500136563300353333330100011001153300a00716153300a00716153300a00716153300a00716007323253330093005001132533300e001153300b00916132533300f3011002132498c8cc00400400888c94ccc038c0280044c94ccc04c00454cc040038584c8c94ccc05400454cc048040584c94ccc058c0600084c926330070070011533013011163253333330190011001153301301116153301301116153301301116153301301116301600130160023253333330170011325333015301400115333011300c301300114a22a666022601a6026002294054cc0480405854cc04804058dd50008a998088078b0a998088078b0a998088078b0a998088078b180a00098089baa0021533300e300900115333012301137540042930a998078068b0a998078068b18079baa001153300c00a163253333330120011001153300c00a16153300c00a16153300c00a16153300c00a16300f001300c37540042a6660126008002264a66601c0022a660160122c26464a6660200022a6601a0162c264a66602260260042649329998088008a998070060b0991929998098008a998080070b099299980a180b00109924c646600200200444a66602c00229309919801801980c8011919806a99999980d00088008a9980a0090b0a9980a0090b0a9980a0090b0a9980a0090b009180b8008a998088078b19299999980b8008a998088078b0a998088078b09bac001153301100f16153301100f1630140013014002325333333015001153300f00d16153300f00d16153300f00d16153300f00d161375c00260240022a6601c0182c64a6666660280022a6601c0182c2a6601c0182c26eb000454cc0380305854cc03803058c044004c044008c94cccccc04800454cc0300285854cc0300285854cc030028584dd68008a998060050b180780098061baa002153300a00816300a3754002a66666601c00820082a6601000c2c2a6601000c2c2a6601000c2c2a6601000c2c4464660020020064464a666016600e002264a6660200022a6601a00a2c26464a6660240022a6601e00e2c264a666026602a00426493198038038008a998080040b19299999980b00088008a998080040b0a998080040b0a998080040b0a998080040b1809800980980119299999980a0008a998070030b0a998070030b0a998070030b09bad001153300e006163011001300e37540042a666016600c0022a66601e601c6ea8008526153300c00416153300c00416300c37540026e1d2002370e90002491972656465656d65723a204c696e6b65644c6973743c496e743e0049010a646174756d3a20466f6f005734ae7155ceaab9e5573eae855d12ba41", + "hash": "ff1413d8a35753076ff26df84e7829fde430f9920208fe0ba8ae3c52", "definitions": { "Bool": { "title": "Bool", diff --git a/crates/aiken-project/src/blueprint/snapshots/aiken_project__blueprint__validator__tests__tuples.snap b/crates/aiken-project/src/blueprint/snapshots/aiken_project__blueprint__validator__tests__tuples.snap index 6eaba3b0..d2369ff1 100644 --- a/crates/aiken-project/src/blueprint/snapshots/aiken_project__blueprint__validator__tests__tuples.snap +++ b/crates/aiken-project/src/blueprint/snapshots/aiken_project__blueprint__validator__tests__tuples.snap @@ -16,8 +16,8 @@ description: "Code:\n\nvalidator {\n fn tuples(datum: (Int, ByteArray), redeeme "$ref": "#/definitions/Tuple$Int_Int_Int" } }, - "compiledCode": "5901fc0100003232323232323232323223232232322533300a4a22930a99805a491856616c696461746f722072657475726e65642066616c73650013656533300c00115330090061613232533300e001153300b00816132325333010001153300d00a1613253330113013002149854cc03802c58c94cccccc05000454cc03802c5854cc03802c5854cc03802c584dd68008a998070058b180880098088011929999998090008a998060048b0a998060048b0a998060048b09bad001153300c00916300f001300f002325333333010001153300a00716153300a00716153300a007161375a0022a6601400e2c601a002a66666601c0022a6601000a2c2a6601000a2c26eb000454cc0200145854cc02001458c8c94cccccc03800454cc0200185854cc0200185854cc0200185854cc020018584dd700098048011929999998068008a998038028b0a998038028b0a998038028b09bad0011533007005163007001533333300b0011533005003161533005003161325333009001153300600416132533300a0011533007005161533300a300c001133760601600460160022a6600e00a2c60160026eb000454cc01400c5854cc01400c592411972656465656d65723a2028496e742c20496e742c20496e742900490117646174756d3a2028496e742c2042797465417272617929005734ae7155ceaab9e5573eae855d12ba41", - "hash": "9f4b38854cc56274f9baee929c3de458a0375d56fd5b47e8fe36f063", + "compiledCode": "5901ed010000323232323232323223232232322533300a4a22930a99805a491856616c696461746f722072657475726e65642066616c73650013656533300a00115330090061613232533300c001153300b0081613232533300e001153300d00a16132533300f3011002149854cc03802c58c94cccccc04800454cc03802c5854cc03802c5854cc03802c584dd68008a998070058b180780098078011929999998080008a998060048b0a998060048b0a998060048b09bad001153300c00916300d001300d00232533333300e001153300a00716153300a00716153300a007161375a0022a6601400e2c6016002a6666660180022a6601000a2c2a6601000a2c26eb000454cc0200145854cc020014594ccc01c00454cc018010584c8c94ccc02400454cc020018584c94ccc028c03000852615330090071632533333300d0011533009007161533009007161533009007161533009007161375c0026014002601400464a6666660160022a6600e00a2c2a6600e00a2c2a6600e00a2c26eb400454cc01c01458c0200054cccccc02400454cc01400c5854cc01400c584dd60008a998028018b0a998028018b24811972656465656d65723a2028496e742c20496e742c20496e742900490117646174756d3a2028496e742c2042797465417272617929005734ae7155cfaba15744ae91", + "hash": "9d5de9c290eb221450ae3f039b1ce3b9057f06cff7498d761e223eee", "definitions": { "ByteArray": { "dataType": "bytes" diff --git a/crates/aiken-project/src/tests/gen_uplc.rs b/crates/aiken-project/src/tests/gen_uplc.rs index ab6835c1..a36757cc 100644 --- a/crates/aiken-project/src/tests/gen_uplc.rs +++ b/crates/aiken-project/src/tests/gen_uplc.rs @@ -3726,14 +3726,16 @@ fn when_tuple_deconstruction() { .lambda("other_clauses") .apply(Term::bool(true).delay()) .lambda("dat") - .apply(Term::fst_pair().apply(Term::var("pair_subject"))) + .apply(Term::head_list().apply(Term::var("pair_subject"))) .lambda("red") - .apply(Term::snd_pair().apply(Term::var("pair_subject"))) + .apply(Term::head_list().apply(Term::tail_list().apply(Term::var("pair_subject")))) .lambda("pair_subject") .apply( - Term::mk_pair_data() - .apply(Term::var("dat")) - .apply(Term::var("red")), + Term::mk_cons().apply(Term::var("dat")).apply( + Term::mk_cons() + .apply(Term::var("red")) + .apply(Term::empty_list()), + ), ) .delayed_if_then_else( Term::unit(), @@ -4017,19 +4019,22 @@ fn when_tuple_empty_lists() { .delay(), ) .lambda("bucket_tuple_snd") - .apply( - Term::unlist_data() - .apply(Term::snd_pair().apply(Term::var("bucket_tuple"))), - ) + .apply(Term::unlist_data().apply( + Term::head_list().apply(Term::tail_list().apply(Term::var("bucket_tuple"))), + )) .delay(), ) .lambda("bucket_tuple_fst") - .apply(Term::unlist_data().apply(Term::fst_pair().apply(Term::var("bucket_tuple")))) + .apply(Term::unlist_data().apply(Term::head_list().apply(Term::var("bucket_tuple")))) .lambda("bucket_tuple") .apply( - Term::mk_pair_data() + Term::mk_cons() .apply(Term::list_data().apply(Term::var("bucket1"))) - .apply(Term::list_data().apply(Term::var("bucket2"))), + .apply( + Term::mk_cons() + .apply(Term::list_data().apply(Term::var("bucket2"))) + .apply(Term::empty_list()), + ), ) .lambda("bucket2") .apply(Term::list_values(vec![ @@ -6673,34 +6678,19 @@ fn tuple_2_match() { .lambda("x2") .apply( Term::un_i_data().apply( - Term::fst_pair().apply(Term::var("field_0_pair")), + Term::head_list().apply(Term::var("field_0_pair")), ), ) .lambda("y2") - .apply( - Term::un_i_data().apply( - Term::snd_pair().apply(Term::var("field_0_pair")), + .apply(Term::un_i_data().apply( + Term::head_list().apply( + Term::tail_list().apply(Term::var("field_0_pair")), ), - ) + )) .lambda("field_0_pair") - .apply( - Term::mk_pair_data() - .apply( - Term::head_list().apply(Term::var("__list_data")), - ) - .apply(Term::head_list().apply(Term::var("__tail"))) - .lambda("__tail") - .apply( - Term::tail_list().apply(Term::var("__list_data")), - ) - .lambda("__list_data") - .apply( - Term::unlist_data().apply( - Term::head_list() - .apply(Term::var("tuple_index_1_fields")), - ), - ), - ) + .apply(Term::unlist_data().apply( + Term::head_list().apply(Term::var("tuple_index_1_fields")), + )) .lambda("tuple_index_1_fields") .apply( Term::var(CONSTR_FIELDS_EXPOSER) @@ -6713,24 +6703,20 @@ fn tuple_2_match() { .lambda("x1") .apply( Term::un_i_data() - .apply(Term::fst_pair().apply(Term::var("field_0_pair"))), + .apply(Term::head_list().apply(Term::var("field_0_pair"))), ) .lambda("y1") .apply( - Term::un_i_data() - .apply(Term::snd_pair().apply(Term::var("field_0_pair"))), + Term::un_i_data().apply( + Term::head_list() + .apply(Term::tail_list().apply(Term::var("field_0_pair"))), + ), ) .lambda("field_0_pair") .apply( - Term::mk_pair_data() - .apply(Term::head_list().apply(Term::var("__list_data"))) - .apply(Term::head_list().apply(Term::var("__tail"))) - .lambda("__tail") - .apply(Term::tail_list().apply(Term::var("__list_data"))) - .lambda("__list_data") - .apply(Term::unlist_data().apply( - Term::head_list().apply(Term::var("tuple_index_0_fields")), - )), + Term::unlist_data().apply( + Term::head_list().apply(Term::var("tuple_index_0_fields")), + ), ) .lambda("tuple_index_0_fields") .apply( @@ -6794,14 +6780,16 @@ fn tuple_2_match() { .delay(), ) .lambda("tuple_index_0") - .apply(Term::fst_pair().apply(Term::var("input"))) + .apply(Term::head_list().apply(Term::var("input"))) .lambda("tuple_index_1") - .apply(Term::snd_pair().apply(Term::var("input"))) + .apply(Term::head_list().apply(Term::tail_list().apply(Term::var("input")))) .lambda("input") .apply( - Term::mk_pair_data() - .apply(Term::var("ec1")) - .apply(Term::var("ec2")), + Term::mk_cons().apply(Term::var("ec1")).apply( + Term::mk_cons() + .apply(Term::var("ec2")) + .apply(Term::empty_list()), + ), ) .lambda("ec2") .lambda("ec1"),