purescript v0.13.8 Release Notes
Release Date: 2020-05-23 // almost 4 years ago-
๐ Bug Fixes
โก๏ธ Update incremental build cache information properly on IDE rebuilds (#3789, @kritzcreek)
๐ Fixes a bug where triggering a rebuild via the IDE would not update the
output/cache-db.json
file, which in certain situations could lead to
unnecessary rebuilds, as well as modules not being rebuilt when they should
have been.Don't include compiler-internal declarations in IDE completions (#3850, @kritzcreek)
IDE completions would previously include pseudo-declarations such as
RowToList$Dict
which only exist internally, due to how type class
desugaring inside the compiler works. These declarations are now suppressed.๐ Fix corefn JSON version parsing (#3877, @paulyoung)
๐ Fixes a bug where the parser for the functional core (or "corefn") JSON
format would ignore all but the first component of the compiler version
stored in the JSON. This does not affect the compiler directly, but will be
๐ useful for other tooling which depends on the corefn JSON parser provided by
the compiler library.๐ Improvements
โ Add
purs graph
subcommand for graphing module dependencies (#3781, @jmackie, @f-f)This adds a new
graph
subcommand which allows tools to consume information
about which modules depend on which other modules. The format is as follows:{ "Prelude": { "path": "src/Prelude.purs" , "depends": ["Data.Ring" }, "Data.Ring": { "path": "src/Data/Ring.purs" , "depends": [] }, ... }
Each property in the returned object has exactly two properties;
path
,
which is a string containing the file path relative to the directory where
the command was run, anddepends
, which is an array of the names of all
directly imported modules.๐ purs ide is better at reloading changes (#3799, @kritzcreek)
The IDE would previously sometimes miss changes that were made outside of the
๐ editor, like building with new dependencies or recompiling larger parts of
the project on the console.The IDE will now notice when this happened on the next command issued to it
and refresh its state before processing that command. This might cause the
first command after an external change to take a long time to execute, but
should increase reliability in general.Switch to a binary encoding for externs files (#3841, @kritzcreek)
๐ This change should result in significant performance improvements in both IDE
๐ load times and incremental builds where lots of modules are already built.Represent module names as a single Text value internally (#3843, @kritzcreek)
๐ Boosts compiler performance by representing module names as a single Text
value, rather than a list of Text values as it was previously.๐ Extract documentation for type classes in purs ide (#3856, @kritzcreek)
๐ This changes makes documentation comments on type classes visible to the IDE.
Other