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.
This commit is contained in:
Ruud van Asseldonk 2024-01-30 23:57:38 +01:00
parent 5f29bc19b6
commit 6f746f3f8c

View file

@ -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