diff --git a/config.json b/config.json index 9dc9ad1f..cce49a52 100644 --- a/config.json +++ b/config.json @@ -19,10 +19,18 @@ "average_run_time": 2 }, "files": { - "solution": ["./%{kebab_slug}.lisp"], - "test": ["./%{kebab_slug}-test.lisp"], - "example": ["./.meta/example.lisp"], - "exemplar": ["./.meta/exempler.lisp"] + "solution": [ + "./%{kebab_slug}.lisp" + ], + "test": [ + "./%{kebab_slug}-test.lisp" + ], + "example": [ + "./.meta/example.lisp" + ], + "exemplar": [ + "./.meta/exempler.lisp" + ] }, "exercises": { "concept": [ @@ -30,7 +38,12 @@ "slug": "socks-and-sexprs", "name": "Sorting Socks and Sexprs", "uuid": "6787f07b-6fca-48ec-9ed1-f37bb77126f2", - "concepts": ["comments", "expressions", "cons", "symbols"], + "concepts": [ + "comments", + "expressions", + "cons", + "symbols" + ], "prerequisites": [], "status": "beta" }, @@ -38,7 +51,9 @@ "slug": "key-comparison", "name": "The Key to Comparison", "uuid": "8d7ba0dc-7d87-452c-8208-39491d8f40f4", - "concepts": ["equality"], + "concepts": [ + "equality" + ], "prerequisites": [ "characters", "strings", @@ -53,32 +68,57 @@ "slug": "pizza-pi", "name": "Pizza Pi", "uuid": "f78cff23-2106-4e35-b439-2d8bd2830770", - "concepts": ["integers", "floating-point-numbers", "arithmetic"], - "prerequisites": ["expressions"], + "concepts": [ + "integers", + "floating-point-numbers", + "arithmetic" + ], + "prerequisites": [ + "expressions" + ], "status": "beta" }, { "slug": "leslies-lists", "name": "Leslie's Lengthy Lists", "uuid": "fd1aaa1a-f3c0-419e-a713-761c5147a5e1", - "concepts": ["lists"], - "prerequisites": ["cons", "symbols"], + "concepts": [ + "lists" + ], + "prerequisites": [ + "cons", + "symbols" + ], "status": "beta" }, { "slug": "pal-picker", "name": "Pal Picker", "uuid": "c0155014-4d11-4cb2-872b-6dfdf794f7cd", - "concepts": ["conditionals", "truthy-and-falsy"], - "prerequisites": ["expressions", "integers", "arithmetic", "symbols"], + "concepts": [ + "conditionals", + "truthy-and-falsy" + ], + "prerequisites": [ + "expressions", + "integers", + "arithmetic", + "symbols" + ], "status": "beta" }, { "slug": "lillys-lasagna", "name": "Lilly's Lasagna", "uuid": "60f4773a-e37e-4186-8542-a19ffbf6e6ae", - "concepts": ["functions"], - "prerequisites": ["expressions", "integers", "arithmetic"], + "concepts": [ + "functions" + ], + "prerequisites": [ + "expressions", + "integers", + "arithmetic" + ], "status": "beta" }, { @@ -91,62 +131,100 @@ "optional-parameters", "rest-parameters" ], - "prerequisites": ["functions", "symbols", "conditionals"], + "prerequisites": [ + "functions", + "symbols", + "conditionals" + ], "status": "beta" }, { "slug": "log-levels", "name": "Log Levels", "uuid": "50b5e2a8-d13f-43c6-8481-78270ecf1591", - "concepts": ["strings"], - "prerequisites": ["conditionals", "symbols"], + "concepts": [ + "strings" + ], + "prerequisites": [ + "conditionals", + "symbols" + ], "status": "beta" }, { "slug": "character-study", "name": "Character Study", "uuid": "67f00071-564c-4f77-a35c-329c7b69cdc8", - "concepts": ["characters"], - "prerequisites": ["conditionals"], + "concepts": [ + "characters" + ], + "prerequisites": [ + "conditionals" + ], "status": "beta" }, { "slug": "larrys-winning-checker", "name": "Larry's Winning Checker", "uuid": "56958703-f77f-4545-b252-7fb06bdc3b2d", - "concepts": ["arrays", "vectors"], - "prerequisites": ["conditionals", "symbols"], + "concepts": [ + "arrays", + "vectors" + ], + "prerequisites": [ + "conditionals", + "symbols" + ], "status": "beta" }, { "slug": "high-scores", "name": "High Scores", "uuid": "40868cee-a480-48c4-b9e8-e11324c0708b", - "concepts": ["hash-tables"], - "prerequisites": ["functions", "integers"], + "concepts": [ + "hash-tables" + ], + "prerequisites": [ + "functions", + "integers" + ], "status": "beta" }, { "slug": "lucys-magnificent-mapper", "name": "Lucy's Magnificent Mapper", "uuid": "85e6438a-0dc7-4d94-b984-98714c0bf850", - "concepts": ["mapping", "filtering"], - "prerequisites": ["functions", "lists"], + "concepts": [ + "mapping", + "filtering" + ], + "prerequisites": [ + "functions", + "lists" + ], "status": "beta" }, { "slug": "gigasecond-anniversary", "name": "Gigasecond Anniversary", "uuid": "4583eb37-0ca3-4c95-839c-3a167599718b", - "concepts": ["date-time", "multiple-values"], - "prerequisites": ["lists", "arithmetic"], + "concepts": [ + "date-time", + "multiple-values" + ], + "prerequisites": [ + "lists", + "arithmetic" + ], "status": "beta" }, { "slug": "logans-numeric-partition", "name": "Logan's Numeric Partition", "uuid": "63ee56a6-ed3d-42f5-9c95-cb4298fedc44", - "concepts": ["reducing"], + "concepts": [ + "reducing" + ], "prerequisites": [ "lists", "functions", @@ -159,8 +237,13 @@ "slug": "reporting-for-duty", "name": "Reporting for Duty", "uuid": "c72ffe7d-eda5-41b0-b1ae-10c9db1550fa", - "concepts": ["format-basics"], - "prerequisites": ["strings", "functions"], + "concepts": [ + "format-basics" + ], + "prerequisites": [ + "strings", + "functions" + ], "status": "beta" } ], @@ -197,621 +280,1017 @@ "slug": "hamming", "name": "Hamming", "uuid": "c029678b-9b9f-4fb2-958f-3a118efa16a9", + "practices": [ + "characters" + ], + "prerequisites": [ + "functions", + "characters", + "strings" + ], "difficulty": 1, - "practices": ["characters"], - "prerequisites": ["functions", "characters", "strings"], "status": "beta" }, { "slug": "rna-transcription", "name": "RNA Transcription", "uuid": "5c215cbf-a575-42ad-9b3f-892410a63077", + "practices": [ + "characters", + "mapping" + ], + "prerequisites": [ + "functions", + "characters", + "mapping" + ], "difficulty": 1, - "practices": ["characters", "mapping"], - "prerequisites": ["functions", "characters", "mapping"], "status": "beta" }, { "slug": "leap", "name": "Leap", "uuid": "8bfa54a8-4ee6-4e6e-b286-7fc8c70b9e9f", + "practices": [ + "conditionals", + "arithmetic" + ], + "prerequisites": [ + "conditionals", + "arithmetic" + ], "difficulty": 1, - "practices": ["conditionals", "arithmetic"], - "prerequisites": ["conditionals", "arithmetic"], "status": "beta" }, { "slug": "anagram", "name": "Anagram", "uuid": "b9fd0f13-966c-4085-ac9d-ed49a96ac0bf", + "practices": [ + "strings", + "filtering" + ], + "prerequisites": [ + "functions", + "strings", + "filtering" + ], "difficulty": 4, - "practices": ["strings", "filtering"], - "prerequisites": ["functions", "strings", "filtering"], "status": "beta" }, { "slug": "beer-song", "name": "Beer Song", "uuid": "5c6f22e7-109c-4d9e-b8bf-4ea63b2823ca", + "practices": [ + "strings" + ], + "prerequisites": [ + "conditionals", + "strings" + ], "difficulty": 3, - "practices": ["strings"], - "prerequisites": ["conditionals", "strings"], "status": "beta" }, { "slug": "roman-numerals", "name": "Roman Numerals", "uuid": "150d3608-d234-4c9e-ab6d-2d91f8a2c855", + "practices": [ + "integers", + "strings" + ], + "prerequisites": [ + "functions" + ], "difficulty": 1, - "practices": ["integers", "strings"], - "prerequisites": ["functions"], "status": "beta" }, { "slug": "word-count", "name": "Word Count", "uuid": "424ed7aa-24f3-4aec-9620-3cc9dc224166", + "practices": [ + "strings" + ], + "prerequisites": [ + "strings" + ], "difficulty": 5, - "practices": ["strings"], - "prerequisites": ["strings"], "status": "beta" }, { "slug": "bob", "name": "Bob", "uuid": "1e6c8365-775d-4a4f-8fc7-e376912d7912", + "practices": [ + "conditionals", + "strings", + "format-basics" + ], + "prerequisites": [ + "conditionals", + "strings", + "format-basics" + ], "difficulty": 2, - "practices": ["conditionals", "strings", "format-basics"], - "prerequisites": ["conditionals", "strings", "format-basics"], "status": "beta" }, { "slug": "twelve-days", "name": "Twelve Days", "uuid": "40ce6656-b8f5-4156-94b6-d634876215b2", + "practices": [ + "format-basics" + ], + "prerequisites": [ + "format-basics" + ], "difficulty": 4, - "practices": ["format-basics"], - "prerequisites": ["format-basics"], "status": "beta" }, { "slug": "acronym", "name": "Acronym", "uuid": "a999c375-f2e2-4d47-a9e2-5af923cd46d1", + "practices": [ + "strings" + ], + "prerequisites": [ + "strings" + ], "difficulty": 2, - "practices": ["strings"], - "prerequisites": ["strings"], "status": "beta" }, { "slug": "all-your-base", "name": "All Your Base", "uuid": "9b01a3bd-68fe-4171-8e5e-ff3351865aaf", + "practices": [ + "integers", + "arithmetic" + ], + "prerequisites": [ + "integers", + "arithmetic" + ], "difficulty": 4, - "practices": ["integers", "arithmetic"], - "prerequisites": ["integers", "arithmetic"], "status": "beta" }, { "slug": "allergies", "name": "Allergies", "uuid": "d2fd481e-7156-452d-976d-ea6df220fa18", + "practices": [ + "integers", + "mapping" + ], + "prerequisites": [ + "integers", + "mapping" + ], "difficulty": 3, - "practices": ["integers", "mapping"], - "prerequisites": ["integers", "mapping"], "status": "beta" }, { "slug": "armstrong-numbers", "name": "Armstrong Numbers", "uuid": "9319d1a6-276f-4b3b-8305-fc022cc48ef2", + "practices": [ + "lists", + "mapping", + "arithmetic" + ], + "prerequisites": [ + "integers", + "lists", + "arithmetic", + "mapping" + ], "difficulty": 2, - "practices": ["lists", "mapping", "arithmetic"], - "prerequisites": ["integers", "lists", "arithmetic", "mapping"], "status": "beta" }, { "slug": "binary", "name": "Binary", "uuid": "005ff8b4-9df8-4b82-b919-a0c67356d654", - "difficulty": 1, "practices": [], "prerequisites": [], + "difficulty": 1, "status": "deprecated" }, { "slug": "binary-search", "name": "Binary Search", "uuid": "b327bd9a-b12e-490b-91cb-d3c21a23b4eb", + "practices": [ + "arrays", + "conditionals" + ], + "prerequisites": [ + "arrays", + "conditionals" + ], "difficulty": 3, - "practices": ["arrays", "conditionals"], - "prerequisites": ["arrays", "conditionals"], "status": "beta" }, { "slug": "collatz-conjecture", "name": "Collatz Conjecture", "uuid": "b3ad38c2-2962-4b47-9b14-20ca262ebff6", + "practices": [ + "arithmetic" + ], + "prerequisites": [ + "integers", + "arithmetic" + ], "difficulty": 2, - "practices": ["arithmetic"], - "prerequisites": ["integers", "arithmetic"], "status": "beta" }, { "slug": "difference-of-squares", "name": "Difference of Squares", "uuid": "71804ace-6ca1-46b9-bf06-ff57faef7afa", + "practices": [ + "arithmetic" + ], + "prerequisites": [ + "integers", + "arithmetic" + ], "difficulty": 2, - "practices": ["arithmetic"], - "prerequisites": ["integers", "arithmetic"], "status": "beta" }, { "slug": "etl", "name": "ETL", "uuid": "52ac3dd0-8803-445f-93cf-e984b59d6702", + "practices": [ + "hash-tables" + ], + "prerequisites": [ + "hash-tables" + ], "difficulty": 4, - "practices": ["hash-tables"], - "prerequisites": ["hash-tables"], "status": "beta" }, { "slug": "gigasecond", "name": "Gigasecond", "uuid": "25506c31-7274-402a-95e1-8475fcdb34e1", - "difficulty": 1, "practices": [], "prerequisites": [], + "difficulty": 1, "status": "deprecated" }, { "slug": "grains", "name": "Grains", "uuid": "eb3a92bf-0748-4406-ba67-9e27e367ae45", + "practices": [ + "arithmetic" + ], + "prerequisites": [ + "arithmetic" + ], "difficulty": 1, - "practices": ["arithmetic"], - "prerequisites": ["arithmetic"], "status": "beta" }, { "slug": "isogram", "name": "Isogram", "uuid": "89ea51d0-3f7e-4e07-8e2b-4dde4c76608b", + "practices": [ + "filtering" + ], + "prerequisites": [ + "filtering" + ], "difficulty": 2, - "practices": ["filtering"], - "prerequisites": ["filtering"], "status": "beta" }, { "slug": "nucleotide-count", "name": "Nucleotide Count", "uuid": "b2ad38c2-2962-4a47-9b14-20ca262ebff6", + "practices": [ + "characters" + ], + "prerequisites": [ + "strings", + "characters" + ], "difficulty": 4, - "practices": ["characters"], - "prerequisites": ["strings", "characters"], "status": "beta" }, { "slug": "pascals-triangle", "name": "Pascal's Triangle", "uuid": "34bc4fbe-f148-4519-a699-91efed432703", + "practices": [ + "integers" + ], + "prerequisites": [ + "integers", + "arithmetic" + ], "difficulty": 2, - "practices": ["integers"], - "prerequisites": ["integers", "arithmetic"], "status": "beta" }, { "slug": "perfect-numbers", "name": "Perfect Numbers", "uuid": "b3ad38c2-2962-4b47-9b15-15ca262ebff6", + "practices": [ + "arithmetic", + "conditionals" + ], + "prerequisites": [ + "arithmetic", + "conditionals" + ], "difficulty": 3, - "practices": ["arithmetic", "conditionals"], - "prerequisites": ["arithmetic", "conditionals"], "status": "beta" }, { "slug": "raindrops", "name": "Raindrops", "uuid": "b5345fcb-d4cc-4ea0-b1b9-f1b0cb92f05c", + "practices": [ + "arithmetic" + ], + "prerequisites": [ + "conditionals", + "integers", + "arithmetic" + ], "difficulty": 2, - "practices": ["arithmetic"], - "prerequisites": ["conditionals", "integers", "arithmetic"], "status": "beta" }, { "slug": "scrabble-score", "name": "Scrabble Score", "uuid": "f350f23d-72f8-4f47-a0f5-fe3c00f3f5f1", + "practices": [ + "characters" + ], + "prerequisites": [ + "characters" + ], "difficulty": 3, - "practices": ["characters"], - "prerequisites": ["characters"], "status": "beta" }, { "slug": "sieve", "name": "Sieve", "uuid": "40f3b911-0739-4fec-95cc-cfab99788c19", + "practices": [ + "integers", + "arithmetic" + ], + "prerequisites": [ + "conditionals", + "integers", + "arithmetic" + ], "difficulty": 3, - "practices": ["integers", "arithmetic"], - "prerequisites": ["conditionals", "integers", "arithmetic"], "status": "beta" }, { "slug": "space-age", "name": "Space Age", "uuid": "d24cf0ea-876f-4775-969b-99970425e413", + "practices": [ + "functions", + "floating-point-numbers" + ], + "prerequisites": [ + "functions", + "floating-point-numbers" + ], "difficulty": 1, - "practices": ["functions", "floating-point-numbers"], - "prerequisites": ["functions", "floating-point-numbers"], "status": "beta" }, { "slug": "strain", "name": "Strain", "uuid": "1a81aac9-9128-48ab-aa6a-4d981d6eb602", + "practices": [ + "conditionals", + "filtering" + ], + "prerequisites": [ + "conditionals", + "filtering" + ], "difficulty": 1, - "practices": ["conditionals", "filtering"], - "prerequisites": ["conditionals", "filtering"], "status": "beta" }, { "slug": "sublist", "name": "Sublist", "uuid": "428e5b28-31b6-4c84-8eae-d7753d45efc1", + "practices": [ + "lists" + ], + "prerequisites": [ + "lists" + ], "difficulty": 1, - "practices": ["lists"], - "prerequisites": ["lists"], "status": "beta" }, { "slug": "triangle", "name": "Triangle", "uuid": "bd2a55e3-9874-4d2e-ad6f-4b2f8c5e2e0a", + "practices": [ + "conditionals" + ], + "prerequisites": [ + "conditionals" + ], "difficulty": 2, - "practices": ["conditionals"], - "prerequisites": ["conditionals"], "status": "beta" }, { "slug": "trinary", "name": "Trinary", "uuid": "ff3eb2c5-c7ce-4352-805c-e01d4fb85aa6", - "difficulty": 1, "practices": [], "prerequisites": [], + "difficulty": 1, "status": "deprecated" }, { "slug": "atbash-cipher", "name": "Atbash Cipher", "uuid": "71a1fdb6-414e-452c-8d24-03f2a5621e62", + "practices": [ + "characters" + ], + "prerequisites": [ + "characters" + ], "difficulty": 4, - "practices": ["characters"], - "prerequisites": ["characters"], "status": "beta" }, { "slug": "grade-school", "name": "Grade School", "uuid": "841641f2-16ba-4dc5-af1b-ffae5052853a", + "practices": [ + "hash-tables" + ], + "prerequisites": [ + "hash-tables" + ], "difficulty": 5, - "practices": ["hash-tables"], - "prerequisites": ["hash-tables"], "status": "beta" }, { "slug": "phone-number", "name": "Phone Number", "uuid": "d1d86b51-a3f4-4276-a18c-6db54bc8dfcc", + "practices": [ + "strings" + ], + "prerequisites": [ + "strings" + ], "difficulty": 3, - "practices": ["strings"], - "prerequisites": ["strings"], "status": "beta" }, { "slug": "prime-factors", "name": "Prime Factors", "uuid": "cc138097-7c0f-44b4-b07e-2a24f6475986", + "practices": [ + "integers", + "arithmetic" + ], + "prerequisites": [ + "conditionals", + "integers", + "arithmetic" + ], "difficulty": 3, - "practices": ["integers", "arithmetic"], - "prerequisites": ["conditionals", "integers", "arithmetic"], "status": "beta" }, { "slug": "robot-name", "name": "Robot Name", "uuid": "79a4a35c-40d6-4e2d-92a1-005c40b4f4c5", + "practices": [ + "strings" + ], + "prerequisites": [ + "strings" + ], "difficulty": 6, - "practices": ["strings"], - "prerequisites": ["strings"], "status": "beta" }, { "slug": "robot-simulator", "name": "Robot Simulator", "uuid": "d218cf9e-3b35-4357-9734-87142c22d551", + "practices": [ + "conditionals" + ], + "prerequisites": [ + "conditionals" + ], "difficulty": 7, - "practices": ["conditionals"], - "prerequisites": ["conditionals"], "status": "beta" }, { "slug": "crypto-square", "name": "Crypto Square", "uuid": "fcfc6b44-597d-4a03-bf02-6be5c8f7ae4e", + "practices": [ + "arrays" + ], + "prerequisites": [ + "arrays", + "strings" + ], "difficulty": 4, - "practices": ["arrays"], - "prerequisites": ["arrays", "strings"], "status": "beta" }, { "slug": "meetup", "name": "Meetup", "uuid": "6c702aa9-70f3-41d0-bc76-4323a08f8fbf", + "practices": [ + "date-time" + ], + "prerequisites": [ + "date-time" + ], "difficulty": 4, - "practices": ["date-time"], - "prerequisites": ["date-time"], "status": "beta" }, { "slug": "luhn", "name": "Luhn", "uuid": "7cc9d827-b08e-437d-826e-244f220feca0", + "practices": [ + "integers" + ], + "prerequisites": [ + "strings" + ], "difficulty": 5, - "practices": ["integers"], - "prerequisites": ["strings"], "status": "beta" }, { "slug": "book-store", "name": "Book Store", "uuid": "7f4cc4e6-3bcd-4b63-9115-36e63fba21ec", + "practices": [ + "lists", + "mapping", + "functions" + ], + "prerequisites": [ + "conditionals", + "lists", + "mapping", + "arithmetic", + "functions" + ], "difficulty": 6, - "practices": ["lists", "mapping", "functions"], - "prerequisites": ["conditionals", "lists", "mapping", "arithmetic", "functions"], "status": "beta" }, { "slug": "isbn-verifier", "name": "ISBN Verifier", "uuid": "d234aba4-daa2-4573-b9df-4592589f2ccf", + "practices": [ + "strings", + "filtering", + "mapping", + "arithmetic" + ], + "prerequisites": [ + "strings", + "filtering", + "mapping", + "arithmetic", + "functions", + "conditionals" + ], "difficulty": 5, - "practices": ["strings", "filtering", "mapping", "arithmetic"], - "prerequisites": ["strings", "filtering", "mapping", "arithmetic", "functions", "conditionals"], "status": "beta" }, { "slug": "sum-of-multiples", "name": "Sum of Multiples", "uuid": "91d0b2c3-12b5-4413-9f34-cdae085da94e", + "practices": [ + "lists" + ], + "prerequisites": [ + "lists", + "integers", + "functions" + ], "difficulty": 3, - "practices": ["lists"], - "prerequisites": ["lists", "integers", "functions"], "status": "beta" }, { "slug": "matching-brackets", "name": "Matching Brackets", "uuid": "880223e2-2625-4753-917e-b1d82cc2a028", + "practices": [ + "reducing", + "conditionals", + "filtering" + ], + "prerequisites": [ + "reducing", + "conditionals", + "characters", + "filtering", + "functions" + ], "difficulty": 2, - "practices": ["reducing", "conditionals", "filtering"], - "prerequisites": ["reducing", "conditionals", "characters", "filtering", "functions"], "status": "beta" }, { "slug": "run-length-encoding", "name": "Run-Length Encoding", "uuid": "bb589f12-5aaf-48bf-a105-97396d7533de", + "practices": [ + "strings", + "characters" + ], + "prerequisites": [ + "strings", + "conditionals", + "characters", + "format-basics" + ], "difficulty": 4, - "practices": ["strings", "characters"], - "prerequisites": ["strings", "conditionals", "characters", "format-basics"], "status": "beta" }, { "slug": "largest-series-product", "name": "Largest Series Product", "uuid": "29edfde1-ba04-4502-80e2-8a52092e18a9", + "practices": [ + "functions", + "mapping", + "conditionals" + ], + "prerequisites": [ + "conditionals", + "strings", + "characters", + "mapping", + "functions" + ], "difficulty": 5, - "practices": ["functions", "mapping", "conditionals"], - "prerequisites": ["conditionals", "strings", "characters", "mapping", "functions"], "status": "beta" }, { "slug": "queen-attack", "name": "Queen Attack", "uuid": "d8756342-ee14-483f-9e2e-210b666ee4c1", + "practices": [ + "conditionals" + ], + "prerequisites": [ + "conditionals" + ], "difficulty": 2, - "practices": ["conditionals"], - "prerequisites": ["conditionals"], "status": "beta" }, { "slug": "nth-prime", "name": "Nth Prime", "uuid": "11ce78f7-7c28-4a8b-9560-055269aae7ff", + "practices": [ + "arithmetic" + ], + "prerequisites": [ + "arithmetic", + "integers", + "lists" + ], "difficulty": 2, - "practices": ["arithmetic"], - "prerequisites": ["arithmetic", "integers", "lists"], "status": "beta" }, { "slug": "knapsack", "name": "Knapsack", "uuid": "7b699611-7119-4f4e-93bb-ff7dc3064357", + "practices": [ + "reducing", + "mapping", + "filtering" + ], + "prerequisites": [ + "reducing", + "mapping", + "filtering", + "lists", + "functions" + ], "difficulty": 7, - "practices": ["reducing", "mapping", "filtering"], - "prerequisites": ["reducing", "mapping", "filtering", "lists", "functions"], "status": "beta" }, { "slug": "rail-fence-cipher", "name": "Rail Fence Cipher", "uuid": "22ad5969-163d-44db-a2a6-b9c6b0767598", + "practices": [ + "strings" + ], + "prerequisites": [ + "strings", + "functions", + "lists", + "mapping" + ], "difficulty": 4, - "practices": ["strings"], - "prerequisites": ["strings", "functions", "lists", "mapping"], "status": "beta" }, { "slug": "pig-latin", "name": "Pig Latin", "uuid": "761dc40f-7142-4f0c-abc8-a05042600f42", + "practices": [ + "strings", + "functions" + ], + "prerequisites": [ + "strings", + "functions", + "lists", + "format-basics" + ], "difficulty": 6, - "practices": ["strings", "functions"], - "prerequisites": ["strings", "functions", "lists", "format-basics"], "status": "beta" }, { "slug": "protein-translation", "name": "Protein Translation", "uuid": "81ee1119-ddd8-412b-a9f4-7f4374c7cf46", + "practices": [ + "conditionals" + ], + "prerequisites": [ + "conditionals", + "functions", + "lists" + ], "difficulty": 4, - "practices": ["conditionals"], - "prerequisites": ["conditionals", "functions", "lists"], "status": "beta" }, { "slug": "saddle-points", "name": "Saddle Points", "uuid": "5e5cc82c-48a5-4a9d-a07a-4a1e9990587c", + "practices": [ + "arrays" + ], + "prerequisites": [ + "arrays", + "lists", + "functions", + "mapping", + "filtering" + ], "difficulty": 3, - "practices": ["arrays"], - "prerequisites": ["arrays", "lists", "functions", "mapping", "filtering"], "status": "beta" }, { "slug": "matrix", "name": "Matrix", "uuid": "93e19e42-f81d-42f0-b3ad-a0f5974ccf20", + "practices": [ + "strings", + "arrays" + ], + "prerequisites": [ + "strings", + "arrays", + "functions", + "lists" + ], "difficulty": 4, - "practices": ["strings", "arrays"], - "prerequisites": ["strings", "arrays", "functions", "lists"], "status": "beta" }, { "slug": "palindrome-products", "name": "Palindrome Products", "uuid": "55744a77-e371-4963-bd8a-43048eb56ad4", + "practices": [ + "multiple-values", + "arithmetic" + ], + "prerequisites": [ + "multiple-values", + "arithmetic", + "functions", + "lists" + ], "difficulty": 6, - "practices": ["multiple-values", "arithmetic"], - "prerequisites": ["multiple-values", "arithmetic", "functions", "lists"], "status": "beta" }, { "slug": "pythagorean-triplet", "name": "Pythagorean Triplet", "uuid": "f7bbf16d-77d9-4d13-a20c-e60f416de764", + "practices": [ + "arithmetic" + ], + "prerequisites": [ + "arithmetic", + "multiple-values", + "lists" + ], "difficulty": 6, - "practices": ["arithmetic"], - "prerequisites": ["arithmetic", "multiple-values", "lists"], "status": "beta" }, { "slug": "affine-cipher", "name": "Affine Cipher", "uuid": "b7885c80-d4d9-4636-a9c2-6051c6f9204c", + "practices": [ + "arithmetic", + "strings", + "characters" + ], + "prerequisites": [ + "arithmetic", + "strings", + "characters", + "mapping", + "filtering" + ], "difficulty": 4, - "practices": ["arithmetic", "strings", "characters"], - "prerequisites": ["arithmetic", "strings", "characters", "mapping", "filtering"], "status": "beta" }, { "slug": "say", "name": "Say", "uuid": "c1aff1f6-2b48-4b54-a784-c5dbe2a7a19c", + "practices": [ + "format-basics" + ], + "prerequisites": [ + "format-basics" + ], "difficulty": 1, - "practices": ["format-basics"], - "prerequisites": ["format-basics"], "status": "beta" }, { "slug": "two-bucket", "name": "Two Bucket", "uuid": "3b972dcf-536e-4a42-9b39-040ac7f40f2f", + "practices": [ + "conditionals", + "functions" + ], + "prerequisites": [ + "conditionals", + "functions" + ], "difficulty": 6, - "practices": ["conditionals", "functions"], - "prerequisites": ["conditionals", "functions"], "status": "beta" }, { "slug": "flatten-array", "name": "Flatten Array", "uuid": "008ae436-b9d5-4882-b1c7-8809baff70ea", + "practices": [ + "reducing" + ], + "prerequisites": [ + "functions", + "lists", + "conditionals", + "filtering", + "reducing" + ], "difficulty": 6, - "practices": ["reducing"], - "prerequisites": ["functions", "lists", "conditionals", "filtering", "reducing"], "status": "beta" }, { "slug": "spiral-matrix", "name": "Spiral Matrix", "uuid": "c9a6f47c-53a2-4a65-bd1e-9a370a2db71c", + "practices": [ + "arrays" + ], + "prerequisites": [ + "arrays", + "functions", + "mapping" + ], "difficulty": 3, - "practices": ["arrays"], - "prerequisites": ["arrays", "functions", "mapping"], "status": "beta" }, { "slug": "diamond", "name": "Diamond", "uuid": "410ff5ca-cbef-47a8-b33a-e3d5a70e4a99", + "practices": [ + "format-basics" + ], + "prerequisites": [ + "format-basics" + ], "difficulty": 5, - "practices": ["format-basics"], - "prerequisites": ["format-basics"], "status": "beta" }, { "slug": "rotational-cipher", "name": "Rotational Cipher", "uuid": "d94532d1-9d7b-489d-8620-31310209ccee", + "practices": [ + "strings" + ], + "prerequisites": [ + "strings" + ], "difficulty": 3, - "practices": ["strings"], - "prerequisites": ["strings"], "status": "beta" }, { "slug": "pangram", "name": "Pangram", "uuid": "43760aca-393a-4cb2-9c5a-62a2d1e34032", + "practices": [ + "filtering" + ], + "prerequisites": [ + "filtering", + "strings" + ], "difficulty": 1, - "practices": ["filtering"], - "prerequisites": ["filtering", "strings"], "status": "beta" }, { "slug": "secret-handshake", "name": "Secret Handshake", "uuid": "e2b72779-d795-45b8-8933-5914a0cb1937", + "practices": [ + "conditionals", + "integers" + ], + "prerequisites": [ + "conditionals", + "integers" + ], "difficulty": 2, - "practices": ["conditionals", "integers"], - "prerequisites": ["conditionals", "integers"], "status": "beta" }, { "slug": "darts", "name": "Darts", "uuid": "ce90fcd2-bf4d-4ed4-ba1d-eadca619022f", + "practices": [ + "arithmetic", + "floating-point-numbers", + "conditionals" + ], + "prerequisites": [ + "arithmetic", + "floating-point-numbers", + "conditionals" + ], "difficulty": 2, - "practices": ["arithmetic", "floating-point-numbers", "conditionals"], - "prerequisites": ["arithmetic", "floating-point-numbers", "conditionals"], "status": "beta" }, { "slug": "proverb", "name": "Proverb", "uuid": "2e88cea7-59ea-409b-87a0-93eaaf06a7ba", + "practices": [ + "format-basics" + ], + "prerequisites": [ + "format-basics" + ], "difficulty": 3, - "practices": ["format-basics"], - "prerequisites": ["format-basics"], "status": "beta" }, { "slug": "food-chain", "name": "Food Chain", "uuid": "98f7f477-a55f-46e9-9c0e-a90ba2298039", + "practices": [ + "format-basics" + ], + "prerequisites": [ + "format-basics", + "functions", + "strings" + ], "difficulty": 5, - "practices": ["format-basics"], - "prerequisites": ["format-basics", "functions", "strings"], "status": "beta" } ], @@ -824,7 +1303,7 @@ "parallel-letter-frequency", "lens-person", "reverse-string" - ] + ] }, "concepts": [ { @@ -965,49 +1444,49 @@ ], "key_features": [ { - "icon": "interactive", "title": "Interactive", - "content": "Common Lisp has a full featured REPL, development can happen as a 'conversation' with the system." + "content": "Common Lisp has a full featured REPL, development can happen as a 'conversation' with the system.", + "icon": "interactive" }, { - "icon": "documentation", "title": "Inspectible", - "content": "Common Lisp is fully inspectable with built-in functions for exploring every part of the language." + "content": "Common Lisp is fully inspectable with built-in functions for exploring every part of the language.", + "icon": "documentation" }, { - "icon": "homoiconic", "title": "Homoiconicity", - "content": "Code has the same structure as data, allowing for powerful macros: code that writes code." + "content": "Code has the same structure as data, allowing for powerful macros: code that writes code.", + "icon": "homoiconic" }, { - "icon": "extensible", "title": "Extensible", - "content": "Generic functions, reader-macros, and flexible namespacing allow for the extension of the language" + "content": "Generic functions, reader-macros, and flexible namespacing allow for the extension of the language", + "icon": "extensible" }, { - "icon": "stable", "title": "Standardized", - "content": "The language is very stable, with multiple implementations to match your needs – JVM, embedded, etc." + "content": "The language is very stable, with multiple implementations to match your needs – JVM, embedded, etc.", + "icon": "stable" }, { - "icon": "multi-paradigm", "title": "Multi-paradigm", - "content": "Whether you prefer a functional style or something more object-oriented, Lisp adapts to your needs." + "content": "Whether you prefer a functional style or something more object-oriented, Lisp adapts to your needs.", + "icon": "multi-paradigm" } ], "tags": [ + "execution_mode/compiled", + "execution_mode/interpreted", "paradigm/functional", "paradigm/imperative", "paradigm/object_oriented", "paradigm/procedural", - "typing/dynamic", - "typing/strong", - "execution_mode/compiled", - "execution_mode/interpreted", - "platform/windows", - "platform/mac", "platform/linux", + "platform/mac", + "platform/windows", "runtime/language_specific", + "typing/dynamic", + "typing/strong", "used_for/artificial_intelligence", "used_for/backends", "used_for/games",