* [ fix ] Fix issue with eager evaluation of crashing functions
* Mark functions that call unsafe builtins as non-constant
* Better detection of crash primop when deciding if functions can be constant
* Change the printing of namespaced operator to show
parenthesis around operators
* Update warning when conflicting fixities are found
* Do not warn about redundant but compatible fixities
When we encounter a delayed (explicit) function type during elaboration
of a LHS, we strip off the delay modality, continue elaboration and return a delayed version of the resulting type.
Note: defining delayed function via pattern matching is not currently
supported. Doing so will require adding a delay marker to LHSs/contexts
familiar from modal type theories. Implicit function are also currently
not supported.
Only running over "docs/" directory since it will likely have the
largest postivie impact and cause fewest issues.
Typos will do simple find-and-replace when it detects a word not in it's
dictionary. It does not have any regard for formatting based on
surrounding context. Care must be taken not no merge variable names in
same scope etc.
Typos can be driven by Github Actions:
https://github.com/crate-ci/typos/blob/master/docs/github-action.md
Tool: https://github.com/crate-ci/typos
* Add Pack to list of package managers
* Mention only Pack as package manager
Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
---------
Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
* [ fix ] Programmer-provided terms should be alwaysReduce
This ports Edwin's commit that fixes the original issue back to Idris
Co-authored-by: Edwin Brady <ecb10@st-andrews.ac.uk>
* [ tests ] Added regression test for #1878
* Updated CHANGELOG.md and CONTRIBUTORS
---------
Co-authored-by: Edwin Brady <ecb10@st-andrews.ac.uk>
This reverts part of commit 4febd31c67.
Moved to PR #2992, as this reverted change is separate from adding
`:doc` support for these. There is potentially more discussion to be had
in the new PR.
This is required due to `Lazy` now being a reserved compiler primitive.
N.B. This may also break other dependencies and/or tools. Notably stuff
outwith the Idris2 upstream. There's been some discussion in #2987.
Re `cast` vs. `stringToNatOrZ` in the chapter 5 tip:
`cast` from `String` to `Nat` does work in Idris 2, version 0.6.0-a75161cb2, so the first sentence is not currently correct, and there is no change needed to make the code work.
In the Discord documentation channel, z_snail suggested changing the text to merely recommend changing `cast` to `stringToNatOrZ`. This PR proposes that change. I tried to change the text as little as possible, but I made some additional, strictly speaking unnecessary revisions, where I thought they would make the wording clearer given the essential changes. I added a missing period as well.
(If the `cast` from `String` to `Nat` is destined to be removed, perhaps this PR should be ignored.)