From 99a6a5be68dc877d868c76cf04dd451c90a2a86f Mon Sep 17 00:00:00 2001 From: Eric Willigers Date: Sat, 11 Jul 2026 17:19:42 +1000 Subject: [PATCH] grade-school guidance --- .../grade-school/.docs/instructions.append.md | 16 ++++++++++++++++ .../grade-school/grade-school.factor | 3 ++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 exercises/practice/grade-school/.docs/instructions.append.md diff --git a/exercises/practice/grade-school/.docs/instructions.append.md b/exercises/practice/grade-school/.docs/instructions.append.md new file mode 100644 index 00000000..83b6ded9 --- /dev/null +++ b/exercises/practice/grade-school/.docs/instructions.append.md @@ -0,0 +1,16 @@ +# Instructions append + +## Words + +Define a `school` tuple to hold the roster — how you store the +students inside it is up to you — then implement the words below. + +- ` ( -- school )` — construct an empty school. +- `add-student ( school name grade -- ? )` — add `name` to + `grade`. Return `t` on success, or `f` if `name` has already + been added (to this or any other grade), in which case the + roster is left unchanged. +- `roster ( school -- names )` — all students, sorted by grade + and then alphabetically by name. +- `grade ( school n -- names )` — the students in grade `n`, + sorted alphabetically by name. diff --git a/exercises/practice/grade-school/grade-school/grade-school.factor b/exercises/practice/grade-school/grade-school/grade-school.factor index 7c9614c7..12225854 100644 --- a/exercises/practice/grade-school/grade-school/grade-school.factor +++ b/exercises/practice/grade-school/grade-school/grade-school.factor @@ -1,7 +1,8 @@ USING: kernel ; IN: grade-school -TUPLE: school students ; +! Define a `school` tuple to hold the roster, then implement the +! words below. : ( -- school ) "unimplemented" throw ;