Commit Graph

740 Commits

Author SHA1 Message Date
Andre Videla
9797a79b53 [ new ] Allow fixities to be hidden with %hide
* 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
2023-06-14 11:19:59 +01:00
Alexander
63fa070efa add test for parse error let-in in do block 2023-06-13 11:01:42 +03:00
Justus Matthiesen
6c6867490c [ test ] lazy functions 2023-06-12 11:04:59 +01:00
Aleksei Volkov
e594669210
[ fix #1878 ] Programmer-provided terms should be alwaysReduce (#2977)
* [ 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>
2023-06-01 17:08:02 +01:00
Justus Matthiesen
00af44c708
Ignore UseSide annotation in non-linear as-patterns (#2984)
Co-authored-by: Aleksei Volkov <volkov.aa@phystech.edu>
2023-06-01 14:34:57 +01:00
Thomas E. Hansen
5519e5117f [ test ] Test :doc for laziness primitives 2023-05-30 09:46:24 +02:00
Steve Dunham
d3e896ea09 [ fix ] Improve error messages at end of if statements 2023-05-20 09:16:25 +01:00
Steve Dunham
edc000c568 [ fix ] Fix issue parsing __LOC__ arguments 2023-05-14 06:45:33 +01:00
Steve Dunham
7221c99e93 [ error ] Improve error messages for indentation issues 2023-05-13 10:25:38 +01:00
Denis Buzdalov
c285ef06dd [ re #2960 ] Move defs of closures data types to a separate module 2023-05-11 15:31:45 +01:00
Robert Wright
9bfa04921a Add symmetric and transitive closure relations 2023-05-08 11:53:21 +01:00
madman-bob
a00b7ee7ec
Public export TTImp reflection functions (#2947)
Co-authored-by: Thomas E. Hansen <teh6@st-andrews.ac.uk>
Co-authored-by: Ohad Kammar <ohad.kammar@gmail.com>
2023-05-05 10:33:32 +01:00
Denis Buzdalov
55efd7dd7b [ new ] Add Compose instances for Bi* interfaces, analogous to present 2023-04-25 12:59:25 +01:00
Steve Dunham
97b7697a0e [ fix ] Issue in totality checking 2023-04-23 17:42:04 +01:00
Steve Dunham
3ad391d597
[ fix ] codegen issue when using partial case statements in prelude. (#2952) 2023-04-23 11:07:04 +01:00
Steve Dunham
a75161cb20 [ parser ] Improve error message for missing comma or period in forall. 2023-04-07 08:42:42 +01:00
Zoe Stafford
442c5b529f
Collect constructors on the left hand side of case alternatives (#2919)
* [ fix ] collect constructors on LHS of cases alts

* [ tests ] Updated expected
These functions do refer to these constructors at runtime, so this is the correct output

* Update CHANGELOG.md

* [test] update test output again
2023-03-14 15:05:19 +00:00
G. Allais
b5197d5c5d
[ fix ] partial evaluation implementation (#2899) 2023-03-07 08:31:29 +00:00
Denis Buzdalov
b5fe607f4e [ regression ] Do toFullNames only when logging happens 2023-03-06 12:56:39 +00:00
Andre Videla
0f4464a690 add logs to linear check 2023-02-25 22:29:34 +00:00
Andre Videla
891c1751ed add tests 2023-02-25 12:19:29 +00:00
G. Allais
dc1b5387b8
[ re #2832 ] warn about conflicting fixity declarations (#2889) 2023-02-19 16:29:10 +00:00
pinselimo
2dbb824a93
[ doc ] Add constructor docstrings (#2789)
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2023-02-19 10:15:39 +00:00
Guillaume Allais
f76c4c4307 [ fix ] respect visibility in forward data declarations 2023-02-08 22:00:25 +00:00
Justus Matthiesen
6edbfc59a5 [ test ] non-terminating function from issue #2448 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
2b54c23073 [ test ] examples from termination paper 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
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
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
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
Denis Buzdalov
936b7270ae [ prelude ] Add lacking implementation of Traversable for Pair 2023-01-09 15:56:21 +00:00
Stefan Höck
8db12f5a49
[ performance ] improve some Char functions (#2839) 2023-01-06 09:08:38 +00:00
Steve Dunham
a84a5a32d9 Fix at-pattern leak in recursive with blocks (#2834) 2022-12-28 09:08:09 +00:00
Zoe Stafford
d82c5d633f
Merge pull request #2815 from mjustus/test_pkg017_ignore
[ cleanup ] ignore generated file
2022-12-22 15:02:50 +00:00
Guillaume Allais
1092804726 [ fix #2821 ] Failing blocks should force delayed holes 2022-12-21 11:16:26 +00:00
G. Allais
0194539ef7
[ new ] __LOC__, __FILE__, __LINE__, __COL__ magic debug strings (#2819)
* [ new ] __LOC__, __FILE__, __LINE__, __COL__ magic debug strings

* [ fix ] the point is to test whitespace being ignored

* [ fix ] golden values
2022-12-17 18:12:39 +00:00
G. Allais
2f55a3ef8a
[ fix ] elaboration of records' telescopes of parameters (#2816) 2022-12-15 17:55:50 +00:00
Justus Matthiesen
5718be2b45 [ cleanup ] ignore generated file 2022-12-12 14:47:33 +00:00
Justus Matthiesen
e673d05a67
[ fix ] jump-to-definition (":name-at" IDE command) (#2811) 2022-12-09 17:02:57 +00:00
Markus Pfeiffer
c3bbdb30a1
Add mustWork in GADT data declaration parser (#2805)
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2022-12-09 16:04:11 +00:00
locriacyber
cb30d7cda8
Install *.ttm on idris2 --install (#2796)
Co-authored-by: Justus Matthiesen <mail@justusmatthiesen.com>
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2022-12-08 21:06:17 +00:00
Ruslan
d44ddc7f11
Let qualified do-notation apply to pure and to idiom brackets (#2786) 2022-12-07 22:27:58 +00:00
Ellis Kesterton
9931f35b6b
Improve parser error messages when using reserved identifiers in decls (#2803)
Co-authored-by: Ellis Kesterton <erk4@st-andrews.ac.uk>
2022-12-07 16:09:26 +00:00
G. Allais
fcbd9e9190
[ fix #2794 ] Do not ignore notinline lets in identity detection (#2795) 2022-12-06 11:41:30 +00:00
Steve Dunham
f443723f4e [ parser ] fix issue where indentation is not checked in record parameters 2022-11-25 08:22:37 +00:00
Steve Dunham
56a9bc6be4 [ error ] Improve locality of parse errors in implicit arguments 2022-11-21 10:40:40 +00:00
Tim Engler
bff18428b4 Added seqL to Control.App and updated docs to fix #2761
Also updated test real002 to use the actual Control.App from
libs/base/Control/App.idr. Before it was using a different version that
existed within its test directory, tests/idris2/real002/Control/App.idr
2022-11-21 10:39:43 +00:00
Denis Buzdalov
f5f7e2eb80 [ error ] Make failing IAlternative w/ FirstSuccess print all errors 2022-11-15 10:28:59 +01:00
Steve Dunham
85c93c8018 [ error ] Add FC for errors on interface constructors (#2769) 2022-11-12 22:17:42 -08:00
Steve Dunham
ea733181c5 [ error ] Add an FC to record constructors for better error messages (#2769) 2022-11-12 21:59:16 -08:00
Stefan Höck
9c9ffe4a31
[ fix ] isue 2745 (#2747)
* [ fix ] .ipkg install dir

* [ test ] .ipkg install dir

* [ doc ] update CHECKLIST

* [ doc ] add explanation to pkg016 test

* [ cleanup ] no need to clutter CHECKLIST
2022-11-02 12:01:19 +00:00
Zoe Stafford
078445b178
Merge pull request #2744 from dunhamsteve/bang-fc
[ parser ] Better error messages for type mismatch on bang expressions
2022-11-02 07:06:11 +00:00
Steve Dunham
3c0eadee07 [ parser ] Better error messages for type mismatch on bang expressions 2022-11-01 20:18:33 -07:00
G. Allais
19d0cbcd37
[ new ] put TTC files in a version-tagged directory (#2684) 2022-11-01 18:11:18 +00:00
Edwin Brady
e125c9014f
Prepare release 0.6.0 (#2733)
* Prepare release 0.6.0

* Fix bootstrap chez

* Correct version in bootstrap chez
2022-10-27 16:32:16 +01:00
Guillaume Allais
542ebeae97 [ fix 2726 ] more peeling of Erased 2022-10-22 10:07:39 +01:00
CodingCellist
47c2de3148
[ repl ] Add the ability to get detailed help, e.g. :help :help (#2722)
A common issue for users is that the behaviour of the various repl
commands are not documented anywhere despite some of them having complex
behaviour (e.g. `:set` which accepts a specific set of options). This
implements the ability to call `:?|:h|:help` on repl commands to request
detailed help for a specific repl command, while preserving the
behaviour that calling the help command without any arguments prints the
general help text.

Generic help is defined as the first line of the help text.
Detailed help is defined as the entire help text.

This means that `:help :t`, for example, does not error (there is no
detailed help) but instead just prints the single line of help text.

* [ repl ] Use unlines for detailed help (see #2087)

  Ideally, the lines affected should be multiline strings. But for some
  arcane reason, newlines in those get swallowed in Nix and Windows
  **CI** only Ô.o
  This was already documented in issue #2087.

* [ new ] --except for golden testing lib

  To allow CI to pass despite #2087

Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2022-10-21 14:35:33 +02:00
Guillaume Allais
a39783be8e [ fix #2721 ] Don't reflow doc lines
I don't think there's a good solution at least until we start
parsing these comments so let's just keep them as they were written
by the library writer.
2022-10-19 09:09:11 +01:00
QDelta
e0a19aa01e
[ fix #2719 ] --only behavior in Test.Golden (#2720)
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2022-10-18 12:36:09 +01:00
G. Allais
51d00638b0
[ cosmetic ] Say when you start compiling the executable (#2714) 2022-10-14 16:21:19 +01:00
G. Allais
30866fa892
[ new ] do not split on dotted patterns (#2706) 2022-10-14 16:21:06 +01:00
Steve Dunham
b15be4a70a [ new ] Allow forward declarations of records 2022-10-14 14:58:29 +01:00
CodingCellist
bb602643b1
[ fix #2712 ] Don't consider CyclicMeta recoverable (#2713) 2022-10-14 14:57:55 +01:00
Thomas E. Hansen
6823915dd0 [ tests ] Check REPL help text and module import cmds
The help text check is for making sure we update it when modifying
things, more than anything else.
2022-10-13 11:31:05 +02:00
Denis Buzdalov
3ca065b85d [ fix #2088 ] Make %runElab expression propagate its rig to check 2022-10-07 10:55:22 +02:00
G. Allais
1f3809c49a
[ re #2675 ] Do not build libs/{contribs,papers} during bootstrap (#2677)
Co-authored-by: Ben Hormann <benhormann@users.noreply.github.com>
2022-10-04 13:37:45 +01:00
Steve Dunham
f03f184af9 [ parse ] Add fc to IPragma for better error messages 2022-09-25 16:09:53 +01:00
Guillaume Allais
5631608782 [ base ] deriving Foldable 2022-09-24 10:20:25 +01:00
CodingCellist
7f0dad21f8
[ debug ] Log when stuck because fn out of scope (#2673)
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2022-09-22 13:12:47 +01:00
Guillaume Allais
2adc3319f6 [ parse ] better error messages for records 2022-09-22 12:25:20 +01:00
Steve Dunham
1142f73e05 Add indentation checks when parsing args in implDecl 2022-09-20 23:57:54 +01:00
Steve Dunham
03d6c5f637
[ new ] Handle forward declarations of implementations (#2668)
Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
2022-09-20 21:08:50 +01:00
Steve Dunham
669f49e23e [ parser ] Make commitKeyword fail fatally 2022-09-16 11:39:53 +01:00
G. Allais
55926f30c5
[ fix #2655 ] Add support for DataOpts in records (#2658) 2022-09-14 14:57:04 +01:00
Zoe Stafford
02dfd6ff6c
Trans deps v3 (#2584)
* make `depends` collect all transitive dependencies

This happens by installing the (modified) ipkg file along with ttc files

* [ fix ] parsing a package shouldn't always set sourceDir

* linter *sigh*

* Fix test, add changelog

`asDepends` has been changed to `setSrc` as that is for me more intuitive

in idris2/pkg006 the version field was removed from the ipkgs of bar-baz and quux
as idris now expects the version to match the folder

idris2/pkg010 explicitly disables incremental compilation, to prevent extra log info

* (hopefully) fix idris2/pkg13 test on windows

* Actually install the version
This should make things start working

* [ fix ] use backtracking to resolve transitive dependencies

* [ fix ] use backtracking to resolve dependencies

* [ fix ] test pkg006

* Fix missing import

Co-authored-by: stefan-hoeck <hock@zhaw.ch>
2022-09-09 07:08:39 +01:00
Zoe Stafford
a001333947
Warning for shadowed local bindings (#2623)
* Warning for shadowed local bindings

* [ lint ]

* Remove name shadowing in compiler src

* [ fix ] spelling & test cases

Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2022-09-07 20:59:28 +01:00
Steve Dunham
9646b31f2b [ test ] Fix timing issue in interactive045 test 2022-09-06 10:05:34 +01:00
G. Allais
ece1198074
[ fix #1742 ] Do not use uppercase names as pattern variables (#2642) 2022-09-05 12:45:51 +01:00
Steve Dunham
351b5ba720 [ parser ] Fix issue where Alt drops incoming commit tag 2022-09-05 12:44:02 +01:00
Steve Dunham
2e45902048 [ parser ] Better error messages inside if statements. 2022-09-05 12:44:02 +01:00
Steve Dunham
150673622b [ test ] Add a sleep 1 to the interactive044 test to work around a race condition 2022-09-04 09:17:22 +01:00
Guillaume Allais
f678043854 [ test ] add tricky test case ported from Agda 2022-09-02 16:06:40 +01:00
Guillaume Allais
552f27f813 [ fix #2640 ] Do not shadow function name during case split 2022-09-02 11:55:15 +01:00
Guillaume Allais
6891490ed2 [ fix ] support for implicits in Deriving.Functor
A lot of refactoring to bring these. That's hopefully the last
feature that was needed...
2022-08-29 18:35:24 +01:00
Mathew Polzin
23e3695d74 Add test for auto implicit case splitting. 2022-08-16 09:23:19 +02:00
Guillaume Allais
4672305fc3 [ fix ] more filtering of invalid datatypes 2022-08-13 11:29:19 +01:00
Justus Matthiesen
a30209d492
[ fix ] Remove stray ")" in Show instance for Term (#2611) 2022-08-08 15:24:07 +01:00
G. Allais
84a504738c
[ doc ] add comments to generated javascript (#2594) 2022-07-18 17:30:56 +01:00
Guillaume Allais
8ecb1aaf95 Revert "Fix issue with case inside a type."
This reverts commit 50ca28c068.
2022-07-18 15:58:29 +01:00
Steve Dunham
50ca28c068 Fix issue with case inside a type. 2022-07-18 14:17:14 +01:00
G. Allais
0cbbf97b79
[ new ] extend Deriving.Functor to (non-strictly) positive functors (#2591) 2022-07-18 14:10:46 +01:00
G. Allais
1f41c8b44d
[ close #647 ] Already fixed (#2581) 2022-07-08 14:16:25 +01:00
Guillaume Allais
ac2ef882f6 [ fix #2573 ] Solve constraints before looking at eq type 2022-07-07 20:36:05 +01:00
Guillaume Allais
19bc798952 [ re #2526 ] Update golden value 2022-07-07 20:34:54 +01:00
Guillaume Allais
d19dbfffff [ fix #2229 ] better warning 2022-07-07 16:42:34 +01:00