flix
flix copied to clipboard
The Flix Programming Language
- [ ] Rename - [ ] Type constraints
We should review the standard library to ensure that every use of `Static` and/or `Impure` is necessary, i.e. if regions can be used instead, they should be. We are already...
This becomes relevant after foreach and for-yield has been added.
Use regions and `MutList` in the implementation of `flatMap` on some data structures (e.g. `List`)
- [x] #3259 - [x] #3263 - [x] #3268 - [x] #3280 - [x] #3282 - [x] #3339 - [x] #3272 - [x] #2904 - [x] #3359 - [x] #3300...
For example, our current implementation of `List.map` is the naive: ```scala pub def flatMap(f: a -> List[b] & ef, l: List[a]): List[b] & ef = def loop(ll, acc) = match...
It's only used in `unzip` and should be a helper function for that. `init2` can just be done at the call site instead: `(Array.init(...), Array.init(...))`.
- [x] Discuss `discard` expression. - [x] Discuss regions and type classes (e.g. `Functor` and `Foldable`). - [x] Status of `Iterable` and `Iterator` - [ ] Discuss other region topics...
This todo has been in the code quite some time and I think we should have an issue instead of a todo in the std lib. ``` namespace List {...
The subtyping that we use (KindedVar and UnkindedVar extend Var) is fairly messy: we end up with a lot of pattern matches where we have several `case X => throw...