Skip to content

Commit

Permalink
Merge pull request #3 from restaumatic/restaumatic-0.15.11
Browse files Browse the repository at this point in the history
Restaumatic 0.15.11
  • Loading branch information
jborkowski authored Oct 6, 2023
2 parents be0d9ce + 969a39e commit 7d04419
Show file tree
Hide file tree
Showing 9 changed files with 59 additions and 46 deletions.
7 changes: 0 additions & 7 deletions CHANGELOG.d/feature_closed-record-update.md

This file was deleted.

8 changes: 0 additions & 8 deletions CHANGELOG.d/feature_empty-fail-instances.md

This file was deleted.

14 changes: 0 additions & 14 deletions CHANGELOG.d/fix_vtas-record-inference.md

This file was deleted.

12 changes: 0 additions & 12 deletions CHANGELOG.d/fix_vtas-wildcard-inferred.md

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion CHANGELOG.d/internal_use-gh-for-release-artifacts.md

This file was deleted.

56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,62 @@

Notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 0.15.11

New features:

* Move the closed record update optimization (#4489 by @rhendric)

For consumers of CoreFn like alternate backends, the optimization of
replacing a closed record update with an object literal has now been moved to
the point of desugaring CoreFn into JS. The `ObjectUpdate` expression
constructor now contains a `Maybe` field holding a list of record labels to
be copied as-is, for backends that want to perform this optimization also.

* Allow instances that require `Fail` to be empty (#4490 by @rhendric)

A class instance declaration that has `Prim.TypeError.Fail` as a constraint
will never be used. In light of this, such instances are now allowed to have
empty bodies even if the class has members.

(Such instances are still allowed to declare all of their members, and it is
still an error to specify some but not all members.)

Bugfixes:

* Stop emitting warnings for wildcards in Visible Type Applications (#4492 by @JordanMartinez)

Previously, the below usage of a wildcard (i.e. `_`) would
incorrectly cause the compiler to emit a warning.

```purs
f :: forall @a. a -> a
f = identity
x :: { x :: Int }
x = f @{ x :: _ } { x: 42 }
```

* Infer types using VTA inside a record (#4501 by @JordanMartinez)

Previously, `use` would fail to compile
because the `v` type variable would not be inferred
to `String`. Now the below code compiles:

```purs
reflect :: forall @t v . Reflectable t v => v
reflect = reflectType (Proxy @t)
use :: String
use = show { asdf: reflect @"asdf" }
```

Internal:

* Use `gh` for release artifacts (#4493 by @rhendric)

* Stop triggering CI on non-code-related changes (e.g. Readme) (#4502 by @JordanMartinez)

## 0.15.10

New features:
Expand Down
4 changes: 2 additions & 2 deletions npm-package/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "purescript",
"version": "0.15.10",
"version": "0.15.11",
"license": "ISC",
"description": "PureScript wrapper that makes it available as a local dependency",
"author": {
Expand Down Expand Up @@ -43,7 +43,7 @@
],
"scripts": {
"prepublishOnly": "node -e \"require('fs').copyFileSync('purs.bin.placeholder', 'purs.bin');\"",
"postinstall": "install-purescript --purs-ver=0.15.10",
"postinstall": "install-purescript --purs-ver=0.15.11",
"test": "echo 'Error: no test specified' && exit 1"
}
}
2 changes: 1 addition & 1 deletion purescript.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cabal-version: 2.4

name: purescript
-- Note: don't add prerelease identifiers here! Add them in app/Version.hs and npm-package/package.json instead.
version: 0.15.10
version: 0.15.11
synopsis: PureScript Programming Language Compiler
description: A small strongly, statically typed programming language with expressive types, inspired by Haskell and compiling to JavaScript.
category: Language
Expand Down

0 comments on commit 7d04419

Please sign in to comment.