Skip to content

Tags: opt9/purescript

Tags

v0.13.5

Toggle v0.13.5's commit message
Update package.yml for 0.13.5

v0.13.1

Toggle v0.13.1's commit message
Regenerate LICENSE file

v0.13.0

Toggle v0.13.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Bump version to 0.13.0 (purescript#3651)

v0.12.4

Toggle v0.12.4's commit message
This means we can now complete module names with the completion API as

well as being able to query for module level documentation and
goto-defintion for module names.

The list loadedModules command has also been deprecated, since you can now use
the completion command with a filter for modules instead. (@kritzcreek)

Large types in error messages are now truncated. For example:

```purescript
module Main where

data Id a = Id a

foo :: Id (Id (Id (Id (Id Int))))
foo = "hi"
```

now produces

```
  Could not match type

    String

  with type

    Id (Id (Id (... ...)))
```

The previous behaviour of printing the types in full may be recovered by
passing the `--verbose-errors` flag to the compiler. (@hdgarrood)

In both CommonJS compiler output and JavaScript `purs bundle` output, we no
longer emit JS imports for modules whose use sites have all been optimized out.
This reduces the number of warnings produced by other JavaScript bundlers or
compressors such as "Side effects in initialization of unused variable
Control_Category". (@rhendric)

The format for resolutions files passed via the CLI to `purs publish` has been
simplified. A new-style resolutions file should look something like this:

```
{
  "purescript-prelude": {
     "version": "4.0.0",
     "path": "bower_components/purescript-prelude"
  },
  "purescript-lists": {
     "version": "6.0.0",
     "path": "bower_components/purescript-lists"
  },
  ...
}
```

The `version` field is used for generating links between packages on Pursuit,
and the `path` field is used to obtain the source files while generating
documentation: all files matching the glob "src/**/*.purs" relative to the
`path` directory will be picked up.

The `version` field is optional, but omitting it will mean that no links will
be generated for any declarations from that package on Pursuit. The "path"
field is required.

The old format is still accepted, but it has been deprecated, and `purs
publish` will now produce a warning when consuming it.

This change allows us to work around a bug in Bower which prevented packages
with larger dependency trees (such as Halogen) from being uploaded to Pursuit
(purescript-contrib/pulp#351).

A cycle in type class declarations, such as

```purescript
class C a <= D a
class D a <= C a
```

now produces a more informative error, which no longer confusingly refers to
type synonyms, and which displays all of the classes involved in the cycle.
(@Saulukass)

* Naming a constructor `PS` no longer causes JS runtime errors when using
  `purs bundle` (purescript#3505, @mhcurylo)
* `purs publish` now warns instead of failing if not all dependencies have a
  resolved version, e.g. if some have been installed via a branch or commit
  reference instead of a version range (purescript#3061, @hdgarrood)

* Raise upper bound on aeson in package.yaml (purescript#3537, @jacereda)
* Add Nix test dependencies to stack.yaml (purescript#3525, @jmackie)
* [purs ide] Represent filters as a data type rather than functions (purescript#3547, @kritzcreek)
* Carry data constructor field names in the AST (purescript#3566, @garyb)
* Convert prim docs tests to use tasty (purescript#3568, @hdgarrood)
* Bump bower version used in tests (purescript#3570, @garyb)
* Add tests for `purs bundle` (purescript#3533, @mhcurylo)
* Update to GHC 8.6.4 (purescript#3560, @kritzcreek)
* Rerun some of the compiler tests to test with `purs bundle` (purescript#3579, @rhendric)
* Fix handling of directive prologues like "use strict" in `purs bundle` (purescript#3581, @rhendric)

v0.12.2

Toggle v0.12.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Bump version to 0.12.2 (purescript#3512)

* Bump version to 0.12.2

* Update license file