elm/compiler

Simplify type system

pravdomil opened this issue · 3 comments

Sum types - OR
there is ONE way how to define:
type

Product types - AND
there are MANY ways:
()
(a, b)
(a, b, c)
{ x: a, y: b }
type A = A a b

Let's simplify it
If I want OR I use type and |.
If I want AND I use {}.

So
remove tuples
unit is {}
variant has only one argument
{ model, Cmd.none } is the same as { a: model, b: Cmd.none }

Thanks for reporting this! To set expectations:

  • Issues are reviewed in batches, so it can take some time to get a response.
  • Ask questions in a community forum. You will get an answer quicker that way!
  • If you experience something similar, open a new issue. We like duplicates.

Finally, please be patient with the core team. They are trying their best with limited resources.

Sorry, 👎 to breaking changes from me.

why would we do this and break practically every elm package.