From 6f746f3f8cd8eaafa1855dcea2cc0be38d6ce271 Mon Sep 17 00:00:00 2001 From: Ruud van Asseldonk Date: Tue, 30 Jan 2024 23:57:38 +0100 Subject: [PATCH] Add some more ideas I was thinking today about how the | operator is way briefer than writing a comprehension in a collection, but writing the comprehension is nice to format and | is awkward. Also when writing down the type of the | operator ... it's a challenge (also to typecheck it). Perhaps, adding a spread/unpack operator will resolve both issues. It would be slightly more verbose, but not terribly so. And I believe it would be more readable too. --- ideas/roadmap.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ideas/roadmap.md b/ideas/roadmap.md index 87f3d4c..1216161 100644 --- a/ideas/roadmap.md +++ b/ideas/roadmap.md @@ -1,5 +1,9 @@ # Roadmap +## In progress + + * Type system. + ## Near term * Accept an expression through `--expr` for `rcl evaluate`. @@ -14,10 +18,13 @@ * Absorb the `highlight` command into `fmt` and make it use the same coloring? * Evaluate whether to add a tuple type to describe heterogeneous lists of statically known length. + * Add a spread operator for inside collections, and evaluate whether it should + supersede the dict/set union operator. It would solve some typing issues, and + it's easier to format in a pleasant way. + * Add nested fields to record syntax, i.e. `{x.y = "z"} == {x = {y = "z" }}`. ## Long-term - * Type system. * Add a more efficient runtime system, possibly with a garbage collector. * Multithreaded evaluation. Due to strict evaluation and being purely functional without side effects, this is actually feasible: when we evaluate