mirror of
https://github.com/anoma/juvix.git
synced 2024-11-30 05:42:26 +03:00
c143259aee
* Closes #3039 * Closes #3043 * Closes #2970 * Closes #3089 * Parser allows trailing semicolons for any kind of semicolon-separated items: - let-block statements, - module statements, - record declaration statements, - record update fields, - record pattern fields, - named application arguments, - list literal items, - list pattern items, - open statement using/hiding items, - `syntax iterator` declaration parameters, - `syntax fixity` declaration parameters. * Formatter prints trailing semicolons if the items are displayed on separate lines, removes them if on a single line. * The formatting of multiline lists is changed to make it consistent with other semicolon-separated blocks: ``` [ 1; 2; 3; ] ``` instead of ``` [ 1 ; 2 ; 3 ] ```
26 lines
313 B
Plaintext
26 lines
313 B
Plaintext
module Puns;
|
|
|
|
type A := a;
|
|
|
|
type B := b;
|
|
|
|
type S :=
|
|
mkS@{
|
|
fieldA : A;
|
|
fieldB : B;
|
|
fieldC : A;
|
|
fieldD : B;
|
|
fieldE : B;
|
|
};
|
|
|
|
f (fieldA : A) (fieldB : B) : S :=
|
|
let
|
|
fieldD := b;
|
|
in mkS@{
|
|
fieldC := fieldA;
|
|
fieldA;
|
|
fieldB;
|
|
fieldE := b;
|
|
fieldD;
|
|
};
|