./lang/purescript, Strongly typed programming language that compiles to JavaScript

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.15.12nb1, Package name: purescript-0.15.12nb1, Maintainer: pkgsrc-users

A small strongly typed programming language with expressive types that
compiles to JavaScript, written in and inspired by Haskell.


Master sites:

Filesize: 834.143 KB

Version history: (Expand)


CVS history: (Expand)


   2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141)
Log message:
Revbump all Haskell after updating lang/ghc96
   2023-10-31 08:38:56 by Masatake Daimon | Files touched by this commit (11)
Log message:
lang/purescript: Update to 0.15.12

The change log is too long to paste here. See
https://github.com/purescript/purescript/releases
   2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988)
Log message:
Bump Haskell packages after updating lang/ghc94
   2023-03-05 23:10:58 by Thomas Klausner | Files touched by this commit (1) | Package updated
Log message:
purescript: override happy dependency as well

Fixes build after happy update.
   2023-01-30 07:25:44 by Masatake Daimon | Files touched by this commit (3)
Log message:
lang/purescript: Update to 0.15.7

v0.15.7
New features:
* Allow IDE module rebuilds eschewing the filesystem (#4399 by
  @i-am-the-slime)
  - This allows IDE clients to typecheck the module the user is currently
    typing in without modifying the output.
  - This allows for faster feedback cycles in editors and avoids producing
    a broken /output before the user actually saves the file.
* Add purs ide dependency/imports filter (#4412 by @nwolverson)
  - This allows IDE tooling to filter type searches according to the
    imports of a given module, restricting to identifiers in scope.
* Shorten custom user-defined error message's prefix (#4418 by
  @i-am-the-slime)
  - Improves clarity and gets to the relevant information faster.
* The compiler can now derive instances for more types and type classes
  (#4420 by @rhendric)
  - New type classes that the compiler can derive:
    * Bifunctor
    * Bifoldable
    * Bitraversable
    * Contravariant
    * Profunctor
  - Moreover, the compiler can also use these classes when deriving
    Functor, Foldable, and Traversable, enabling more instances to be
    derived whereas before such instances would need to be written
    manually.

Bugfixes:
* Update installer to 0.3.3 to fix a few installation issues (#4425 by
  @JordanMartinez)

Other improvements:
* Improve DuplicateDeclarationsInLet error so that it mentions what
  variable names were duplicated, reporting several in separate errors as
  necessary. (#4405 by @MonoidMusician)
* Fix various typos in documentation and source comments. (#4415 by
  @Deltaspace0)
* Bump Stackage snapshot to 2022-11-12 and GHC to 9.2.4 (#4422 by
  @purefunctor)

Internal:
* Organize the compiler's internal constants files (#4406 by @rhendric)
* Enable more GHC warnings (#4429 by @rhendric)

v0.15.6
Bugfixes:
* Make FromJSON instance for Qualified backwards compatible (#4403 by
  @ptrfrncsmrph)
  - Prior to #4293, Qualified was encoded to JSON such that

    >>> encode $ Qualified Nothing "foo"
    [null,"foo"]
    >>> encode $ Qualified (Just $ ModuleName "A") "bar"
    ["A","bar"]

  - The type of Qualified has changed so that null no longer appears in
    JSON output, but for sake of backwards-compatibility with JSON that was
    produced prior to those changes (pre-v0.15.2), we need to accept null,
    which will be interpreted as Qualified ByNullSourcePos.
* Fix extraneous qualifiers added to references to floated expressions
  (#4401 by @rhendric)

v0.15.5
New features:
* Increases the max number of typed holes displayed from 5 up to 30 (#4341
  by @JordanMartinez)
* Add a compiler optimization for ST functions with up to 10 arity, similar
  to Effect optimizations. (#4386 by @mikesol)
* Enable the compiler to derive Foldable and Traversable instances (#4392
  by @rhendric)
  - These instances follow the same rules as derived Functor instances.
    For details, see the PureScript language reference.

Bugfixes:
* Qualify references to expressions floated to the top level of a module by
  the compiler (#4364 by @rhendric)
* Fix replicated type hole suggestions due to malformed source spans (#4374
  by @purefunctor)
  - In PureScript 0.15.4, the following code will produce multiple entries
    in the type hole suggestions. This is due to malformed source spans
    that are generated when desugaring value declarations into case
    expressions.

    module Main where
    data F = X | Y
    f :: forall a. F -> a -> a
    f X b = ?help
    f Y b = ?help
* Improve error spans for class and instance declarations (#4383 and #4391
  by @purefunctor and @rhendric)
  - This improves the error spans for class and instance
    declarations. Instead of highlighting the entire class or instance
    declaration when UnknownName is thrown, the compiler now highlights the
    class name and its arguments.

    Before:

    [1/2 UnknownName]
      5  class G a <= F a
         ^^^^^^^^^^^^^^^^
      Unknown type class G
    [2/2 UnknownName]
      7  instance G a => F a
         ^^^^^^^^^^^^^^^^^^^
      Unknown type class G

    After:

    [1/2 UnknownName]
      5  class G a <= F a
               ^^^
      Unknown type class G
    [2/2 UnknownName]
      7  instance G a => F a
                  ^^^
      Unknown type class G
* Fix a bug where the compiler did not consider interactions of all
  functional dependencies in classes. (#4195 by @MonoidMusician)
  - In particular, combinations of multiple parameters determining other
    parameter(s) were not handled properly, affecting overlapping instance
    checks and the selection of which parameters are fully determined.

Other improvements:
* Bump actions environment to macOS-11 (#4372 by @purefunctor)

Internal:
* Enable OverloadedRecordDot extension throughout codebase (#4355 by
  @JordanMartinez)
* Ensure order of args remain unchanged in freeTypeVariables (#4369 by
  @JordanMartinez)
* Bump HLint to version 3.5 and address most of the new hints (#4391 by
  @rhendric)
* Remove purescript-cst from Makefile (#4389 by @ptrfrncsmrph)
* Bump depend NPM purescript-installer to ^0.3.1 (#4353 by @imcotton)
* Remove base-compat as a dependency (#4384 by @purefunctor)
   2022-09-08 06:46:41 by Masatake Daimon | Files touched by this commit (1)
Log message:
lang/purescript/Makefile: Make use of HASKELL_UNRESTRICTED_DEPENDENCIES
   2022-09-07 08:50:53 by Masatake Daimon | Files touched by this commit (149) | Package updated
Log message:
Recursive bump for recently updated Haskell packages
   2022-09-07 04:53:52 by Masatake Daimon | Files touched by this commit (11) | Package removed
Log message:
lang/purescript: Update to 0.15.4

Release notes are too long to paste here:
* 0.15.4: https://github.com/purescript/purescript/releases/tag/v0.15.4
* 0.15.3: https://github.com/purescript/purescript/releases/tag/v0.15.3
* 0.15.2: https://github.com/purescript/purescript/releases/tag/v0.15.2
* 0.15.0: https://github.com/purescript/purescript/releases/tag/v0.15.0
* 0.14.9: https://github.com/purescript/purescript/releases/tag/v0.14.9
* 0.14.8: https://github.com/purescript/purescript/releases/tag/v0.14.8
* 0.14.7: https://github.com/purescript/purescript/releases/tag/v0.14.7