From 77ae05c28cb79524dda38b7473b604fccafea34f Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 29 Sep 2026 15:47:30 +0000 Subject: [PATCH] Rename split-loop-with-lambda to slice-with-lambda The refactoring is now published as Slice on sammancoaching.org: https://sammancoaching.org/refactorings/slice.html - git mv ideas/split-loop-with-lambda -> ideas/slice-with-lambda - rename learning-hour file and update frontmatter name - update paths in tools/rehearse scripts and report title - update prose: 'Split Loop with Lambda' -> 'Slice with Lambda' in learning hour, exercise READMEs, storyboard, solution comments - link the published Slice refactoring from the pattern draft --- .../exercise/README.md | 2 +- .../exercise/csharp/IceCreamShop.cs | 0 .../exercise/csharp/MetaphorFree.cs | 0 .../exercise/csharp/README.md | 0 .../exercise/csharp/WeatherStation.cs | 0 .../csharp/solution/IceCreamShopSolution.cs | 0 .../csharp/solution/MetaphorFreeSolution.cs | 0 .../csharp/solution/SliceWithLambdaTests.cs | 0 .../csharp/solution/WeatherStationSolution.cs | 0 .../exercise/java/.gitignore | 0 .../exercise/java/README.md | 4 ++-- .../exercise/java/pom.xml | 0 .../java/src/main/java/codingdojo/IceCream.java | 0 .../main/java/codingdojo/LongRangeForecasts.java | 0 .../java/src/main/java/codingdojo/Scorer.java | 0 .../java/codingdojo/LongRangeForecastsTest.java | 0 .../exercise/rehearsal-findings.md | 2 +- .../exercise/rehearsal-runs/A+Q/agents-md.txt | 0 .../exercise/rehearsal-runs/A+Q/diff.patch | 0 .../exercise/rehearsal-runs/A+Q/measure.txt | 0 .../exercise/rehearsal-runs/A+Q/mvn-verify-tail.log | 0 .../exercise/rehearsal-runs/A+Q/pi-stdout.txt | 0 .../exercise/rehearsal-runs/A+Q/prompt.txt | 0 .../exercise/rehearsal-runs/A+Q/time.txt | 0 .../exercise/rehearsal-runs/A+Q/verify.txt | 0 .../exercise/rehearsal-runs/A/agents-md.txt | 0 .../exercise/rehearsal-runs/A/diff.patch | 0 .../exercise/rehearsal-runs/A/measure.txt | 0 .../exercise/rehearsal-runs/A/pi-stdout.txt | 0 .../exercise/rehearsal-runs/A/prompt.txt | 0 .../exercise/rehearsal-runs/A/time.txt | 0 .../exercise/rehearsal-runs/A/verify.txt | 0 .../exercise/rehearsal-runs/B+Q/agents-md.txt | 0 .../exercise/rehearsal-runs/B+Q/diff.patch | 0 .../exercise/rehearsal-runs/B+Q/measure.txt | 0 .../exercise/rehearsal-runs/B+Q/pi-stdout.txt | 0 .../exercise/rehearsal-runs/B+Q/prompt.txt | 0 .../exercise/rehearsal-runs/B+Q/time.txt | 0 .../exercise/rehearsal-runs/B+Q/verify.txt | 0 .../exercise/rehearsal-runs/B/agents-md.txt | 0 .../exercise/rehearsal-runs/B/diff.patch | 0 .../exercise/rehearsal-runs/B/measure.txt | 0 .../exercise/rehearsal-runs/B/pi-stdout.txt | 0 .../exercise/rehearsal-runs/B/prompt.txt | 0 .../exercise/rehearsal-runs/B/time.txt | 0 .../exercise/rehearsal-runs/B/verify.txt | 0 .../exercise/rehearsal-runs/C+Q/agents-md.txt | 0 .../exercise/rehearsal-runs/C+Q/diff.patch | 0 .../exercise/rehearsal-runs/C+Q/measure.txt | 0 .../exercise/rehearsal-runs/C+Q/pi-stdout.txt | 0 .../exercise/rehearsal-runs/C+Q/prompt.txt | 0 .../exercise/rehearsal-runs/C+Q/time.txt | 0 .../exercise/rehearsal-runs/C+Q/verify.txt | 0 .../exercise/rehearsal-runs/C/agents-md.txt | 0 .../exercise/rehearsal-runs/C/diff.patch | 0 .../exercise/rehearsal-runs/C/measure.txt | 0 .../exercise/rehearsal-runs/C/pi-stdout.txt | 0 .../exercise/rehearsal-runs/C/prompt.txt | 0 .../exercise/rehearsal-runs/C/time.txt | 0 .../exercise/rehearsal-runs/C/verify.txt | 0 .../exercise/rehearsal-runs/README.md | 0 .../exercise/rehearse-with-agent.md | 0 .../exercise/solution/.gitignore | 0 .../exercise/solution/README.md | 0 .../exercise/solution/pom.xml | 0 .../solution/src/main/java/codingdojo/IceCream.java | 0 .../main/java/codingdojo/LongRangeForecasts.java | 2 +- .../solution/src/main/java/codingdojo/Scorer.java | 0 .../java/codingdojo/LongRangeForecastsTest.java | 0 ...angeForecastsTest.longRangeForecast.approved.txt | 0 .../exercise3/.gitignore | 0 .../exercise3/README.md | 2 +- .../exercise3/csharp/global.json | 0 .../exercise3/csharp/src/Buyer.cs | 0 .../exercise3/csharp/src/Buyers.cs | 0 .../exercise3/csharp/src/Buyers.csproj | 0 .../exercise3/csharp/src/IceCream.cs | 0 .../exercise3/csharp/src/PriceList.cs | 0 .../exercise3/csharp/test/BuyersTests.cs | 0 .../exercise3/csharp/test/BuyersTests.csproj | 0 .../exercise3/solution/README.md | 0 .../exercise3/solution/global.json | 0 .../exercise3/solution/src/Buyer.cs | 0 .../exercise3/solution/src/Buyers.cs | 2 +- .../exercise3/solution/src/Buyers.csproj | 0 .../exercise3/solution/src/IceCream.cs | 0 .../exercise3/solution/src/PriceList.cs | 0 .../exercise3/solution/test/BuyersTests.cs | 0 .../exercise3/solution/test/BuyersTests.csproj | 0 .../slice-with-lambda-learning-hour.md} | 13 +++++++------ .../storyboard/buyers-example.md | 2 +- .../storyboard/daily-forecasts-demo.md | 2 +- .../storyboard/storyboard.md | 2 +- .../storyboard/svg/00-pristine.svg | 0 .../storyboard/svg/01-extract-lambda.svg | 0 .../storyboard/svg/02-slide-lambda.svg | 0 .../storyboard/svg/03-extract-method.svg | 0 .../storyboard/svg/03b-overload.svg | 0 .../storyboard/svg/04-pure-test.svg | 0 .../storyboard/svg/05-debrief-dead-call.svg | 0 .../storyboard/svg/06-anti-pattern-drift.svg | 0 .../storyboard/svg/b0-start.svg | 0 .../storyboard/svg/b1-lambda-slide.svg | 0 .../storyboard/svg/b2-extract-test.svg | 0 .../storyboard/svg/d0-start.svg | 0 .../storyboard/svg/d1-test.svg | 0 .../storyboard/svg/d2-extract-lambda.svg | 0 .../storyboard/svg/d3-slide.svg | 0 .../storyboard/svg/d4-extract.svg | 0 .../storyboard/svg/d5-overload-test.svg | 0 .../storyboard/svg/legend.svg | 0 .../zeroth-draft-of-refactoring-pattern.md | 2 +- tools/rehearse/run-rehearsal.sh | 4 ++-- tools/rehearse/verify_outcome.sh | 2 +- 114 files changed, 21 insertions(+), 20 deletions(-) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/README.md (96%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/csharp/IceCreamShop.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/csharp/MetaphorFree.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/csharp/README.md (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/csharp/WeatherStation.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/csharp/solution/IceCreamShopSolution.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/csharp/solution/MetaphorFreeSolution.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/csharp/solution/SliceWithLambdaTests.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/csharp/solution/WeatherStationSolution.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/java/.gitignore (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/java/README.md (91%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/java/pom.xml (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/java/src/main/java/codingdojo/IceCream.java (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/java/src/main/java/codingdojo/LongRangeForecasts.java (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/java/src/main/java/codingdojo/Scorer.java (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/java/src/test/java/codingdojo/LongRangeForecastsTest.java (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-findings.md (99%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A+Q/agents-md.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A+Q/diff.patch (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A+Q/measure.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A+Q/mvn-verify-tail.log (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A+Q/pi-stdout.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A+Q/prompt.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A+Q/time.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A+Q/verify.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A/agents-md.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A/diff.patch (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A/measure.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A/pi-stdout.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A/prompt.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A/time.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/A/verify.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B+Q/agents-md.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B+Q/diff.patch (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B+Q/measure.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B+Q/pi-stdout.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B+Q/prompt.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B+Q/time.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B+Q/verify.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B/agents-md.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B/diff.patch (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B/measure.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B/pi-stdout.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B/prompt.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B/time.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/B/verify.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C+Q/agents-md.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C+Q/diff.patch (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C+Q/measure.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C+Q/pi-stdout.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C+Q/prompt.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C+Q/time.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C+Q/verify.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C/agents-md.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C/diff.patch (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C/measure.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C/pi-stdout.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C/prompt.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C/time.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/C/verify.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearsal-runs/README.md (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/rehearse-with-agent.md (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/solution/.gitignore (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/solution/README.md (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/solution/pom.xml (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/solution/src/main/java/codingdojo/IceCream.java (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/solution/src/main/java/codingdojo/LongRangeForecasts.java (97%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/solution/src/main/java/codingdojo/Scorer.java (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/solution/src/test/java/codingdojo/LongRangeForecastsTest.java (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise/solution/src/test/java/codingdojo/LongRangeForecastsTest.longRangeForecast.approved.txt (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/.gitignore (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/README.md (97%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/csharp/global.json (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/csharp/src/Buyer.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/csharp/src/Buyers.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/csharp/src/Buyers.csproj (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/csharp/src/IceCream.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/csharp/src/PriceList.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/csharp/test/BuyersTests.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/csharp/test/BuyersTests.csproj (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/solution/README.md (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/solution/global.json (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/solution/src/Buyer.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/solution/src/Buyers.cs (95%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/solution/src/Buyers.csproj (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/solution/src/IceCream.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/solution/src/PriceList.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/solution/test/BuyersTests.cs (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/exercise3/solution/test/BuyersTests.csproj (100%) rename ideas/{split-loop-with-lambda/split-loop-with-lambda-learning-hour.md => slice-with-lambda/slice-with-lambda-learning-hour.md} (94%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/buyers-example.md (98%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/daily-forecasts-demo.md (98%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/storyboard.md (99%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/00-pristine.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/01-extract-lambda.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/02-slide-lambda.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/03-extract-method.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/03b-overload.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/04-pure-test.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/05-debrief-dead-call.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/06-anti-pattern-drift.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/b0-start.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/b1-lambda-slide.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/b2-extract-test.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/d0-start.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/d1-test.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/d2-extract-lambda.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/d3-slide.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/d4-extract.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/d5-overload-test.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/storyboard/svg/legend.svg (100%) rename ideas/{split-loop-with-lambda => slice-with-lambda}/zeroth-draft-of-refactoring-pattern.md (95%) diff --git a/ideas/split-loop-with-lambda/exercise/README.md b/ideas/slice-with-lambda/exercise/README.md similarity index 96% rename from ideas/split-loop-with-lambda/exercise/README.md rename to ideas/slice-with-lambda/exercise/README.md index 5489d0e..713f6a8 100644 --- a/ideas/split-loop-with-lambda/exercise/README.md +++ b/ideas/slice-with-lambda/exercise/README.md @@ -1,4 +1,4 @@ -# Exercise folder — Split Loop with Lambda (learning hour) +# Exercise folder — Slice with Lambda (learning hour) Contents: diff --git a/ideas/split-loop-with-lambda/exercise/csharp/IceCreamShop.cs b/ideas/slice-with-lambda/exercise/csharp/IceCreamShop.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise/csharp/IceCreamShop.cs rename to ideas/slice-with-lambda/exercise/csharp/IceCreamShop.cs diff --git a/ideas/split-loop-with-lambda/exercise/csharp/MetaphorFree.cs b/ideas/slice-with-lambda/exercise/csharp/MetaphorFree.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise/csharp/MetaphorFree.cs rename to ideas/slice-with-lambda/exercise/csharp/MetaphorFree.cs diff --git a/ideas/split-loop-with-lambda/exercise/csharp/README.md b/ideas/slice-with-lambda/exercise/csharp/README.md similarity index 100% rename from ideas/split-loop-with-lambda/exercise/csharp/README.md rename to ideas/slice-with-lambda/exercise/csharp/README.md diff --git a/ideas/split-loop-with-lambda/exercise/csharp/WeatherStation.cs b/ideas/slice-with-lambda/exercise/csharp/WeatherStation.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise/csharp/WeatherStation.cs rename to ideas/slice-with-lambda/exercise/csharp/WeatherStation.cs diff --git a/ideas/split-loop-with-lambda/exercise/csharp/solution/IceCreamShopSolution.cs b/ideas/slice-with-lambda/exercise/csharp/solution/IceCreamShopSolution.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise/csharp/solution/IceCreamShopSolution.cs rename to ideas/slice-with-lambda/exercise/csharp/solution/IceCreamShopSolution.cs diff --git a/ideas/split-loop-with-lambda/exercise/csharp/solution/MetaphorFreeSolution.cs b/ideas/slice-with-lambda/exercise/csharp/solution/MetaphorFreeSolution.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise/csharp/solution/MetaphorFreeSolution.cs rename to ideas/slice-with-lambda/exercise/csharp/solution/MetaphorFreeSolution.cs diff --git a/ideas/split-loop-with-lambda/exercise/csharp/solution/SliceWithLambdaTests.cs b/ideas/slice-with-lambda/exercise/csharp/solution/SliceWithLambdaTests.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise/csharp/solution/SliceWithLambdaTests.cs rename to ideas/slice-with-lambda/exercise/csharp/solution/SliceWithLambdaTests.cs diff --git a/ideas/split-loop-with-lambda/exercise/csharp/solution/WeatherStationSolution.cs b/ideas/slice-with-lambda/exercise/csharp/solution/WeatherStationSolution.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise/csharp/solution/WeatherStationSolution.cs rename to ideas/slice-with-lambda/exercise/csharp/solution/WeatherStationSolution.cs diff --git a/ideas/split-loop-with-lambda/exercise/java/.gitignore b/ideas/slice-with-lambda/exercise/java/.gitignore similarity index 100% rename from ideas/split-loop-with-lambda/exercise/java/.gitignore rename to ideas/slice-with-lambda/exercise/java/.gitignore diff --git a/ideas/split-loop-with-lambda/exercise/java/README.md b/ideas/slice-with-lambda/exercise/java/README.md similarity index 91% rename from ideas/split-loop-with-lambda/exercise/java/README.md rename to ideas/slice-with-lambda/exercise/java/README.md index 1255990..7b5cce6 100644 --- a/ideas/split-loop-with-lambda/exercise/java/README.md +++ b/ideas/slice-with-lambda/exercise/java/README.md @@ -1,4 +1,4 @@ -# IceCreamForecasting — Split Loop with Lambda (exercise) +# IceCreamForecasting — Slice with Lambda (exercise) Pre-factored variant of [IceCreamForecasting-Refactoring-Kata](https://github.com/emilybache/IceCreamForecasting-Refactoring-Kata): the Q1/Q4 dead branch is stripped and the hardcoded dates are a constant now. @@ -14,7 +14,7 @@ Get it under test: 1. First get any test running that calls `longRangeForecast()` — it will fail or be flaky, because of the dependency on `Scorer`. -2. Then use the **Split Loop with Lambda** mechanics (6 steps, on the handout) +2. Then use the **Slice with Lambda** mechanics (6 steps, on the handout) so that the weather collection becomes an extracted method that takes the weather-reading as a **lambda parameter**. 3. Stop when you have an extracted method that takes the lambda as a parameter, diff --git a/ideas/split-loop-with-lambda/exercise/java/pom.xml b/ideas/slice-with-lambda/exercise/java/pom.xml similarity index 100% rename from ideas/split-loop-with-lambda/exercise/java/pom.xml rename to ideas/slice-with-lambda/exercise/java/pom.xml diff --git a/ideas/split-loop-with-lambda/exercise/java/src/main/java/codingdojo/IceCream.java b/ideas/slice-with-lambda/exercise/java/src/main/java/codingdojo/IceCream.java similarity index 100% rename from ideas/split-loop-with-lambda/exercise/java/src/main/java/codingdojo/IceCream.java rename to ideas/slice-with-lambda/exercise/java/src/main/java/codingdojo/IceCream.java diff --git a/ideas/split-loop-with-lambda/exercise/java/src/main/java/codingdojo/LongRangeForecasts.java b/ideas/slice-with-lambda/exercise/java/src/main/java/codingdojo/LongRangeForecasts.java similarity index 100% rename from ideas/split-loop-with-lambda/exercise/java/src/main/java/codingdojo/LongRangeForecasts.java rename to ideas/slice-with-lambda/exercise/java/src/main/java/codingdojo/LongRangeForecasts.java diff --git a/ideas/split-loop-with-lambda/exercise/java/src/main/java/codingdojo/Scorer.java b/ideas/slice-with-lambda/exercise/java/src/main/java/codingdojo/Scorer.java similarity index 100% rename from ideas/split-loop-with-lambda/exercise/java/src/main/java/codingdojo/Scorer.java rename to ideas/slice-with-lambda/exercise/java/src/main/java/codingdojo/Scorer.java diff --git a/ideas/split-loop-with-lambda/exercise/java/src/test/java/codingdojo/LongRangeForecastsTest.java b/ideas/slice-with-lambda/exercise/java/src/test/java/codingdojo/LongRangeForecastsTest.java similarity index 100% rename from ideas/split-loop-with-lambda/exercise/java/src/test/java/codingdojo/LongRangeForecastsTest.java rename to ideas/slice-with-lambda/exercise/java/src/test/java/codingdojo/LongRangeForecastsTest.java diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-findings.md b/ideas/slice-with-lambda/exercise/rehearsal-findings.md similarity index 99% rename from ideas/split-loop-with-lambda/exercise/rehearsal-findings.md rename to ideas/slice-with-lambda/exercise/rehearsal-findings.md index cc10d99..1c913e7 100644 --- a/ideas/split-loop-with-lambda/exercise/rehearsal-findings.md +++ b/ideas/slice-with-lambda/exercise/rehearsal-findings.md @@ -1,7 +1,7 @@ # Rehearsal of the exercise with coding agents — full summary **Date:** 2026-09-27 · **Harness:** `tools/rehearse/` · **Raw per-run artifacts:** [`rehearsal-runs/`](./) -· **Exercise:** Split Loop with Lambda (IceCreamForecasting kata, `LongRangeForecasts`) +· **Exercise:** Slice with Lambda (IceCreamForecasting kata, `LongRangeForecasts`) Six scripted sub-agent runs did the refactoring under different tool rules and two models. Each run got a fresh workspace, a shared AGENTS.md (identical diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/agents-md.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/agents-md.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/agents-md.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/agents-md.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/diff.patch b/ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/diff.patch similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/diff.patch rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/diff.patch diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/measure.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/measure.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/measure.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/measure.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/mvn-verify-tail.log b/ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/mvn-verify-tail.log similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/mvn-verify-tail.log rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/mvn-verify-tail.log diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/pi-stdout.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/pi-stdout.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/pi-stdout.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/pi-stdout.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/prompt.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/prompt.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/prompt.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/prompt.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/time.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/time.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/time.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/time.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/verify.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/verify.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A+Q/verify.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A+Q/verify.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/agents-md.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/A/agents-md.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/agents-md.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A/agents-md.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/diff.patch b/ideas/slice-with-lambda/exercise/rehearsal-runs/A/diff.patch similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/diff.patch rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A/diff.patch diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/measure.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/A/measure.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/measure.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A/measure.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/pi-stdout.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/A/pi-stdout.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/pi-stdout.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A/pi-stdout.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/prompt.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/A/prompt.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/prompt.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A/prompt.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/time.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/A/time.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/time.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A/time.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/verify.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/A/verify.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/A/verify.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/A/verify.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/agents-md.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/agents-md.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/agents-md.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/agents-md.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/diff.patch b/ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/diff.patch similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/diff.patch rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/diff.patch diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/measure.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/measure.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/measure.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/measure.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/pi-stdout.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/pi-stdout.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/pi-stdout.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/pi-stdout.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/prompt.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/prompt.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/prompt.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/prompt.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/time.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/time.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/time.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/time.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/verify.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/verify.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B+Q/verify.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B+Q/verify.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/agents-md.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/B/agents-md.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/agents-md.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B/agents-md.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/diff.patch b/ideas/slice-with-lambda/exercise/rehearsal-runs/B/diff.patch similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/diff.patch rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B/diff.patch diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/measure.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/B/measure.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/measure.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B/measure.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/pi-stdout.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/B/pi-stdout.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/pi-stdout.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B/pi-stdout.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/prompt.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/B/prompt.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/prompt.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B/prompt.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/time.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/B/time.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/time.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B/time.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/verify.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/B/verify.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/B/verify.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/B/verify.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/agents-md.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/agents-md.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/agents-md.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/agents-md.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/diff.patch b/ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/diff.patch similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/diff.patch rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/diff.patch diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/measure.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/measure.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/measure.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/measure.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/pi-stdout.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/pi-stdout.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/pi-stdout.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/pi-stdout.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/prompt.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/prompt.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/prompt.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/prompt.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/time.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/time.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/time.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/time.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/verify.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/verify.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C+Q/verify.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C+Q/verify.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/agents-md.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/C/agents-md.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/agents-md.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C/agents-md.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/diff.patch b/ideas/slice-with-lambda/exercise/rehearsal-runs/C/diff.patch similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/diff.patch rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C/diff.patch diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/measure.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/C/measure.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/measure.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C/measure.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/pi-stdout.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/C/pi-stdout.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/pi-stdout.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C/pi-stdout.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/prompt.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/C/prompt.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/prompt.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C/prompt.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/time.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/C/time.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/time.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C/time.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/verify.txt b/ideas/slice-with-lambda/exercise/rehearsal-runs/C/verify.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/C/verify.txt rename to ideas/slice-with-lambda/exercise/rehearsal-runs/C/verify.txt diff --git a/ideas/split-loop-with-lambda/exercise/rehearsal-runs/README.md b/ideas/slice-with-lambda/exercise/rehearsal-runs/README.md similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearsal-runs/README.md rename to ideas/slice-with-lambda/exercise/rehearsal-runs/README.md diff --git a/ideas/split-loop-with-lambda/exercise/rehearse-with-agent.md b/ideas/slice-with-lambda/exercise/rehearse-with-agent.md similarity index 100% rename from ideas/split-loop-with-lambda/exercise/rehearse-with-agent.md rename to ideas/slice-with-lambda/exercise/rehearse-with-agent.md diff --git a/ideas/split-loop-with-lambda/exercise/solution/.gitignore b/ideas/slice-with-lambda/exercise/solution/.gitignore similarity index 100% rename from ideas/split-loop-with-lambda/exercise/solution/.gitignore rename to ideas/slice-with-lambda/exercise/solution/.gitignore diff --git a/ideas/split-loop-with-lambda/exercise/solution/README.md b/ideas/slice-with-lambda/exercise/solution/README.md similarity index 100% rename from ideas/split-loop-with-lambda/exercise/solution/README.md rename to ideas/slice-with-lambda/exercise/solution/README.md diff --git a/ideas/split-loop-with-lambda/exercise/solution/pom.xml b/ideas/slice-with-lambda/exercise/solution/pom.xml similarity index 100% rename from ideas/split-loop-with-lambda/exercise/solution/pom.xml rename to ideas/slice-with-lambda/exercise/solution/pom.xml diff --git a/ideas/split-loop-with-lambda/exercise/solution/src/main/java/codingdojo/IceCream.java b/ideas/slice-with-lambda/exercise/solution/src/main/java/codingdojo/IceCream.java similarity index 100% rename from ideas/split-loop-with-lambda/exercise/solution/src/main/java/codingdojo/IceCream.java rename to ideas/slice-with-lambda/exercise/solution/src/main/java/codingdojo/IceCream.java diff --git a/ideas/split-loop-with-lambda/exercise/solution/src/main/java/codingdojo/LongRangeForecasts.java b/ideas/slice-with-lambda/exercise/solution/src/main/java/codingdojo/LongRangeForecasts.java similarity index 97% rename from ideas/split-loop-with-lambda/exercise/solution/src/main/java/codingdojo/LongRangeForecasts.java rename to ideas/slice-with-lambda/exercise/solution/src/main/java/codingdojo/LongRangeForecasts.java index 990b09e..4bca244 100644 --- a/ideas/split-loop-with-lambda/exercise/solution/src/main/java/codingdojo/LongRangeForecasts.java +++ b/ideas/slice-with-lambda/exercise/solution/src/main/java/codingdojo/LongRangeForecasts.java @@ -7,7 +7,7 @@ import java.util.function.LongFunction; /** * Reference end state of the learning hour exercise (step 3 of the - * Split Loop with Lambda mechanics — stop here; step 4, moving the method + * Slice with Lambda mechanics — stop here; step 4, moving the method * to another class, is future work). * * Derived from https://github.com/emilybache/IceCreamForecasting-Refactoring-Kata diff --git a/ideas/split-loop-with-lambda/exercise/solution/src/main/java/codingdojo/Scorer.java b/ideas/slice-with-lambda/exercise/solution/src/main/java/codingdojo/Scorer.java similarity index 100% rename from ideas/split-loop-with-lambda/exercise/solution/src/main/java/codingdojo/Scorer.java rename to ideas/slice-with-lambda/exercise/solution/src/main/java/codingdojo/Scorer.java diff --git a/ideas/split-loop-with-lambda/exercise/solution/src/test/java/codingdojo/LongRangeForecastsTest.java b/ideas/slice-with-lambda/exercise/solution/src/test/java/codingdojo/LongRangeForecastsTest.java similarity index 100% rename from ideas/split-loop-with-lambda/exercise/solution/src/test/java/codingdojo/LongRangeForecastsTest.java rename to ideas/slice-with-lambda/exercise/solution/src/test/java/codingdojo/LongRangeForecastsTest.java diff --git a/ideas/split-loop-with-lambda/exercise/solution/src/test/java/codingdojo/LongRangeForecastsTest.longRangeForecast.approved.txt b/ideas/slice-with-lambda/exercise/solution/src/test/java/codingdojo/LongRangeForecastsTest.longRangeForecast.approved.txt similarity index 100% rename from ideas/split-loop-with-lambda/exercise/solution/src/test/java/codingdojo/LongRangeForecastsTest.longRangeForecast.approved.txt rename to ideas/slice-with-lambda/exercise/solution/src/test/java/codingdojo/LongRangeForecastsTest.longRangeForecast.approved.txt diff --git a/ideas/split-loop-with-lambda/exercise3/.gitignore b/ideas/slice-with-lambda/exercise3/.gitignore similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/.gitignore rename to ideas/slice-with-lambda/exercise3/.gitignore diff --git a/ideas/split-loop-with-lambda/exercise3/README.md b/ideas/slice-with-lambda/exercise3/README.md similarity index 97% rename from ideas/split-loop-with-lambda/exercise3/README.md rename to ideas/slice-with-lambda/exercise3/README.md index a39bed8..dfba835 100644 --- a/ideas/split-loop-with-lambda/exercise3/README.md +++ b/ideas/slice-with-lambda/exercise3/README.md @@ -1,4 +1,4 @@ -# Exercise 3 — Buyers (Split Loop with Lambda, the pure rep) +# Exercise 3 — Buyers (Slice with Lambda, the pure rep) A third, minimal example in the same kata theme: the sellers exist (`DailyForecasts` — Steve, Julie, Francis), the buyers don't. This adds them: diff --git a/ideas/split-loop-with-lambda/exercise3/csharp/global.json b/ideas/slice-with-lambda/exercise3/csharp/global.json similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/csharp/global.json rename to ideas/slice-with-lambda/exercise3/csharp/global.json diff --git a/ideas/split-loop-with-lambda/exercise3/csharp/src/Buyer.cs b/ideas/slice-with-lambda/exercise3/csharp/src/Buyer.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/csharp/src/Buyer.cs rename to ideas/slice-with-lambda/exercise3/csharp/src/Buyer.cs diff --git a/ideas/split-loop-with-lambda/exercise3/csharp/src/Buyers.cs b/ideas/slice-with-lambda/exercise3/csharp/src/Buyers.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/csharp/src/Buyers.cs rename to ideas/slice-with-lambda/exercise3/csharp/src/Buyers.cs diff --git a/ideas/split-loop-with-lambda/exercise3/csharp/src/Buyers.csproj b/ideas/slice-with-lambda/exercise3/csharp/src/Buyers.csproj similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/csharp/src/Buyers.csproj rename to ideas/slice-with-lambda/exercise3/csharp/src/Buyers.csproj diff --git a/ideas/split-loop-with-lambda/exercise3/csharp/src/IceCream.cs b/ideas/slice-with-lambda/exercise3/csharp/src/IceCream.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/csharp/src/IceCream.cs rename to ideas/slice-with-lambda/exercise3/csharp/src/IceCream.cs diff --git a/ideas/split-loop-with-lambda/exercise3/csharp/src/PriceList.cs b/ideas/slice-with-lambda/exercise3/csharp/src/PriceList.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/csharp/src/PriceList.cs rename to ideas/slice-with-lambda/exercise3/csharp/src/PriceList.cs diff --git a/ideas/split-loop-with-lambda/exercise3/csharp/test/BuyersTests.cs b/ideas/slice-with-lambda/exercise3/csharp/test/BuyersTests.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/csharp/test/BuyersTests.cs rename to ideas/slice-with-lambda/exercise3/csharp/test/BuyersTests.cs diff --git a/ideas/split-loop-with-lambda/exercise3/csharp/test/BuyersTests.csproj b/ideas/slice-with-lambda/exercise3/csharp/test/BuyersTests.csproj similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/csharp/test/BuyersTests.csproj rename to ideas/slice-with-lambda/exercise3/csharp/test/BuyersTests.csproj diff --git a/ideas/split-loop-with-lambda/exercise3/solution/README.md b/ideas/slice-with-lambda/exercise3/solution/README.md similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/solution/README.md rename to ideas/slice-with-lambda/exercise3/solution/README.md diff --git a/ideas/split-loop-with-lambda/exercise3/solution/global.json b/ideas/slice-with-lambda/exercise3/solution/global.json similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/solution/global.json rename to ideas/slice-with-lambda/exercise3/solution/global.json diff --git a/ideas/split-loop-with-lambda/exercise3/solution/src/Buyer.cs b/ideas/slice-with-lambda/exercise3/solution/src/Buyer.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/solution/src/Buyer.cs rename to ideas/slice-with-lambda/exercise3/solution/src/Buyer.cs diff --git a/ideas/split-loop-with-lambda/exercise3/solution/src/Buyers.cs b/ideas/slice-with-lambda/exercise3/solution/src/Buyers.cs similarity index 95% rename from ideas/split-loop-with-lambda/exercise3/solution/src/Buyers.cs rename to ideas/slice-with-lambda/exercise3/solution/src/Buyers.cs index f1547a0..98da9b6 100644 --- a/ideas/split-loop-with-lambda/exercise3/solution/src/Buyers.cs +++ b/ideas/slice-with-lambda/exercise3/solution/src/Buyers.cs @@ -5,7 +5,7 @@ namespace IceCreamBuyers { /// /// Reference end state of exercise 3 (extract lambda, slide, extract method - /// with a function parameter — the pure rep of Split Loop with Lambda). + /// with a function parameter — the pure rep of Slice with Lambda). /// public class Buyers { diff --git a/ideas/split-loop-with-lambda/exercise3/solution/src/Buyers.csproj b/ideas/slice-with-lambda/exercise3/solution/src/Buyers.csproj similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/solution/src/Buyers.csproj rename to ideas/slice-with-lambda/exercise3/solution/src/Buyers.csproj diff --git a/ideas/split-loop-with-lambda/exercise3/solution/src/IceCream.cs b/ideas/slice-with-lambda/exercise3/solution/src/IceCream.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/solution/src/IceCream.cs rename to ideas/slice-with-lambda/exercise3/solution/src/IceCream.cs diff --git a/ideas/split-loop-with-lambda/exercise3/solution/src/PriceList.cs b/ideas/slice-with-lambda/exercise3/solution/src/PriceList.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/solution/src/PriceList.cs rename to ideas/slice-with-lambda/exercise3/solution/src/PriceList.cs diff --git a/ideas/split-loop-with-lambda/exercise3/solution/test/BuyersTests.cs b/ideas/slice-with-lambda/exercise3/solution/test/BuyersTests.cs similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/solution/test/BuyersTests.cs rename to ideas/slice-with-lambda/exercise3/solution/test/BuyersTests.cs diff --git a/ideas/split-loop-with-lambda/exercise3/solution/test/BuyersTests.csproj b/ideas/slice-with-lambda/exercise3/solution/test/BuyersTests.csproj similarity index 100% rename from ideas/split-loop-with-lambda/exercise3/solution/test/BuyersTests.csproj rename to ideas/slice-with-lambda/exercise3/solution/test/BuyersTests.csproj diff --git a/ideas/split-loop-with-lambda/split-loop-with-lambda-learning-hour.md b/ideas/slice-with-lambda/slice-with-lambda-learning-hour.md similarity index 94% rename from ideas/split-loop-with-lambda/split-loop-with-lambda-learning-hour.md rename to ideas/slice-with-lambda/slice-with-lambda-learning-hour.md index d95e1bb..3a430d7 100644 --- a/ideas/split-loop-with-lambda/split-loop-with-lambda-learning-hour.md +++ b/ideas/slice-with-lambda/slice-with-lambda-learning-hour.md @@ -1,15 +1,15 @@ --- theme: refactoring -title: Split Loop with Lambda — when the variable you slide is a function -name: split-loop-with-lambda +title: Slice with Lambda — when the variable you slide is a function +name: slice-with-lambda kata: IceCreamForecasting-Refactoring-Kata (pre-factored "prefactored-longrange" variant) difficulty: 4 author: Willem van den Ende affiliation: QWAN -tags: refactoring java split-loop lambda testability composed-method +tags: refactoring java slice lambda testability composed-method --- -# Split Loop with Lambda +# Slice with Lambda You know Split Loop: separate the loops that compute from the loops that collect, using *introduce variable* and *slide statement*. But sometimes the @@ -29,7 +29,7 @@ and end at a testable, pure seam. ## Learning Goals * Given a loop whose body needs an outside dependency, perform the six - Split-Loop-with-Lambda mechanics (introduce lambda → slide → extract + Slice mechanics (introduce lambda → slide → extract method with function parameter) on unfamiliar code, without the handout open. * Recognize when plain Split Loop is not enough — the variable you need to @@ -61,7 +61,8 @@ one concern loose even when Split Loop alone cannot.* ## Concept - The six mechanics -Walk the pattern (handout: `zeroth-draft-of-refactoring-pattern.md`): +Walk the pattern — the handout is `zeroth-draft-of-refactoring-pattern.md`; +there is also a published description, [Slice](https://sammancoaching.org/refactorings/slice.html): 1. **Extract the dependency-using code into a lambda** — no tool does this; it is a small manual edit. diff --git a/ideas/split-loop-with-lambda/storyboard/buyers-example.md b/ideas/slice-with-lambda/storyboard/buyers-example.md similarity index 98% rename from ideas/split-loop-with-lambda/storyboard/buyers-example.md rename to ideas/slice-with-lambda/storyboard/buyers-example.md index 0ffaaaa..951489c 100644 --- a/ideas/split-loop-with-lambda/storyboard/buyers-example.md +++ b/ideas/slice-with-lambda/storyboard/buyers-example.md @@ -1,6 +1,6 @@ # Example 3 — Buyers: extract lambda in its purest form -Third rep of the Split Loop with Lambda mechanics, in C#. Example 1 +Third rep of the Slice with Lambda mechanics, in C#. Example 1 (`longRangeForecast`) had a drift trap and a dead call; the demo (`printSalesForecasts`) had three dependencies and grew into a role interface. This one has **one loop and one lambda-able expression, and nothing else** — diff --git a/ideas/split-loop-with-lambda/storyboard/daily-forecasts-demo.md b/ideas/slice-with-lambda/storyboard/daily-forecasts-demo.md similarity index 98% rename from ideas/split-loop-with-lambda/storyboard/daily-forecasts-demo.md rename to ideas/slice-with-lambda/storyboard/daily-forecasts-demo.md index bc43dd8..8fb6e25 100644 --- a/ideas/split-loop-with-lambda/storyboard/daily-forecasts-demo.md +++ b/ideas/slice-with-lambda/storyboard/daily-forecasts-demo.md @@ -1,6 +1,6 @@ # Demo script — printSalesForecasts -This is what I demo in the Split Loop with Lambda learning hour. I demo on +This is what I demo in the Slice with Lambda learning hour. I demo on `DailyForecasts.printSalesForecasts()` — the messier sibling of the method the pairs will refactor in the exercise. Same pattern, but this loop has three unwanted dependencies: `Scorer` (with a static field for extra credit), `System.out`, and the diff --git a/ideas/split-loop-with-lambda/storyboard/storyboard.md b/ideas/slice-with-lambda/storyboard/storyboard.md similarity index 99% rename from ideas/split-loop-with-lambda/storyboard/storyboard.md rename to ideas/slice-with-lambda/storyboard/storyboard.md index fe5d22e..163dffb 100644 --- a/ideas/split-loop-with-lambda/storyboard/storyboard.md +++ b/ideas/slice-with-lambda/storyboard/storyboard.md @@ -5,7 +5,7 @@ step, each step followed by the exact code (full before/after, highlights as ` comments). Written to be sliced into slides later; until then it works as a handout. Sources: `../zeroth-draft-of-refactoring-pattern.md` (the mechanics), -`../split-loop-with-lambda-learning-hour.md` (where we stop: after step 3 + the test), +`../slice-with-lambda-learning-hour.md` (where we stop: after step 3 + the test), `../exercise/rehearsal-findings.md` (the drift anti-pattern and the "both calls!" caution). Java only. Pristine start: `../exercise/java`, end state: `../exercise/solution`. C# demo examples live at `../exercise/csharp/` (MetaphorFree.cs, WeatherStation.cs, IceCreamShop.cs); the slides are at `~/qwan/slides-rjs/decks/refactoring/slice-with-lambda/slides.md`, served at http://localhost:9001/#/refactoring/slice-with-lambda. diff --git a/ideas/split-loop-with-lambda/storyboard/svg/00-pristine.svg b/ideas/slice-with-lambda/storyboard/svg/00-pristine.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/00-pristine.svg rename to ideas/slice-with-lambda/storyboard/svg/00-pristine.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/01-extract-lambda.svg b/ideas/slice-with-lambda/storyboard/svg/01-extract-lambda.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/01-extract-lambda.svg rename to ideas/slice-with-lambda/storyboard/svg/01-extract-lambda.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/02-slide-lambda.svg b/ideas/slice-with-lambda/storyboard/svg/02-slide-lambda.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/02-slide-lambda.svg rename to ideas/slice-with-lambda/storyboard/svg/02-slide-lambda.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/03-extract-method.svg b/ideas/slice-with-lambda/storyboard/svg/03-extract-method.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/03-extract-method.svg rename to ideas/slice-with-lambda/storyboard/svg/03-extract-method.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/03b-overload.svg b/ideas/slice-with-lambda/storyboard/svg/03b-overload.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/03b-overload.svg rename to ideas/slice-with-lambda/storyboard/svg/03b-overload.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/04-pure-test.svg b/ideas/slice-with-lambda/storyboard/svg/04-pure-test.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/04-pure-test.svg rename to ideas/slice-with-lambda/storyboard/svg/04-pure-test.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/05-debrief-dead-call.svg b/ideas/slice-with-lambda/storyboard/svg/05-debrief-dead-call.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/05-debrief-dead-call.svg rename to ideas/slice-with-lambda/storyboard/svg/05-debrief-dead-call.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/06-anti-pattern-drift.svg b/ideas/slice-with-lambda/storyboard/svg/06-anti-pattern-drift.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/06-anti-pattern-drift.svg rename to ideas/slice-with-lambda/storyboard/svg/06-anti-pattern-drift.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/b0-start.svg b/ideas/slice-with-lambda/storyboard/svg/b0-start.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/b0-start.svg rename to ideas/slice-with-lambda/storyboard/svg/b0-start.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/b1-lambda-slide.svg b/ideas/slice-with-lambda/storyboard/svg/b1-lambda-slide.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/b1-lambda-slide.svg rename to ideas/slice-with-lambda/storyboard/svg/b1-lambda-slide.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/b2-extract-test.svg b/ideas/slice-with-lambda/storyboard/svg/b2-extract-test.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/b2-extract-test.svg rename to ideas/slice-with-lambda/storyboard/svg/b2-extract-test.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/d0-start.svg b/ideas/slice-with-lambda/storyboard/svg/d0-start.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/d0-start.svg rename to ideas/slice-with-lambda/storyboard/svg/d0-start.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/d1-test.svg b/ideas/slice-with-lambda/storyboard/svg/d1-test.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/d1-test.svg rename to ideas/slice-with-lambda/storyboard/svg/d1-test.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/d2-extract-lambda.svg b/ideas/slice-with-lambda/storyboard/svg/d2-extract-lambda.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/d2-extract-lambda.svg rename to ideas/slice-with-lambda/storyboard/svg/d2-extract-lambda.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/d3-slide.svg b/ideas/slice-with-lambda/storyboard/svg/d3-slide.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/d3-slide.svg rename to ideas/slice-with-lambda/storyboard/svg/d3-slide.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/d4-extract.svg b/ideas/slice-with-lambda/storyboard/svg/d4-extract.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/d4-extract.svg rename to ideas/slice-with-lambda/storyboard/svg/d4-extract.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/d5-overload-test.svg b/ideas/slice-with-lambda/storyboard/svg/d5-overload-test.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/d5-overload-test.svg rename to ideas/slice-with-lambda/storyboard/svg/d5-overload-test.svg diff --git a/ideas/split-loop-with-lambda/storyboard/svg/legend.svg b/ideas/slice-with-lambda/storyboard/svg/legend.svg similarity index 100% rename from ideas/split-loop-with-lambda/storyboard/svg/legend.svg rename to ideas/slice-with-lambda/storyboard/svg/legend.svg diff --git a/ideas/split-loop-with-lambda/zeroth-draft-of-refactoring-pattern.md b/ideas/slice-with-lambda/zeroth-draft-of-refactoring-pattern.md similarity index 95% rename from ideas/split-loop-with-lambda/zeroth-draft-of-refactoring-pattern.md rename to ideas/slice-with-lambda/zeroth-draft-of-refactoring-pattern.md index 1c98e64..f182d8e 100644 --- a/ideas/split-loop-with-lambda/zeroth-draft-of-refactoring-pattern.md +++ b/ideas/slice-with-lambda/zeroth-draft-of-refactoring-pattern.md @@ -4,7 +4,7 @@ # Introduction -This is a zeroth draft of the **Slice with Lambda** refactoring pattern (formerly called "Split Loop with Lambda"). Our meta-goals are being more explicit in naming the refactorings and patterns we used to ourselves, and enable others to name the patterns, so they can reproduce the mechanics reliably on their own. +This is a zeroth draft of the **Slice with Lambda** refactoring pattern (published as [Slice](https://sammancoaching.org/refactorings/slice.html), formerly called "Split Loop with Lambda"). Our meta-goals are being more explicit in naming the refactorings and patterns we used to ourselves, and enable others to name the patterns, so they can reproduce the mechanics reliably on their own. Initial literature survey (see related patterns below) has not yet revealed an existing Refactoring Pattern description. In order to fit some or all of this refactoring in a learning hour, it is worth writing down what we mean, with examples (so, in case the resulting exercise does not fit in a learning hour, we have a blog post to refer to for more details and/or recapturing the mechanics). diff --git a/tools/rehearse/run-rehearsal.sh b/tools/rehearse/run-rehearsal.sh index d0f3e69..8744d40 100755 --- a/tools/rehearse/run-rehearsal.sh +++ b/tools/rehearse/run-rehearsal.sh @@ -13,7 +13,7 @@ SCRATCH=/tmp/rehearsal PRISTINE="$SCRATCH/pristine" RUNS_DIR="$SCRATCH/runs" REPO=/home/cardfanatic/qwan/exercises/learning-hour-maker -SOLUTION="$REPO/ideas/split-loop-with-lambda/exercise/solution" +SOLUTION="$REPO/ideas/slice-with-lambda/exercise/solution" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" CAP_SECONDS=600 @@ -131,7 +131,7 @@ done # --- combined report --- REPORT="$SCRATCH/report.md" { - echo "# Rehearsal report — split-loop-with-lambda ($(date -Iseconds))" + echo "# Rehearsal report — slice-with-lambda ($(date -Iseconds))" echo for RUN in $WHICH; do RUN_DIR="$RUNS_DIR/$RUN" diff --git a/tools/rehearse/verify_outcome.sh b/tools/rehearse/verify_outcome.sh index d690174..e367184 100755 --- a/tools/rehearse/verify_outcome.sh +++ b/tools/rehearse/verify_outcome.sh @@ -9,7 +9,7 @@ set -uo pipefail RUN_DIR="$1" WS="$RUN_DIR/workspace" REPO=/home/cardfanatic/qwan/exercises/learning-hour-maker -SOLUTION="$REPO/ideas/split-loop-with-lambda/exercise/solution" +SOLUTION="$REPO/ideas/slice-with-lambda/exercise/solution" PRISTINE=/tmp/rehearsal/pristine echo "--- Run $(basename "$RUN_DIR") ---"