I was getting a stack overflow on the tailrec002 test, caused by this
primitive being recursive. I've made it iterative. I'm no JS expert but
I've tested its behaviour against the old version.
* [ CHANGELOG ] Fix CHANGELOG.
Apparently, the older version of record syntax has now been deprectated.
This was not reflected in the CHANGELOG, and the CHANGELOG entry for an earlier version of Idris2 was erroneously updated to use the new syntax.
THis commit fixes the CHANGELOG.
- `idris2 --version` correctly displays hash again
- `idris2 --install <ipkg>` defaults to $HOME/idris2 instead of a
literal `~/.idris2`.
- allows building in Nix on latest MacOS
The current super-linter v3 line is broken due to a failed backport,
they recommend to use the v4 line:
https://github.com/github/super-linter/issues/2253
Pick a specific version, so that such transient linter bugs won't
camouflage as Idris CI failures.
* [ fix ] Fix returned status of the `system` function
* [ re #238 ] Fix program error condition of `git diff` call in `Golden`
According to documentation, not only negative exit code means error
* add %unhide pragma
* add a test case
* clean up
* more consistent English usage (+fix some typos)
* add a warning for unhiding not-already-hidden names
* move `unhide` (and `hide`) to the bottom of the source file to avoid having to forward-declare `recordWarning`
Previously, the RefC files were located in IDRIS2_PREFIX. This is
decoupled to allow users to change the prefix (for ad-hoc library
install locations, for example).
When we're inlining, since we only have the current module, we might
encounter names we don't have definitions for. In this case, we need to
leave the arity alone, since the module it originates from will have set
it correctly.
This is tricky to test in isolation, and ideally needs something in CI
for a full incremental build (which would have caught the problem!). I
don't have time right now, but let's at least see if this breaks
anything else for now.