On Wednesday, October 19, 2016 at 10:58:17 AM UTC-6, Peter Damoc wrote:
>
> On Wed, Oct 19, 2016 at 3:02 PM, John Orford <[email protected]
> <javascript:>> wrote:
>
>> Commas beginning lines etc.
>>
>> Perhaps not idiomatic in Python or JS, but new good ideas rarely are : )
>>
>>
> I think I've answered too quickly in the previous reply.
>
> Commas beginning lines looks weird to a lot of people glancing at elm.
> We got used to them and, as with status quo in general, one can find
> reasons to keep it.
>
> I would much rather have the compiler accept trailing comas and elm-format
> inserting them automatically when spreading a list/record on multiple lines.
>
That is what I'd prefer as well. An example, all of this is valid OCaml
code for a record:
```ocaml
type myRecord = {
i : int;
s : string
}
type myRecord = {
i : int;
s : string;
}
type myRecord =
{
i : int;
s : string
}
type myRecord =
{ i : int;
s : string
}
type myRecord =
{ i : int;
s : string }
type myRecord =
{ i : int
; s : string
}
```
Though as you note, no pre-;'s are allowed, but trailing are. For
Variants/Unions:
```ocaml
type myUnion = Something | AnotherThing
type myUnion =
Something | AnotherThing
type myUnion =
Something
| AnotherThing
type myUnion
= Something
| AnotherThing
type myUnion =
| Something
| AnotherThing
```
The | can have a prefix one, but not a trailing one. Personally I always
use the bottom style unless I am just wrapping up a type into a new type to
make sure I do not mis-use it, like by doing:
```ocaml
type systemID = SystemID of string
```
However, elm is trying to minimize the possible ways to represent
something, if you can already do something one way then do not add in
another way (I'm still not a fan of `.field` style record accessors, maybe
a Lens or so to be able to get/set/update, but eh), and early/trailing
things are such superfluous things technically.
--
You received this message because you are subscribed to the Google Groups "Elm
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.