Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
87049fa
Remove Elm.Parser.parse and rename parseToFile to parse
jfmengels Jul 18, 2024
df98908
Remove Elm.Writer module
jfmengels Jul 18, 2024
7bcf47d
Remove serialization tests
jfmengels Jul 18, 2024
97aadb4
Remove Elm.Processing, Elm.RawFile, Elm.Interface and Elm.Dependency
jfmengels Jul 18, 2024
9adfc79
Remove serialization ability from modules
jfmengels Jul 18, 2024
50c202c
Change type signature on Application expression
MartinSStewart Jun 10, 2020
fbfd4d4
Make RecordUpdateExpression nonempty
MartinSStewart Jun 15, 2020
97411f0
Remove Unit, it is a tuple with 0 elements
stil4m Jun 15, 2020
cb618e9
Rename Tupled to Tuple
stil4m Jun 16, 2020
1089b0d
Rename TupledExpression to TupleExpression
stil4m Jun 16, 2020
c636d9f
Rename Typed to Type
stil4m Jun 16, 2020
772480c
Rename GenericType to Var
stil4m Jun 16, 2020
5aaaab3
issue-61: Remove Destructuring declaration value constructor
stil4m Jun 17, 2020
277256a
Require at least one exposed item in an explicit exposing list
MartinSStewart Jun 20, 2020
a4c18bf
Require at least one case statement to appear in case block
MartinSStewart Jun 19, 2020
84fac3a
issue-35: Add documentation to port type
jfmengels Jul 25, 2024
a812745
Made constructors for Type nonempty
MartinSStewart Jun 25, 2020
7470bb3
Remove Elm.Syntax.Pattern.FloatPattern
MartinSStewart Jun 26, 2020
e306675
Remove UnitExpr and ParenthesizedExpression
MartinSStewart Jun 29, 2020
73b63c6
Add DeconstructPattern for deconstructing instead of reusing pattern
MartinSStewart Jun 25, 2023
84ce013
Remove dot from record access
MartinSStewart Jul 17, 2021
da37d2c
Add information to Expression about which quotes a Literal is made of
jfmengels Jun 27, 2023
59e6df4
Rename IfBlock to If
jfmengels Jun 27, 2023
2b1c107
Rename Floatable to FloatLiteral
jfmengels Jun 27, 2023
5b586c0
Rename Integer to IntegerLiteral
jfmengels Jun 27, 2023
56bc44b
Rename Hex to HexLiteral
jfmengels Jun 27, 2023
65ad689
Rename ListExpr to ListLiteral
jfmengels Jun 27, 2023
be239e2
Rename Literal to StringLiteral
jfmengels Jun 27, 2023
5005b4f
Rename OperatorApplication to Operation
jfmengels Jun 27, 2023
0024f44
Update docs for TupleExpression
jfmengels Jun 28, 2023
7c38155
Rename RecordUpdateExpression to RecordUpdate
jfmengels Jun 28, 2023
b0176d9
Rename Expression.RecordExpr to Record
jfmengels Jun 30, 2023
05e9ca4
Rename Expression.CaseExpression to Case
jfmengels Jun 30, 2023
d6abfbb
Rename Expression.LetExpression to Let
jfmengels Jun 30, 2023
4eed7d8
Rename Expression.GLSLExpression to GLSL
jfmengels Jun 30, 2023
5b78667
Reorder expression definitions
jfmengels Jun 30, 2023
1f3acea
Rename Application to FunctionCall
jfmengels Aug 17, 2023
f133792
Rename isOperatorApplication to isOperation
jiegillet Jul 20, 2024
862e0bf
Remove the Operator Expression variant
jfmengels Jul 25, 2024
0503e74
Remove Elm.Syntax.Range.emptyRange
jfmengels Jul 26, 2024
41f3a45
Make arguments for FunctionCall nonempty
jfmengels Aug 2, 2024
80296d4
Add information to Pattern about which quotes a StringPattern is made of
jfmengels Aug 2, 2024
0f43132
Remove direction from Operator
jfmengels Aug 2, 2024
b9e532a
Remove predicate functions from Expression
jfmengels Aug 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,75 @@

## [Unreleased]

- Removed the deprecated `Elm.Parser.parse` function, and renamed `Elm.Parser.parseToFile` to `Elm.Parser.parse` (in other words, `Elm.Parser.parse`'s type changed to be the same as `parseToFile`)

- Removed APIs:
- `Elm.Writer` module
- `Elm.Interface` module
- `Elm.Dependency` module
- `Elm.Processing` and `Elm.RawFile` modules
- All `encode` and `decode` functions

- Changed `Elm.Syntax.Declaration.Declaration`:
- Removed `Destructuring` variant (it was not possible to get)
- `PortDeclaration` documentation's is now attached to the declaration
- `PortDeclaration Signature` -> `PortDeclaration Port` where `type alias Port = { documentation : Maybe (Node Documentation), signature : Signature }`
- The comment for the port declaration is now removed from the `Elm.Syntax.File.File.comments` field.

- Add a new module `Elm.Syntax.DeconstructPattern` which mimics `Elm.Syntax.Pattern` but for patterns in functions and let declarations.
- This removes the need to handle impossible patterns. For instance, you can't find a string pattern in `someFn (X "impossible") = x` in a function declaration.

- Changed `Elm.Syntax.Expression.Expression`:
- **WARNING (will not result in compilation error)** Stripped the `.` in the `String` stored in `RecordAccessFunction` (for code like `.field`)
- Example: `RecordAccessFunction ".field"` -> `RecordAccessFunction "field"`
- Renamed `Literal` to `StringLiteral`
- Added information to `String` literal as to whether `"""` or `"` was used:
- `Literal String` -> `StringLiteral StringLiteralType String`
- Added `type StringLiteralType = TripleQuote | SingleQuote`
- Renamed `Application` to `FunctionCall`
- `Application (List (Node Expression))` -> `FunctionCall (Node Expression) (Node Expression) (List (Node Expression))` (function is separated, and takes a non-empty list of arguments)
- Renamed `RecordUpdateExpression` to `RecordUpdate`
- `RecordUpdateExpression (Node String) (List (Node RecordSetter))` -> `RecordUpdate (Node String) (Node RecordSetter) (List (Node RecordSetter))` (takes a non-empty list of fields)
- Renamed `TupledExpression` to `TupleExpression`
- Renamed `IfBlock` to `If`
- Renamed `Floatable` to `FloatLiteral`
- Renamed `Integer` to `IntegerLiteral`
- Renamed `Hex` to `HexLiteral`
- Renamed `ListExpr` to `ListLiteral`
- `OperatorApplication`
- Renamed `OperatorApplication` to `Operation`
- Removed the `InfixDirection` field
- `OperatorApplication String InfixDirection (Node Expression) (Node Expression)` -> `Operation String (Node Expression) (Node Expression)`
- Renamed `RecordExpr` to `Record`
- Renamed `CaseExpression` to `Case`
- Renamed `LetExpression` to `Let`
- Renamed `GLSLExpression` to `GLSL`
- `UnitExpr` -> `TupleExpression []`
- `ParenthesizedExpression x` -> `TupleExpression [ x ]`
- Removed `Elm.Syntax.Expression.Cases` type alias (it was `type alias Cases = List Case`)
- `Elm.Syntax.Expression.CaseBlock`'s `cases : List Case` field is split into `firstCase : Case` and `restOfCases : List Case` (takes a non-empty list of cases)
- Removed `Operator` (it was not possible to get)
- Renamed predicate functions `isLambda`, `isLet`, `isIfElse`, `isCase`, `isOperatorApplication`

- Changed `Elm.Syntax.Pattern.Pattern`:
- Removed `FloatPattern` (it was not possible to get)
- Added information to `StringPattern` as to whether `"""` or `"` was used:
- `StringPattern String` -> `StringPattern StringLiteralType String`

- Changed `Elm.Syntax.TypeAnnotation.TypeAnnotation`:
- `Tupled` -> `Tuple`
- `Unit` -> `Tuple []`
- Renamed `Typed` to `Type`
- `Elm.Syntax.TypeAnnotation.Type`'s `constructors : List (Node ValueConstructor)` field is split into `firstConstructor : Node ValueConstructor` and `restOfConstructors : List (Node ValueConstructor)` (takes a non-empty list of constructors)
- Renamed `GenericType` to `Var`

- Changed `Elm.Syntax.Exposing.Exposing`:
- `Explicit (List (Node TopLevelExpose))` -> `Explicit (Node TopLevelExpose) (List (Node TopLevelExpose))` (takes a non-empty list of elements)

- Added module `Elm.Syntax.StringLiteralType` containing `type StringLiteralType = TripleQuote | SingleQuote`

- Removed deprecated `Elm.Syntax.Range.emptyRange`, use `Elm.Syntax.Range.empty` instead.

## [7.3.4] - 2024-07-26

Parsing is faster by ~90%. A big thank you to [@lue-bird](https://github.com/lue-bird) for finding and introducing a huge amount of performance improvements.
Expand Down
13 changes: 5 additions & 8 deletions elm.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,10 @@
"license": "MIT",
"version": "7.3.4",
"exposed-modules": [
"Elm.Dependency",
"Elm.Interface",
"Elm.Parser",
"Elm.Processing",
"Elm.RawFile",
"Elm.Writer",
"Elm.Syntax.Comments",
"Elm.Syntax.Declaration",
"Elm.Syntax.DestructurePattern",
"Elm.Syntax.Documentation",
"Elm.Syntax.Exposing",
"Elm.Syntax.Expression",
Expand All @@ -23,20 +19,21 @@
"Elm.Syntax.ModuleName",
"Elm.Syntax.Node",
"Elm.Syntax.Pattern",
"Elm.Syntax.Port",
"Elm.Syntax.Range",
"Elm.Syntax.Signature",
"Elm.Syntax.StringLiteralType",
"Elm.Syntax.TypeAlias",
"Elm.Syntax.TypeAlias",
"Elm.Syntax.TypeAnnotation",
"Elm.Syntax.Type"
],
"elm-version": "0.19.0 <= v < 0.20.0",
"dependencies": {
"elm/core": "1.0.0 <= v < 2.0.0",
"elm/json": "1.0.0 <= v < 2.0.0",
"elm/parser": "1.0.0 <= v < 2.0.0",
"miniBill/elm-unicode": "1.0.2 <= v < 2.0.0",
"rtfeldman/elm-hex": "1.0.0 <= v < 2.0.0",
"stil4m/structured-writer": "1.0.1 <= v < 2.0.0"
"rtfeldman/elm-hex": "1.0.0 <= v < 2.0.0"
},
"test-dependencies": {
"elm-explorations/test": "2.0.0 <= v < 3.0.0"
Expand Down
8 changes: 0 additions & 8 deletions review/suppressed/NoDeprecated.json

This file was deleted.

8 changes: 0 additions & 8 deletions review/suppressed/NoImportingEverything.json

This file was deleted.

37 changes: 0 additions & 37 deletions src/Elm/Dependency.elm

This file was deleted.

Loading