From 599791a21d704803be8af12dc66298cd41260b4e Mon Sep 17 00:00:00 2001 From: Yura Lazarev Date: Fri, 24 Apr 2026 18:35:56 +0200 Subject: [PATCH 1/2] chore(submissions): apply alpha-rename to Scalus 0.16.0 factorial/fibonacci Refresh factorial_naive_recursion and fibonacci_naive_recursion Scalus 0.16.0 artifacts with the AST-level alpha-rename pass (commit 2126a80 in Unisay/scalus-cape-submissions). Purely-alphabetic identifiers ensure compatibility with the plutus-core 1.45 textual parser. Textual UPLC size reduction (de Bruijn flat encoding / metrics unchanged): factorial.uplc: 679 -> 416 bytes (-38.7%) fibonacci.uplc: 1008 -> 623 bytes (-38.2%) --- .../Scalus_0.16.0_Unisay/factorial.uplc | 16 +++++-------- .../Scalus_0.16.0_Unisay/metadata.json | 4 ++-- .../Scalus_0.16.0_Unisay/source/README.md | 6 ++--- .../Scalus_0.16.0_Unisay/fibonacci.uplc | 23 ++++++++----------- .../Scalus_0.16.0_Unisay/metadata.json | 4 ++-- .../Scalus_0.16.0_Unisay/source/README.md | 6 ++--- 6 files changed, 25 insertions(+), 34 deletions(-) diff --git a/submissions/factorial_naive_recursion/Scalus_0.16.0_Unisay/factorial.uplc b/submissions/factorial_naive_recursion/Scalus_0.16.0_Unisay/factorial.uplc index 9195f70d..046533ad 100644 --- a/submissions/factorial_naive_recursion/Scalus_0.16.0_Unisay/factorial.uplc +++ b/submissions/factorial_naive_recursion/Scalus_0.16.0_Unisay/factorial.uplc @@ -1,12 +1,8 @@ -(program 1.1.0 [(lam __builtin_IfThenElse - [(lam ff - [(lam xx [ff (lam vv [xx xx vv])]) (lam xx [ff (lam vv [xx xx vv])])]) - (lam factorial_naive_recursion_FactorialNaiveRecursion__factorial28 - (lam n-2831429 - (force (case (constr 0 [(builtin lessThanEqualsInteger) n-2831429 +(program 1.1.0 [(lam a + [(lam b [(lam c [b (lam d [c c d])]) (lam c [b (lam d [c c d])])]) (lam e + (lam f + (force (case (constr 0 [(builtin lessThanEqualsInteger) f (con integer 0)] (delay (con integer 1)) - (delay [(builtin multiplyInteger) n-2831429 - [factorial_naive_recursion_FactorialNaiveRecursion__factorial28 - [(builtin subtractInteger) n-2831429 - (con integer 1)]]])) __builtin_IfThenElse))))]) + (delay [(builtin multiplyInteger) f [e + [(builtin subtractInteger) f (con integer 1)]]])) a))))]) (force (builtin ifThenElse))]) \ No newline at end of file diff --git a/submissions/factorial_naive_recursion/Scalus_0.16.0_Unisay/metadata.json b/submissions/factorial_naive_recursion/Scalus_0.16.0_Unisay/metadata.json index 57a968bf..c66dadfc 100644 --- a/submissions/factorial_naive_recursion/Scalus_0.16.0_Unisay/metadata.json +++ b/submissions/factorial_naive_recursion/Scalus_0.16.0_Unisay/metadata.json @@ -19,7 +19,7 @@ "date": "2026-04-21T12:00:00Z", "source_available": true, "source_repository": "https://github.com/Unisay/scalus-cape-submissions", - "source_commit_hash": "e02e7f74322a81622ff51bb41c6d671e09032379", - "implementation_notes": "Scalus with default options (naive recursive implementation, no optimization)" + "source_commit_hash": "2126a807bbe2a744e2b924bda3099881e09d969f", + "implementation_notes": "Scalus with default options (naive recursive implementation, no optimization). AST-level alpha-rename pass applied: all generated identifiers rewritten to short purely-alphabetic names before serialisation." } } diff --git a/submissions/factorial_naive_recursion/Scalus_0.16.0_Unisay/source/README.md b/submissions/factorial_naive_recursion/Scalus_0.16.0_Unisay/source/README.md index e5fe06fa..8237d5b2 100644 --- a/submissions/factorial_naive_recursion/Scalus_0.16.0_Unisay/source/README.md +++ b/submissions/factorial_naive_recursion/Scalus_0.16.0_Unisay/source/README.md @@ -1,10 +1,10 @@ # Scalus Factorial Naive Recursion Implementation -**Source Code**: [FactorialNaiveRecursion.scala](https://github.com/Unisay/scalus-cape-submissions/blob/e02e7f74322a81622ff51bb41c6d671e09032379/src/factorial_naive_recursion/FactorialNaiveRecursion.scala) +**Source Code**: [FactorialNaiveRecursion.scala](https://github.com/Unisay/scalus-cape-submissions/blob/2126a807bbe2a744e2b924bda3099881e09d969f/src/factorial_naive_recursion/FactorialNaiveRecursion.scala) **Repository**: -**Commit**: `e02e7f74322a81622ff51bb41c6d671e09032379` +**Commit**: `2126a807bbe2a744e2b924bda3099881e09d969f` **Path**: `src/factorial_naive_recursion/FactorialNaiveRecursion.scala` @@ -22,7 +22,7 @@ This submission uses Scalus compiler version 0.16.0 with a naive recursive imple 2. Check out the specific commit: ```bash - git checkout e02e7f74322a81622ff51bb41c6d671e09032379 + git checkout 2126a807bbe2a744e2b924bda3099881e09d969f ``` 3. Follow build instructions in the repository README diff --git a/submissions/fibonacci_naive_recursion/Scalus_0.16.0_Unisay/fibonacci.uplc b/submissions/fibonacci_naive_recursion/Scalus_0.16.0_Unisay/fibonacci.uplc index 2b25e053..48521609 100644 --- a/submissions/fibonacci_naive_recursion/Scalus_0.16.0_Unisay/fibonacci.uplc +++ b/submissions/fibonacci_naive_recursion/Scalus_0.16.0_Unisay/fibonacci.uplc @@ -1,16 +1,11 @@ -(program 1.1.0 [(lam __builtin_IfThenElse - [(lam ff - [(lam xx [ff (lam vv [xx xx vv])]) (lam xx [ff (lam vv [xx xx vv])])]) - (lam fibonacci_naive_recursion_FibonacciNaiveRecursion__fibonacci28 - (lam n-2924829 - (force (case (constr 0 [(builtin lessThanEqualsInteger) n-2924829 - (con integer 1)] (delay n-2924829) - (delay (force (case (constr 0 [(builtin equalsInteger) n-2924829 +(program 1.1.0 [(lam a + [(lam b [(lam c [b (lam d [c c d])]) (lam c [b (lam d [c c d])])]) (lam e + (lam f + (force (case (constr 0 [(builtin lessThanEqualsInteger) f + (con integer 1)] (delay f) + (delay (force (case (constr 0 [(builtin equalsInteger) f (con integer 2)] (delay (con integer 1)) - (delay [(builtin addInteger) - [fibonacci_naive_recursion_FibonacciNaiveRecursion__fibonacci28 - [(builtin subtractInteger) n-2924829 (con integer 1)]] - [fibonacci_naive_recursion_FibonacciNaiveRecursion__fibonacci28 - [(builtin subtractInteger) n-2924829 - (con integer 2)]]])) __builtin_IfThenElse)))) __builtin_IfThenElse))))]) + (delay [(builtin addInteger) [e [(builtin subtractInteger) f + (con integer 1)]] [e [(builtin subtractInteger) f + (con integer 2)]]])) a)))) a))))]) (force (builtin ifThenElse))]) \ No newline at end of file diff --git a/submissions/fibonacci_naive_recursion/Scalus_0.16.0_Unisay/metadata.json b/submissions/fibonacci_naive_recursion/Scalus_0.16.0_Unisay/metadata.json index 57a968bf..c66dadfc 100644 --- a/submissions/fibonacci_naive_recursion/Scalus_0.16.0_Unisay/metadata.json +++ b/submissions/fibonacci_naive_recursion/Scalus_0.16.0_Unisay/metadata.json @@ -19,7 +19,7 @@ "date": "2026-04-21T12:00:00Z", "source_available": true, "source_repository": "https://github.com/Unisay/scalus-cape-submissions", - "source_commit_hash": "e02e7f74322a81622ff51bb41c6d671e09032379", - "implementation_notes": "Scalus with default options (naive recursive implementation, no optimization)" + "source_commit_hash": "2126a807bbe2a744e2b924bda3099881e09d969f", + "implementation_notes": "Scalus with default options (naive recursive implementation, no optimization). AST-level alpha-rename pass applied: all generated identifiers rewritten to short purely-alphabetic names before serialisation." } } diff --git a/submissions/fibonacci_naive_recursion/Scalus_0.16.0_Unisay/source/README.md b/submissions/fibonacci_naive_recursion/Scalus_0.16.0_Unisay/source/README.md index c910f442..a3591cb9 100644 --- a/submissions/fibonacci_naive_recursion/Scalus_0.16.0_Unisay/source/README.md +++ b/submissions/fibonacci_naive_recursion/Scalus_0.16.0_Unisay/source/README.md @@ -1,10 +1,10 @@ # Scalus Fibonacci Naive Recursion Implementation -**Source Code**: [FibonacciNaiveRecursion.scala](https://github.com/Unisay/scalus-cape-submissions/blob/e02e7f74322a81622ff51bb41c6d671e09032379/src/fibonacci_naive_recursion/FibonacciNaiveRecursion.scala) +**Source Code**: [FibonacciNaiveRecursion.scala](https://github.com/Unisay/scalus-cape-submissions/blob/2126a807bbe2a744e2b924bda3099881e09d969f/src/fibonacci_naive_recursion/FibonacciNaiveRecursion.scala) **Repository**: -**Commit**: `e02e7f74322a81622ff51bb41c6d671e09032379` +**Commit**: `2126a807bbe2a744e2b924bda3099881e09d969f` **Path**: `src/fibonacci_naive_recursion/FibonacciNaiveRecursion.scala` @@ -22,7 +22,7 @@ This submission uses Scalus compiler version 0.16.0 with a naive recursive imple 2. Check out the specific commit: ```bash - git checkout e02e7f74322a81622ff51bb41c6d671e09032379 + git checkout 2126a807bbe2a744e2b924bda3099881e09d969f ``` 3. Follow build instructions in the repository README From acc6eb5b63a035adf7687af34b9d6494c0338e1a Mon Sep 17 00:00:00 2001 From: Yura Lazarev Date: Fri, 24 Apr 2026 18:52:44 +0200 Subject: [PATCH 2/2] chore(submissions): apply alpha-rename to Scalus 0.16.0 fibonacci/prepacked Refresh fibonacci/Scalus_0.16.0_Unisay_prepacked with the AST-level alpha-rename pass (commit 2126a80 in Unisay/scalus-cape-submissions). Textual UPLC size: 569 -> 527 bytes (-7.4%) Execution metrics unchanged (de Bruijn flat encoding). --- .../Scalus_0.16.0_Unisay_prepacked/fibonacci.uplc | 9 ++++----- .../Scalus_0.16.0_Unisay_prepacked/metadata.json | 4 ++-- .../Scalus_0.16.0_Unisay_prepacked/source/README.md | 6 +++--- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/submissions/fibonacci/Scalus_0.16.0_Unisay_prepacked/fibonacci.uplc b/submissions/fibonacci/Scalus_0.16.0_Unisay_prepacked/fibonacci.uplc index 4c5233f9..351ab1c5 100644 --- a/submissions/fibonacci/Scalus_0.16.0_Unisay_prepacked/fibonacci.uplc +++ b/submissions/fibonacci/Scalus_0.16.0_Unisay_prepacked/fibonacci.uplc @@ -1,7 +1,6 @@ -(program 1.1.0 (lam x-2972429 - (force (case (constr 0 [(builtin lessThanEqualsInteger) x-2972429 - (con integer 0)] (delay x-2972429) - (delay [(builtin byteStringToInteger) (con bool True) - (case (constr 0 [(builtin multiplyInteger) x-2972429 (con integer 3)] +(program 1.1.0 (lam a + (force (case (constr 0 [(builtin lessThanEqualsInteger) a (con integer 0)] + (delay a) (delay [(builtin byteStringToInteger) (con bool True) + (case (constr 0 [(builtin multiplyInteger) a (con integer 3)] (con integer 3) (con bytestring #00000000000100000100000200000300000500000800000d0000150000220000370000590000900000e90001790002620003db00063d000a18001055001a6d002ac200452f006ff100b520012511)) (builtin sliceByteString))])) (force (builtin ifThenElse)))))) \ No newline at end of file diff --git a/submissions/fibonacci/Scalus_0.16.0_Unisay_prepacked/metadata.json b/submissions/fibonacci/Scalus_0.16.0_Unisay_prepacked/metadata.json index dccae173..2e79aff8 100644 --- a/submissions/fibonacci/Scalus_0.16.0_Unisay_prepacked/metadata.json +++ b/submissions/fibonacci/Scalus_0.16.0_Unisay_prepacked/metadata.json @@ -19,7 +19,7 @@ "date": "2026-04-21T12:00:00Z", "source_available": true, "source_repository": "https://github.com/Unisay/scalus-cape-submissions", - "source_commit_hash": "e02e7f74322a81622ff51bb41c6d671e09032379", - "implementation_notes": "Optimized prepacked implementation using pre-computed Fibonacci numbers stored in a ByteString for O(1) constant-time lookup. Pre-computed values for fib(0) through fib(25), each encoded as 3 bytes in big-endian format." + "source_commit_hash": "2126a807bbe2a744e2b924bda3099881e09d969f", + "implementation_notes": "Optimized prepacked implementation using pre-computed Fibonacci numbers stored in a ByteString for O(1) constant-time lookup. Pre-computed values for fib(0) through fib(25), each encoded as 3 bytes in big-endian format. AST-level alpha-rename pass applied: all generated identifiers rewritten to short purely-alphabetic names before serialisation." } } diff --git a/submissions/fibonacci/Scalus_0.16.0_Unisay_prepacked/source/README.md b/submissions/fibonacci/Scalus_0.16.0_Unisay_prepacked/source/README.md index 4f171a44..e1b87dcc 100644 --- a/submissions/fibonacci/Scalus_0.16.0_Unisay_prepacked/source/README.md +++ b/submissions/fibonacci/Scalus_0.16.0_Unisay_prepacked/source/README.md @@ -1,10 +1,10 @@ # Scalus Fibonacci Prepacked Implementation -**Source Code**: [FibonacciPrepacked.scala](https://github.com/Unisay/scalus-cape-submissions/blob/e02e7f74322a81622ff51bb41c6d671e09032379/src/fibonacci_prepacked/FibonacciPrepacked.scala) +**Source Code**: [FibonacciPrepacked.scala](https://github.com/Unisay/scalus-cape-submissions/blob/2126a807bbe2a744e2b924bda3099881e09d969f/src/fibonacci_prepacked/FibonacciPrepacked.scala) **Repository**: -**Commit**: `e02e7f74322a81622ff51bb41c6d671e09032379` +**Commit**: `2126a807bbe2a744e2b924bda3099881e09d969f` **Path**: `src/fibonacci_prepacked/FibonacciPrepacked.scala` @@ -29,7 +29,7 @@ This submission uses Scalus compiler version 0.16.0 with a prepacked optimizatio 2. Check out the specific commit: ```bash - git checkout e02e7f74322a81622ff51bb41c6d671e09032379 + git checkout 2126a807bbe2a744e2b924bda3099881e09d969f ``` 3. Run the compilation: