Commit Graph

3399 Commits

Author SHA1 Message Date
Guillaume Allais
b173267f50 [ cleanup ] now that we can assert_total on data 2023-02-08 17:42:02 +00:00
G. Allais
7c66d10eae
[ papers ] Type-based Divide & Conquer (#2860) 2023-02-08 17:19:24 +00:00
Guillaume Allais
72bd3eed45 [ doc ] for the size-change module
Having a dependent NameMap would allow us to give more precise
types for all of these functions.
2023-02-08 16:13:04 +00:00
Guillaume Allais
c6b96080c2 [ refactor ] split up Core.Termination 2023-02-08 16:13:04 +00:00
Justus Matthiesen
6edbfc59a5 [ test ] non-terminating function from issue #2448 2023-02-08 16:13:04 +00:00
Justus Matthiesen
7eed472ac5 [ termination ] update changelog 2023-02-08 16:13:04 +00:00
Justus Matthiesen
914d68858b [ termination ] faithful implementation of size-change graph termination analysis
- call sequences in termination errors now carry location information
- new error message (`BadPath`) for late-starting loops
- [ fix ] transitive closure of size-change graphs no longer ignores function arguments
- update existing tests accordingly
2023-02-08 16:13:04 +00:00
Justus Matthiesen
9fd28bc130 [ size-change ] implement Ord instance 2023-02-08 16:13:04 +00:00
Justus Matthiesen
2b54c23073 [ test ] examples from termination paper 2023-02-08 16:13:04 +00:00
Justus Matthiesen
263643defd [ new ] popping value from a SortedSet 2023-02-08 16:13:04 +00:00
Justus Matthiesen
692e389bb8 [ new ] popping key-value pair from a SortedMap 2023-02-08 16:13:04 +00:00
Justus Matthiesen
5f7ad73a35 [ new ] minimal value in a SortedSet 2023-02-08 16:13:04 +00:00
Justus Matthiesen
f2dfeb39cd [ new ] retrieving value associated with the minimal key from a SortedMap 2023-02-08 16:13:04 +00:00
Justus Matthiesen
9bdc875b79 [ new ] mapWithKey for name maps 2023-02-08 16:13:04 +00:00
Justus Matthiesen
eaa6c8b6d7 [ fix ] missing covering annotation 2023-02-08 16:13:04 +00:00
G. Allais
fba9f16a1c
[ fix ] positivity checker: assert_total & Lazy (#2876) 2023-02-07 12:35:33 +00:00
Alex1005a
f3e8970f2c
Adding new properties to Data.Nat.Order.Properties (#2879)
* Add succLeftLte function

* Refactor fuelLemma

* Removal of redundant function and rename succLeftLte to decomposeLte

* Fix the style issues
2023-02-07 07:58:41 +00:00
Zoe Stafford
249b0026d8
Merge pull request #2880 from nukisman/patch-3
Fix typo in custom backend cookbook: Phase --> UsePhase
2023-02-06 21:27:44 +00:00
Alexander
68e4f19c50
Fix typo: Phase --> UsePhase 2023-02-06 23:52:41 +03:00
Zoe Stafford
238de10a35
Merge pull request #2878 from nukisman/patch-2
Fix typo in custom backend cookbook
2023-02-06 19:50:57 +00:00
Alexander
09f97d673c
Fix typo 2023-02-06 20:55:25 +03:00
Steve Dunham
464797944a [ error ] Fix location of type errors in do block pattern matching 2023-02-04 23:07:49 +00:00
Guillaume Allais
21fa60ae6a [ re #2871 ] Fix the resolvedN issue for good 2023-02-04 16:10:47 +00:00
Stefan Höck
f6a731695d
[ new ] constructor plus trivial impl for Interpolation (#2871)
* [ new ] constructor plus trivial impl for Interpolation

* [ doc ] update CHANGELOG

* [ test ] adjust expected test output
2023-02-04 07:47:28 -06:00
Mathew Polzin
ad12f8335c
[ new ] popen/pclose for the NodeJS backend. (#2857)
* implement popen and pclose (to an extent) for NodeJS

* bring node020 back into tests.

* ah, I see what was being done here. Fix the idris for the test.

* fix test's unreachable clause warning

* fix expectation

* Add note to CHANGELOG

* small tweaks to get popen into merge-ready state.
2023-01-30 09:38:42 -06:00
Mathew Polzin
62811c565c
Merge pull request #2858 from herkhinah/shekhinah/fix-nix-text-editor 2023-01-28 20:57:30 -06:00
Denis Buzdalov
bbe96929f1 [ minor, base ] Relax requirement of the These.bifold 2023-01-26 22:15:15 +00:00
G. Allais
966a4813fb
[ fix ] respect totality annotations for data (#2862) 2023-01-26 11:03:22 +00:00
Denis Buzdalov
f4b44ba109 [ prelude ] Make some higher-kinded functions be tc-inlined 2023-01-25 16:51:11 +00:00
Marek L
7ec96cea7f [ doc ] Remove typo from Prelude.plus doc string and
reformat doc string for `Prelude.minus`
2023-01-24 23:35:03 +00:00
Shekhinah Memmel
062602c043 fix nix/text-editor.nix 2023-01-23 08:38:16 +01:00
Mathew Polzin
4bedaac811
[ fix ] make color output toggling simpler and also more robust. (#2848)
* make color output toggling simpler and also more robust

* don't unintentionally assert that tests are run in an environment where colors are turned on.

* Update src/Idris/Env.idr
2023-01-22 13:35:57 -06:00
G. Allais
ea4a4c0f85
[ base ] fix the definition of die (#2854) 2023-01-19 11:09:28 +00:00
Mathew Polzin
1c2acd45a2 Apply a fix from the other workflow that uses commit message.
* let's test this out.
* with at least a few commits in a row with multiple lines.

* and bullet points.
2023-01-18 20:00:13 -06:00
Mathew Polzin
e9464848c0
CI Maintenance (#2855)
* rename and clarify 'previous version' setting.

* bump GitHub Action versions.

* make initialise direct dependency of any stage that relies on it for conditional logic.

* turn nix step back on and update cachix action.

* I think pinning a version should not really help here anymore. also, nix-flakes-installer no longer exists.
2023-01-18 09:54:42 -06:00
Mathew Polzin
24ac56de88
Moving Data.List.HasLength into base (#2844) 2023-01-16 00:07:21 -06:00
Michael Neumann
60a3b80c19
Fix build on FreeBSD (#2852) 2023-01-14 08:19:12 -06:00
Zoe Stafford
d78d0bff60
Merge pull request #2845 from Z-snails/case-of-case
Allow case-of-case to work on cases with defaults
2023-01-13 13:06:35 +00:00
Denis Buzdalov
936b7270ae [ prelude ] Add lacking implementation of Traversable for Pair 2023-01-09 15:56:21 +00:00
Mathew Polzin
4005b40a95
[new] Vect.Quantifiers.All QoL (#2843)
* Add Show for Vect.All

* Add an alias for HVect to Data.Vect.Quantifiers.All

* Add a few utilities for Vect.Quantifiers.All to make it more at home in listy uses.

* Add CHANGELOG entries.
2023-01-09 00:57:00 -06:00
Zoe Stafford
fd217722bb
Merge pull request #2847 from Z-snails/js-bigint
Use built-in bigint truncation on js backend
2023-01-08 17:15:35 +00:00
Zoe Stafford
ae974af1d1
Use built-in bigint truncation on js backend 2023-01-08 12:50:26 +00:00
Alexander
304c29ed79 Fix typo 2023-01-08 12:44:19 +00:00
Zoe Stafford
b098de933d
Allow case-of-case to work on cases with defaults
The inner case can now have a default alternative.
This means `Prelude.Types.prim__integerToNat` is better optimised

before
```js
/* Prelude.Types.prim__integerToNat : Integer -> Nat */
function Prelude_Types_prim__integerToNat($0) {
 let $1;
 switch(((0n<=$0)?1:0)) {
  case 0: {
   $1 = 0;
   break;
  }
  default: $1 = 1;
 }
 switch($1) {
  case 1: return $0;
  case 0: return 0n;
 }
}
```
after
```js
/* Prelude.Types.prim__integerToNat : Integer -> Nat */
function Prelude_Types_prim__integerToNat($0) {
 switch(((0n<=$0)?1:0)) {
  case 0: return 0n;
  default: return $0;
 }
}
```
2023-01-08 11:01:53 +00:00
Nicolas Biri
f630675cfb Update flake 2023-01-07 17:32:48 -06:00
Mathew Polzin
63a22b819d
[docs] javascript FFIs and packaging of JS or C support files (#2842)
* Add documentation on javascript FFIs and packaging of JS or C support files.

* Add to changelog.

* line length

* add some detail about the install directories for packages.
2023-01-07 21:40:47 +00:00
Stefan Höck
8db12f5a49
[ performance ] improve some Char functions (#2839) 2023-01-06 09:08:38 +00:00
Zoe Stafford
f9dc56a5f4
[ performance ] String builder on all scheme backends (#2838)
* [ performance ] String builder on all scheme backends
    this makes it about 50x faster at printing scheme code

* [ lint ]

* Add new module

* [ fix ] miscompilation on racket
2023-01-03 11:53:52 +00:00
Zoe Stafford
ab0ff2754a
Merge pull request #2836 from mattpolzin/library-data
[ new ] [ proposal ] Allow libraries to ship a data dir
2023-01-03 10:38:30 +00:00
Steve Dunham
a84a5a32d9 Fix at-pattern leak in recursive with blocks (#2834) 2022-12-28 09:08:09 +00:00