From 96c831ddc98aaa5651569ff4b2754346ba7eb3f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingy=20d=C3=B6t=20Net?= Date: Fri, 25 Oct 2024 11:59:05 -0700 Subject: [PATCH 1/6] Small solution improvements --- .../perfect-numbers/.meta/perfect-numbers.ys | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/exercises/practice/perfect-numbers/.meta/perfect-numbers.ys b/exercises/practice/perfect-numbers/.meta/perfect-numbers.ys index 6e8e043..4ee3f5a 100644 --- a/exercises/practice/perfect-numbers/.meta/perfect-numbers.ys +++ b/exercises/practice/perfect-numbers/.meta/perfect-numbers.ys @@ -4,13 +4,11 @@ defn classify(number): when number <= 0: die: 'Classification is only possible for positive integers.' - case compare(sum-of-divisors(number), number): + sum-of-divisors =: + sum: + for n range(1 quot(number 2).++) :when (number % n).!: n + + case compare(sum-of-divisors, number): 0 :: perfect 1 :: abundant -1 :: deficient - -defn sum-of-divisors(number): - sum: - ? for n range(1 quot(number 2).++) - :when (number % n).eq(0) - : n From 6938bd53aad211d5c6501b3f5fc90058a12cffde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingy=20d=C3=B6t=20Net?= Date: Sat, 26 Oct 2024 09:23:27 -0700 Subject: [PATCH 2/6] Update version in main Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 396c730..5d4666b 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ ROOT := $(shell pwd) BIN := bin -YS_VERSION := 0.1.79 +YS_VERSION := 0.1.80 YS_LOCAL := .local YS_LOCAL_PREFIX := $(YS_LOCAL)/v$(YS_VERSION) From 8bf82fa29b2a3ffa0711962d0973f197893d032a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingy=20d=C3=B6t=20Net?= Date: Sat, 26 Oct 2024 09:33:27 -0700 Subject: [PATCH 3/6] Adjust circular-buffer-test back to problem-specs value --- .../.meta/circular-buffer-test.ys | 28 +++++++++---------- .../circular-buffer/.meta/circular-buffer.ys | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/exercises/practice/circular-buffer/.meta/circular-buffer-test.ys b/exercises/practice/circular-buffer/.meta/circular-buffer-test.ys index 1308b7e..58519e4 100644 --- a/exercises/practice/circular-buffer/.meta/circular-buffer-test.ys +++ b/exercises/practice/circular-buffer/.meta/circular-buffer-test.ys @@ -7,72 +7,72 @@ use: circular-buffer test:: - name: Reading empty buffer should fail code: run(1 [{"operation" "read", "should_succeed" false}]) - want: true + want: {} uuid: 28268ed4-4ff3-45f3-820e-895b44d53dfa - name: Can read an item just written code: run(1 [{"operation" "write", "item" 1, "should_succeed" true} {"operation" "read", "should_succeed" true, "expected" 1}]) - want: true + want: {} uuid: 2e6db04a-58a1-425d-ade8-ac30b5f318f3 - name: Each item may only be read once code: run(1 [{"operation" "write", "item" 1, "should_succeed" true} {"operation" "read", "should_succeed" true, "expected" 1} {"operation" "read", "should_succeed" false}]) - want: true + want: {} uuid: 90741fe8-a448-45ce-be2b-de009a24c144 - name: Items are read in the order they are written code: run(2 [{"operation" "write", "item" 1, "should_succeed" true} {"operation" "write", "item" 2, "should_succeed" true} {"operation" "read", "should_succeed" true, "expected" 1} {"operation" "read", "should_succeed" true, "expected" 2}]) - want: true + want: {} uuid: be0e62d5-da9c-47a8-b037-5db21827baa7 - name: Full buffer can't be written to code: run(1 [{"operation" "write", "item" 1, "should_succeed" true} {"operation" "write", "item" 2, "should_succeed" false}]) - want: true + want: {} uuid: 2af22046-3e44-4235-bfe6-05ba60439d38 - name: A read frees up capacity for another write code: run(1 [{"operation" "write", "item" 1, "should_succeed" true} {"operation" "read", "should_succeed" true, "expected" 1} {"operation" "write", "item" 2, "should_succeed" true} {"operation" "read", "should_succeed" true, "expected" 2}]) - want: true + want: {} uuid: 547d192c-bbf0-4369-b8fa-fc37e71f2393 - name: Read position is maintained even across multiple writes code: run(3 [{"operation" "write", "item" 1, "should_succeed" true} {"operation" "write", "item" 2, "should_succeed" true} {"operation" "read", "should_succeed" true, "expected" 1} {"operation" "write", "item" 3, "should_succeed" true} {"operation" "read", "should_succeed" true, "expected" 2} {"operation" "read", "should_succeed" true, "expected" 3}]) - want: true + want: {} uuid: 04a56659-3a81-4113-816b-6ecb659b4471 - name: Items cleared out of buffer can't be read code: run(1 [{"operation" "write", "item" 1, "should_succeed" true} {"operation" "clear"} {"operation" "read", "should_succeed" false}]) - want: true + want: {} uuid: 60c3a19a-81a7-43d7-bb0a-f07242b1111f - name: Clear frees up capacity for another write code: run(1 [{"operation" "write", "item" 1, "should_succeed" true} {"operation" "clear"} {"operation" "write", "item" 2, "should_succeed" true} {"operation" "read", "should_succeed" true, "expected" 2}]) - want: true + want: {} uuid: 45f3ae89-3470-49f3-b50e-362e4b330a59 - name: Clear does nothing on empty buffer code: run(1 [{"operation" "clear"} {"operation" "write", "item" 1, "should_succeed" true} {"operation" "read", "should_succeed" true, "expected" 1}]) - want: true + want: {} uuid: e1ac5170-a026-4725-bfbe-0cf332eddecd - name: Overwrite acts like write on non-full buffer code: run(2 [{"operation" "write", "item" 1, "should_succeed" true} {"operation" "overwrite", "item" 2} {"operation" "read", "should_succeed" true, "expected" 1} {"operation" "read", "should_succeed" true, "expected" 2}]) - want: true + want: {} uuid: 9c2d4f26-3ec7-453f-a895-7e7ff8ae7b5b - name: Overwrite replaces the oldest item on full buffer code: run(2 [{"operation" "write", "item" 1, "should_succeed" true} {"operation" "write", "item" 2, "should_succeed" true} {"operation" "overwrite", "item" 3} {"operation" "read", "should_succeed" true, "expected" 2} {"operation" "read", "should_succeed" true, "expected" 3}]) - want: true + want: {} uuid: 880f916b-5039-475c-bd5c-83463c36a147 - name: Overwrite replaces the oldest item remaining in buffer following a read code: run(3 [{"operation" "write", "item" 1, "should_succeed" true} {"operation" "write", "item" 2, "should_succeed" true} {"operation" "write", "item" 3, "should_succeed" true} {"operation" "read", "should_succeed" true, "expected" 1} {"operation" "write", "item" 4, "should_succeed" true} {"operation" "overwrite", "item" 5} {"operation" "read", "should_succeed" true, "expected" 3} {"operation" "read", "should_succeed" true, "expected" 4} {"operation" "read", "should_succeed" true, "expected" 5}]) - want: true + want: {} uuid: bfecab5b-aca1-4fab-a2b0-cd4af2b053c3 - name: Initial clear does not affect wrapping around code: run(2 [{"operation" "clear"} {"operation" "write", "item" 1, "should_succeed" true} {"operation" "write", "item" 2, "should_succeed" true} {"operation" "overwrite", "item" 3} {"operation" "overwrite", "item" 4} {"operation" "read", "should_succeed" true, "expected" 3} {"operation" "read", "should_succeed" true, "expected" 4} {"operation" "read", "should_succeed" false}]) - want: true + want: {} uuid: 9cebe63a-c405-437b-8b62-e3fdc1ecec5a done: 14 diff --git a/exercises/practice/circular-buffer/.meta/circular-buffer.ys b/exercises/practice/circular-buffer/.meta/circular-buffer.ys index c8f9b23..a69b82a 100644 --- a/exercises/practice/circular-buffer/.meta/circular-buffer.ys +++ b/exercises/practice/circular-buffer/.meta/circular-buffer.ys @@ -14,7 +14,7 @@ defn run(capacity operations): -'write' : L(buffer pass item) -'overwrite' : L(buffer pass item) value("op-$op"): args* - =>: true + =>: -{} defn op-clear(buffer): M: :B V(buffer.B.# * [nil]) :P 0 From cacfe33abc61b6e60226a3fdc53cfd37904fc059 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingy=20d=C3=B6t=20Net?= Date: Sat, 26 Oct 2024 09:56:24 -0700 Subject: [PATCH 4/6] Eliminate some (unneeded) exercise.mk files and refs --- .../practice/armstrong-numbers/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/armstrong-numbers/.meta/config.json | 1 - exercises/practice/armstrong-numbers/.yamlscript/exercise.mk | 1 - exercises/practice/circular-buffer/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/circular-buffer/.meta/config.json | 1 - exercises/practice/circular-buffer/.yamlscript/exercise.mk | 1 - .../practice/collatz-conjecture/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/collatz-conjecture/.meta/config.json | 1 - exercises/practice/collatz-conjecture/.yamlscript/exercise.mk | 1 - exercises/practice/diamond/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/diamond/.meta/config.json | 1 - exercises/practice/diamond/.yamlscript/exercise.mk | 1 - exercises/practice/eliuds-eggs/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/eliuds-eggs/.meta/config.json | 1 - exercises/practice/eliuds-eggs/.yamlscript/exercise.mk | 1 - exercises/practice/food-chain/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/food-chain/.meta/config.json | 1 - exercises/practice/food-chain/.yamlscript/exercise.mk | 1 - exercises/practice/grains/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/grains/.meta/config.json | 1 - exercises/practice/grains/.yamlscript/exercise.mk | 1 - exercises/practice/list-ops/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/list-ops/.meta/config.json | 1 - exercises/practice/list-ops/.yamlscript/exercise.mk | 1 - .../practice/pascals-triangle/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/pascals-triangle/.meta/config.json | 1 - exercises/practice/pascals-triangle/.yamlscript/exercise.mk | 1 - exercises/practice/pig-latin/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/pig-latin/.meta/config.json | 1 - exercises/practice/pig-latin/.yamlscript/exercise.mk | 1 - .../practice/resistor-color-duo/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/resistor-color-duo/.meta/config.json | 1 - exercises/practice/resistor-color-duo/.yamlscript/exercise.mk | 1 - exercises/practice/resistor-color/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/resistor-color/.meta/config.json | 1 - exercises/practice/resistor-color/.yamlscript/exercise.mk | 1 - exercises/practice/sieve/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/sieve/.meta/config.json | 1 - exercises/practice/sieve/.yamlscript/exercise.mk | 1 - exercises/practice/spiral-matrix/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/spiral-matrix/.meta/config.json | 1 - exercises/practice/spiral-matrix/.yamlscript/exercise.mk | 1 - exercises/practice/square-root/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/square-root/.meta/config.json | 1 - exercises/practice/square-root/.yamlscript/exercise.mk | 1 - exercises/practice/strain/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/strain/.meta/config.json | 1 - exercises/practice/strain/.yamlscript/exercise.mk | 1 - exercises/practice/two-bucket/.meta/.yamlscript/exercise.mk | 1 - exercises/practice/two-bucket/.meta/config.json | 1 - exercises/practice/two-bucket/.yamlscript/exercise.mk | 1 - 51 files changed, 51 deletions(-) delete mode 100644 exercises/practice/armstrong-numbers/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/armstrong-numbers/.yamlscript/exercise.mk delete mode 100644 exercises/practice/circular-buffer/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/circular-buffer/.yamlscript/exercise.mk delete mode 100644 exercises/practice/collatz-conjecture/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/collatz-conjecture/.yamlscript/exercise.mk delete mode 100644 exercises/practice/diamond/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/diamond/.yamlscript/exercise.mk delete mode 100644 exercises/practice/eliuds-eggs/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/eliuds-eggs/.yamlscript/exercise.mk delete mode 100644 exercises/practice/food-chain/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/food-chain/.yamlscript/exercise.mk delete mode 100644 exercises/practice/grains/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/grains/.yamlscript/exercise.mk delete mode 100644 exercises/practice/list-ops/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/list-ops/.yamlscript/exercise.mk delete mode 100644 exercises/practice/pascals-triangle/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/pascals-triangle/.yamlscript/exercise.mk delete mode 100644 exercises/practice/pig-latin/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/pig-latin/.yamlscript/exercise.mk delete mode 100644 exercises/practice/resistor-color-duo/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/resistor-color-duo/.yamlscript/exercise.mk delete mode 100644 exercises/practice/resistor-color/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/resistor-color/.yamlscript/exercise.mk delete mode 100644 exercises/practice/sieve/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/sieve/.yamlscript/exercise.mk delete mode 100644 exercises/practice/spiral-matrix/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/spiral-matrix/.yamlscript/exercise.mk delete mode 100644 exercises/practice/square-root/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/square-root/.yamlscript/exercise.mk delete mode 100644 exercises/practice/strain/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/strain/.yamlscript/exercise.mk delete mode 100644 exercises/practice/two-bucket/.meta/.yamlscript/exercise.mk delete mode 100644 exercises/practice/two-bucket/.yamlscript/exercise.mk diff --git a/exercises/practice/armstrong-numbers/.meta/.yamlscript/exercise.mk b/exercises/practice/armstrong-numbers/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/armstrong-numbers/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/armstrong-numbers/.meta/config.json b/exercises/practice/armstrong-numbers/.meta/config.json index 56d4217..8d5fd6b 100644 --- a/exercises/practice/armstrong-numbers/.meta/config.json +++ b/exercises/practice/armstrong-numbers/.meta/config.json @@ -10,7 +10,6 @@ "armstrong-numbers-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/armstrong-numbers/.yamlscript/exercise.mk b/exercises/practice/armstrong-numbers/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/armstrong-numbers/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/circular-buffer/.meta/.yamlscript/exercise.mk b/exercises/practice/circular-buffer/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/circular-buffer/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/circular-buffer/.meta/config.json b/exercises/practice/circular-buffer/.meta/config.json index d0201d3..c37681a 100644 --- a/exercises/practice/circular-buffer/.meta/config.json +++ b/exercises/practice/circular-buffer/.meta/config.json @@ -10,7 +10,6 @@ "circular-buffer-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/circular-buffer/.yamlscript/exercise.mk b/exercises/practice/circular-buffer/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/circular-buffer/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/collatz-conjecture/.meta/.yamlscript/exercise.mk b/exercises/practice/collatz-conjecture/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/collatz-conjecture/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/collatz-conjecture/.meta/config.json b/exercises/practice/collatz-conjecture/.meta/config.json index 8963e14..6c9d4ee 100644 --- a/exercises/practice/collatz-conjecture/.meta/config.json +++ b/exercises/practice/collatz-conjecture/.meta/config.json @@ -10,7 +10,6 @@ "collatz-conjecture-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/collatz-conjecture/.yamlscript/exercise.mk b/exercises/practice/collatz-conjecture/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/collatz-conjecture/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/diamond/.meta/.yamlscript/exercise.mk b/exercises/practice/diamond/.meta/.yamlscript/exercise.mk deleted file mode 100644 index c80936e..0000000 --- a/exercises/practice/diamond/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.76 diff --git a/exercises/practice/diamond/.meta/config.json b/exercises/practice/diamond/.meta/config.json index 1c10a56..bdefb62 100644 --- a/exercises/practice/diamond/.meta/config.json +++ b/exercises/practice/diamond/.meta/config.json @@ -10,7 +10,6 @@ "diamond-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/diamond/.yamlscript/exercise.mk b/exercises/practice/diamond/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/diamond/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/eliuds-eggs/.meta/.yamlscript/exercise.mk b/exercises/practice/eliuds-eggs/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/eliuds-eggs/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/eliuds-eggs/.meta/config.json b/exercises/practice/eliuds-eggs/.meta/config.json index 8b0c7e8..667081f 100644 --- a/exercises/practice/eliuds-eggs/.meta/config.json +++ b/exercises/practice/eliuds-eggs/.meta/config.json @@ -10,7 +10,6 @@ "eliuds-eggs-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/eliuds-eggs/.yamlscript/exercise.mk b/exercises/practice/eliuds-eggs/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/eliuds-eggs/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/food-chain/.meta/.yamlscript/exercise.mk b/exercises/practice/food-chain/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/food-chain/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/food-chain/.meta/config.json b/exercises/practice/food-chain/.meta/config.json index 9ee23df..5db78df 100644 --- a/exercises/practice/food-chain/.meta/config.json +++ b/exercises/practice/food-chain/.meta/config.json @@ -10,7 +10,6 @@ "food-chain-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/food-chain/.yamlscript/exercise.mk b/exercises/practice/food-chain/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/food-chain/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/grains/.meta/.yamlscript/exercise.mk b/exercises/practice/grains/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/grains/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/grains/.meta/config.json b/exercises/practice/grains/.meta/config.json index 8406cd7..e60d1be 100644 --- a/exercises/practice/grains/.meta/config.json +++ b/exercises/practice/grains/.meta/config.json @@ -10,7 +10,6 @@ "grains-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/grains/.yamlscript/exercise.mk b/exercises/practice/grains/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/grains/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/list-ops/.meta/.yamlscript/exercise.mk b/exercises/practice/list-ops/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/list-ops/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/list-ops/.meta/config.json b/exercises/practice/list-ops/.meta/config.json index dcfe1ed..4381931 100644 --- a/exercises/practice/list-ops/.meta/config.json +++ b/exercises/practice/list-ops/.meta/config.json @@ -10,7 +10,6 @@ "list-ops-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/list-ops/.yamlscript/exercise.mk b/exercises/practice/list-ops/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/list-ops/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/pascals-triangle/.meta/.yamlscript/exercise.mk b/exercises/practice/pascals-triangle/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/pascals-triangle/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/pascals-triangle/.meta/config.json b/exercises/practice/pascals-triangle/.meta/config.json index 07232a8..3e16a4a 100644 --- a/exercises/practice/pascals-triangle/.meta/config.json +++ b/exercises/practice/pascals-triangle/.meta/config.json @@ -10,7 +10,6 @@ "pascals-triangle-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/pascals-triangle/.yamlscript/exercise.mk b/exercises/practice/pascals-triangle/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/pascals-triangle/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/pig-latin/.meta/.yamlscript/exercise.mk b/exercises/practice/pig-latin/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/pig-latin/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/pig-latin/.meta/config.json b/exercises/practice/pig-latin/.meta/config.json index 37f513b..db2b45c 100644 --- a/exercises/practice/pig-latin/.meta/config.json +++ b/exercises/practice/pig-latin/.meta/config.json @@ -10,7 +10,6 @@ "pig-latin-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/pig-latin/.yamlscript/exercise.mk b/exercises/practice/pig-latin/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/pig-latin/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/resistor-color-duo/.meta/.yamlscript/exercise.mk b/exercises/practice/resistor-color-duo/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/resistor-color-duo/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/resistor-color-duo/.meta/config.json b/exercises/practice/resistor-color-duo/.meta/config.json index a69fd7e..43a12ec 100644 --- a/exercises/practice/resistor-color-duo/.meta/config.json +++ b/exercises/practice/resistor-color-duo/.meta/config.json @@ -10,7 +10,6 @@ "resistor-color-duo-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/resistor-color-duo/.yamlscript/exercise.mk b/exercises/practice/resistor-color-duo/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/resistor-color-duo/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/resistor-color/.meta/.yamlscript/exercise.mk b/exercises/practice/resistor-color/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/resistor-color/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/resistor-color/.meta/config.json b/exercises/practice/resistor-color/.meta/config.json index 1fc33d2..4018b5c 100644 --- a/exercises/practice/resistor-color/.meta/config.json +++ b/exercises/practice/resistor-color/.meta/config.json @@ -10,7 +10,6 @@ "resistor-color-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/resistor-color/.yamlscript/exercise.mk b/exercises/practice/resistor-color/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/resistor-color/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/sieve/.meta/.yamlscript/exercise.mk b/exercises/practice/sieve/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/sieve/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/sieve/.meta/config.json b/exercises/practice/sieve/.meta/config.json index a172871..ba8fb08 100644 --- a/exercises/practice/sieve/.meta/config.json +++ b/exercises/practice/sieve/.meta/config.json @@ -10,7 +10,6 @@ "sieve-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/sieve/.yamlscript/exercise.mk b/exercises/practice/sieve/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/sieve/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/spiral-matrix/.meta/.yamlscript/exercise.mk b/exercises/practice/spiral-matrix/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/spiral-matrix/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/spiral-matrix/.meta/config.json b/exercises/practice/spiral-matrix/.meta/config.json index cc5a21e..281cf2b 100644 --- a/exercises/practice/spiral-matrix/.meta/config.json +++ b/exercises/practice/spiral-matrix/.meta/config.json @@ -10,7 +10,6 @@ "spiral-matrix-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/spiral-matrix/.yamlscript/exercise.mk b/exercises/practice/spiral-matrix/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/spiral-matrix/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/square-root/.meta/.yamlscript/exercise.mk b/exercises/practice/square-root/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/square-root/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/square-root/.meta/config.json b/exercises/practice/square-root/.meta/config.json index afba520..d2fbddb 100644 --- a/exercises/practice/square-root/.meta/config.json +++ b/exercises/practice/square-root/.meta/config.json @@ -10,7 +10,6 @@ "square-root-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/square-root/.yamlscript/exercise.mk b/exercises/practice/square-root/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/square-root/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/strain/.meta/.yamlscript/exercise.mk b/exercises/practice/strain/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/strain/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/strain/.meta/config.json b/exercises/practice/strain/.meta/config.json index a4c2cee..9089e04 100644 --- a/exercises/practice/strain/.meta/config.json +++ b/exercises/practice/strain/.meta/config.json @@ -10,7 +10,6 @@ "strain-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/strain/.yamlscript/exercise.mk b/exercises/practice/strain/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/strain/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/two-bucket/.meta/.yamlscript/exercise.mk b/exercises/practice/two-bucket/.meta/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/two-bucket/.meta/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 diff --git a/exercises/practice/two-bucket/.meta/config.json b/exercises/practice/two-bucket/.meta/config.json index b7aef55..444e187 100644 --- a/exercises/practice/two-bucket/.meta/config.json +++ b/exercises/practice/two-bucket/.meta/config.json @@ -10,7 +10,6 @@ "two-bucket-test.ys", "GNUmakefile", "Makefile", - ".yamlscript/exercise.mk", ".yamlscript/exercism-ys-installer" ], "example": [ diff --git a/exercises/practice/two-bucket/.yamlscript/exercise.mk b/exercises/practice/two-bucket/.yamlscript/exercise.mk deleted file mode 100644 index 2506034..0000000 --- a/exercises/practice/two-bucket/.yamlscript/exercise.mk +++ /dev/null @@ -1 +0,0 @@ -YS_VERSION := 0.1.75 From 523bb248f747d10a99195646ef01ff1318302c04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingy=20d=C3=B6t=20Net?= Date: Sat, 26 Oct 2024 10:31:45 -0700 Subject: [PATCH 5/6] Disallow std/reverse in 'reverse-string' --- .../practice/reverse-string/.meta/reverse-string-test.ys | 9 +++++++++ exercises/practice/reverse-string/reverse-string-test.ys | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/exercises/practice/reverse-string/.meta/reverse-string-test.ys b/exercises/practice/reverse-string/.meta/reverse-string-test.ys index 1e0348e..1b4900f 100644 --- a/exercises/practice/reverse-string/.meta/reverse-string-test.ys +++ b/exercises/practice/reverse-string/.meta/reverse-string-test.ys @@ -1,5 +1,14 @@ #!/usr/bin/env ys-0 + +# Disallow ys::std/reverse +defn reverse(*): + die: "Using the builtin 'reverse' function is disallowed for this exercise." +intern \'ys::std \'reverse: reverse +intern \'clojure::core \'reverse: reverse +ns-unmap \'clojure::string: \'reverse + + require ys::taptest: :all use: reverse-string diff --git a/exercises/practice/reverse-string/reverse-string-test.ys b/exercises/practice/reverse-string/reverse-string-test.ys index 1b7434f..529bc85 100644 --- a/exercises/practice/reverse-string/reverse-string-test.ys +++ b/exercises/practice/reverse-string/reverse-string-test.ys @@ -1,5 +1,14 @@ #!/usr/bin/env ys-0 + +# Disallow ys::std/reverse +defn reverse(*): + die: "Using the builtin 'reverse' function is disallowed for this exercise." +intern \'ys::std \'reverse: reverse +intern \'clojure::core \'reverse: reverse +ns-unmap \'clojure::string: \'reverse + + require ys::taptest: :all use: reverse-string From 4374e995063dbfddb3da7ee275b3110b04a45f03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingy=20d=C3=B6t=20Net?= Date: Sat, 26 Oct 2024 10:40:09 -0700 Subject: [PATCH 6/6] Cleaner solution for 'reverse-string' --- exercises/practice/reverse-string/.meta/reverse-string.ys | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/exercises/practice/reverse-string/.meta/reverse-string.ys b/exercises/practice/reverse-string/.meta/reverse-string.ys index e948ea0..b8d6aed 100644 --- a/exercises/practice/reverse-string/.meta/reverse-string.ys +++ b/exercises/practice/reverse-string/.meta/reverse-string.ys @@ -1,7 +1,4 @@ !yamlscript/v0 defn reverse(s): - loop s s, r '': - if s.?: - recur: rest(s) "$first(s)$r" - else: r + reduce \(%2 + %1) '': s