Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
5ae3c58
Remove Elm.Parser.parse and rename parseToFile to parse
jfmengels Jul 18, 2024
fc59829
Remove Elm.Writer module
jfmengels Jul 18, 2024
266214a
Remove serialization tests
jfmengels Jul 18, 2024
bf3c713
Remove Elm.Processing, Elm.RawFile, Elm.Interface and Elm.Dependency
jfmengels Jul 18, 2024
9011152
Remove serialization ability from modules
jfmengels Jul 18, 2024
b85d76d
Change type signature on Application expression
MartinSStewart Jun 10, 2020
9393ba9
Make RecordUpdateExpression nonempty
MartinSStewart Jun 15, 2020
b461b67
Remove Unit, it is a tuple with 0 elements
stil4m Jun 15, 2020
1c777d9
Rename Tupled to Tuple
stil4m Jun 16, 2020
6794e14
Rename TupledExpression to TupleExpression
stil4m Jun 16, 2020
2634374
Rename Typed to Type
stil4m Jun 16, 2020
9993661
Rename GenericType to Var
stil4m Jun 16, 2020
9ef03d9
issue-61: Remove Destructuring declaration value constructor
stil4m Jun 17, 2020
cff11aa
Require at least one exposed item in an explicit exposing list
MartinSStewart Jun 20, 2020
280c277
Require at least one case statement to appear in case block
MartinSStewart Jun 19, 2020
a3a2a58
issue-35: Add documentation to port type
jfmengels Jul 25, 2024
29421ee
Made constructors for Type nonempty
MartinSStewart Jun 25, 2020
d235bbe
Remove Elm.Syntax.Pattern.FloatPattern
MartinSStewart Jun 26, 2020
2ef4281
Remove UnitExpr and ParenthesizedExpression
MartinSStewart Jun 29, 2020
fdedca5
Add DeconstructPattern for deconstructing instead of reusing pattern
MartinSStewart Jun 25, 2023
f75833c
Remove dot from record access
MartinSStewart Jul 17, 2021
326a01f
Add information to Expression about which quotes a Literal is made of
jfmengels Jun 27, 2023
7941bc9
Rename IfBlock to If
jfmengels Jun 27, 2023
9c64ba4
Rename Floatable to FloatLiteral
jfmengels Jun 27, 2023
8892a7b
Rename Integer to IntegerLiteral
jfmengels Jun 27, 2023
1ebfff2
Rename Hex to HexLiteral
jfmengels Jun 27, 2023
6dc6d5f
Rename ListExpr to ListLiteral
jfmengels Jun 27, 2023
cefe86d
Rename Literal to StringLiteral
jfmengels Jun 27, 2023
10a1a22
Rename OperatorApplication to Operation
jfmengels Jun 27, 2023
adf456c
Update docs for TupleExpression
jfmengels Jun 28, 2023
72194ec
Rename RecordUpdateExpression to RecordUpdate
jfmengels Jun 28, 2023
76dd765
Rename Expression.RecordExpr to Record
jfmengels Jun 30, 2023
1d2f39d
Rename Expression.CaseExpression to Case
jfmengels Jun 30, 2023
a91038c
Rename Expression.LetExpression to Let
jfmengels Jun 30, 2023
06ed271
Rename Expression.GLSLExpression to GLSL
jfmengels Jun 30, 2023
e00f2dc
Reorder expression definitions
jfmengels Jun 30, 2023
c78441b
Rename Application to FunctionCall
jfmengels Aug 17, 2023
ad7d69b
Rename isOperatorApplication to isOperation
jiegillet Jul 20, 2024
e38545e
Remove the Operator Expression variant
jfmengels Jul 25, 2024
d727aed
Remove Elm.Syntax.Range.emptyRange
jfmengels Jul 26, 2024
7c87147
Make arguments for FunctionCall nonempty
jfmengels Aug 2, 2024
0fc4e6b
Add information to Pattern about which quotes a StringPattern is made of
jfmengels Aug 2, 2024
eff82e1
Remove direction from Operator
jfmengels Aug 2, 2024
0ec7104
Move the operator argument for Operation
jfmengels Aug 3, 2024
870e6c0
Wrap operator in Operation in a Node
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
71 changes: 71 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,77 @@

## [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
- Moved the operator to be between the two expressions
- Wrapped the operator in `Node` to store its position
- `OperatorApplication String InfixDirection (Node Expression) (Node Expression)` -> `Operation (Node Expression) (Node String) (Node Expression)`
- Renamed `isOperatorApplication` to `isOperation`
- 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)

- 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