This pull request was created by Dependabot Preview, and you've upgraded to Dependabot. This means it won't respond to dependabot commands nor will it be automatically closed if a new version is found.
If you close this pull request, Dependabot will re-create it the next time it checks for updates and everything will work as expected.
Support TCO for functions with tail-recursive inner functions (#3958, @rhendric)
Adds support for optimizing functions that contain local functions which call
the outer function in tail position, as long as those functions themselves
are only called from tail position, either in the outer function or in other
such functions.
This enables hand-written mutually-tail-recursive function groups to be
optimized, but more critically, it also means that case guards which desugar
to use local functions don't break TCO.
The compiler now emits warnings when it encounters unused names in binders
and unused value declarations. A declaration is considered to be unused if it
is not exported and is also not reachable by any of the exported
declarations. The compiler will not currently produce unused warnings about
other kinds of declarations such as data and type class declarations, but we
intend to produce warnings for these in the future as well.
Bug fixes
Make close punctuation printable in errors (#3982, @rhendric)
Desugar type operators in top-level kind signatures (#4027, @natefaubion)
Use type annotation hint only when needed (#4025, @rhendric)
Fix incorrect incremental builds with different --codegen options (#3911, #3914, @hdgarrood)
This bug meant that after invoking the compiler with different --codegen
options, it was easy to end up with (for example) an outdated docs.json or
corefn.json file in your output directory which would be incorrectly
considered up-to-date by the compiler.
Support TCO for functions with tail-recursive inner functions (#3958, @rhendric)
Adds support for optimizing functions that contain local functions which call
the outer function in tail position, as long as those functions themselves
are only called from tail position, either in the outer function or in other
such functions.
This enables hand-written mutually-tail-recursive function groups to be
optimized, but more critically, it also means that case guards which desugar
to use local functions don't break TCO.
The compiler now emits warnings when it encounters unused names in binders
and unused value declarations. A declaration is considered to be unused if it
is not exported and is also not reachable by any of the exported
declarations. The compiler will not currently produce unused warnings about
other kinds of declarations such as data and type class declarations, but we
intend to produce warnings for these in the future as well.
Bugfixes:
Make close punctuation printable in errors (#3982, @rhendric)
Desugar type operators in top-level kind signatures (#4027, @natefaubion)
Use type annotation hint only when needed (#4025, @rhendric)
Fix incorrect incremental builds with different --codegen options (#3911, #3914, @hdgarrood)
This bug meant that after invoking the compiler with different --codegen
options, it was easy to end up with (for example) an outdated docs.json or
corefn.json file in your output directory which would be incorrectly
considered up-to-date by the compiler.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot will not automatically merge this PR because this dependency is pre-1.0.0.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
⚠️ Dependabot Preview has been deactivated ⚠️
This pull request was created by Dependabot Preview, and you've upgraded to Dependabot. This means it won't respond to
dependabot
commands nor will it be automatically closed if a new version is found.If you close this pull request, Dependabot will re-create it the next time it checks for updates and everything will work as expected.
Bumps purescript from 0.13.8 to 0.14.1.
Release notes
Sourced from purescript's releases.
... (truncated)
Changelog
Sourced from purescript's changelog.
... (truncated)
Commits
0d570f6
Bump versions for v0.14.1 (#4068)2aae510
Fix shift/reduce conflicts (#4063)82064b4
Update LICENSE for v0.14.1 (#4060)1450554
Update INSTALL.md (#4059)bf4076a
Fix printing of hiding imports (#4058)112c832
Pedantically rename some variables (#4055)06e38cb
Require rebuild if any codegen targets are outdated (#4053)3c1e509
Fix kinded declaration reordering in desugaring (#4047)bbb4835
Clarify unused warnings changelog entry (#4052)cf82492
Unused warnings (#3819)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot will not automatically merge this PR because this dependency is pre-1.0.0.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)