Compiler
Enhancements
Type signatures in instances
Type class instances can now include type signatures for class members, as documentation:
data MyType = MyType String
instance showMyType :: Show MyType where
show :: MyType -> String
show (MyType s) = "(MyType " <> show s <> ")"
Bug Fixes
- Encode HTML content as UTF8 when using
purs repl
with--port
(@dgendill) - Disallow some invalid newtype-derived instances (@paf31)
- Disallow
forall
within constraints (#2874, @sectore) - Convert
\r\n
into\n
after reading files (@kritzcreek) - Fix PSCi tests (@kritzcreek)
- Better variable naming hygiene in TCO. (#2868, @houli)
- Simplify TCO generated code (@matthewleon)
- Remove newlines from printed custom type errors (@matthewleon)
- Fix some
purs
command line help message issues (@Cmdv) - Apply relative paths during pretty printing of errors (@kritzcreek)
- Desugar
let
properly when generating docs (@paf31) - Fix kind signature for
RowCons
type class in documentation (@tslawler) - Fix an issue with error messages for
TypesDoNotUnify
involving duplicate labels (#2820, @thoradam)
Other
- Update
package.yaml
(@sol) - Parse support modules from actual test support
purs
(@noraesae) - Update
build
command to run tests (@sectore) - Bumps lower bound for
directory
(@kritzcreek) - Switch
core-tests
topsc-package
(#2830, @matthewleon) - Small fix for the copyright dates (@seanwestfall)
- Update
CONTRIBUTING.md
for "new contributor" label (@thoradam)
purs ide
Features
- Add a new namespace filter (#2792, @sectore, @stefanholzmueller)
A new filter, which restricts query results to the value, type and/or kind namespaces, which allows improvements to the completion and import commands.
- Adds a command to add qualified imports (@kritzcreek)
This empowers editor plugins to add imports for qualified identifiers, for example in the Emacs plugin.
- New import formatting (@kritzcreek)
- Group reexports in completions (@kritzcreek)
Editors can now choose to let purs ide
group reexports for the same value, to reduce noise when completing values like Data.Functor.map
which are reexported a lot and show up that many times in the completion list.
Enhancements
- Parse modules in parallel (@kritzcreek)
This can yield significant speedups in the initial load times. For example a full load of slamdata/slamdata
improves from 11 to 6 seconds
- Introduce completion options (@kritzcreek)
Bug Fixes
- Resolve synonyms and kinds (@kritzcreek)
- Work around laziness when measuring command performance (@kritzcreek)
- Simplify state type (@kritzcreek)
- Extract namespace ADT (@kritzcreek)
- Decodes source files as UTF8 when parsing out the imports (@kritzcreek)
- Fix the import command for kinds (@kritzcreek)
- Reads files in text mode for adding imports (@kritzcreek)
- Add
-h
/--help
toide
subcommands (@simonyangme)