Commit Graph

1189 Commits

Author SHA1 Message Date
Robert Wright
3649821625 Add JSON manipulation functions 2024-06-25 10:37:18 -05:00
Denis Buzdalov
2994e23fd0
[ fix ] Fix search around %defaulthints (#3258)
* [ cleanup ] Move repeating trying-with-unambiguity pattern to a function

* [ fix #2850 ] Search for dependencies for default hints among all hints

* [ fix #2932 ] Always try defaults in dependencies search
2024-06-18 15:39:22 +01:00
André Videla
ddb691bcdc
Merge pull request #3306 from dunhamsteve/implicitParam
[ fix ] implicits are not in scope under an implicit parameter block
2024-06-17 20:03:37 +01:00
Guillaume Allais
0c030020de [ re #3314, #34 ] Tighten the location information for implicits
When implicitly binding a variable, use the location of the head
function/constructor that expects it. This way we can differentiate
multiple implicits bound on the same LHS.

Note that this does not resolve the issue 34: there the location
is then further muddled by the fact that where-bound functions
are lifted to the toplevel.
2024-06-17 16:32:24 +01:00
André Videla
d6b8ab980d
Merge pull request #3315 from andrevidela/fix-3302
Emit error when unbound fixity is hidden
2024-06-17 14:11:44 +01:00
André Videla
02e5468551
Merge pull request #3314 from dunhamsteve/issue-3313
[ fix ] auto search returns no solution instead of ambiguous solution #3313
2024-06-17 12:56:20 +01:00
André Videla
0e09b8d575 Show unrelated namespace with matching operator name 2024-06-17 12:39:37 +01:00
André Videla
f67b303cca Emit error when unbound fixity is hidden 2024-06-16 16:10:47 +01:00
Steve Dunham
1807cdcba7 [ fix ] auto search returns no solution instead of ambiguous solution 2024-06-15 15:01:37 -07:00
Steve Dunham
055568be28 [ fix ] case spliting under implicit/auto parameter 2024-06-13 08:40:33 +01:00
Steve Dunham
c9f7f308cf [ fix ] implicits are not in scope under an implicit parameter 2024-06-12 12:55:29 -07:00
Steve Dunham
9e84b153bd
Add %foreign_impl pragma for augmenting ffi functions (#3303)
* Add %foreign_impl pragma for augmenting ffi functions

* document how conflicting %foreign_impl are handled
2024-06-11 17:45:09 +01:00
Mathew Polzin
88a5328ec1
Add an option that dumps package details to JSON (#3293)
* Initial stab at package json dump

* expose ipkg json dump as new option

* make dependency output easier to ingest by another tool

* Add a test for ipkg json dump

* cleanup

* maybe just don't collide with existing equally good fixity

* make new operator private

* Add new module to api ipkg file

* Add note to CHANGELOG_NEXT

* correct the docs for the dump-ipkg-json command
2024-06-11 11:32:22 +01:00
observant
1e6e125190
Add pipeline operators (#3284)
* Add pipeline operators

* Fix tests

* Change fixity, add tests

* [ fix ] silence actual fixity

---------

Co-authored-by: itmuckel <18561536+itmuckel@users.noreply.github.com>
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2024-06-06 10:59:30 +01:00
Denis Buzdalov
1522c3a92c
[ fix ] Fix Show of TTImp for functions with with clauses (#2631)
Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
2024-06-05 14:02:04 +01:00
G. Allais
bcf8598f99
[ new ] System.Concurrency.(Linear/Session) (#3294)
* [ refactor ] moving Data.OpenUnion to base

* [ new ] System.Concurrency.(Linear/Session)

* [ test ] for the new feature

Fixing other tests impacted by the refactoring

* [ cleanup ] move definitions around, touch up docs

* [ fix ] re-export linear notations for Control.Linear.LIO
2024-06-05 13:53:30 +01:00
Denis Buzdalov
a6c5cf5af0 [ fixup #2939 ] Make futures not interfere with optimisations 2024-06-03 15:43:23 +01:00
Aleksei Volkov
167258b975 [ test ] Added regression tests for #2927 2024-05-31 10:22:56 +01:00
Stefan Höck
e73ca067ed
[ performance ] a faster implementation of unpack (#3281)
* [ performance ] a much faster implementation of unpack

* [ fix ] partiality error in Hangman test

* [ test ] add some documentation to the unpack test case

* [ test ] fix expected output of unpack test
2024-05-24 08:06:56 +01:00
Steve Dunham
960d818c29 Merge branch 'main' into impossible-lam 2024-04-27 18:25:06 -07:00
Steve Dunham
b99dd05224 [ parser ] Add support for impossible lambdas 2024-04-27 16:57:33 -07:00
André Videla
84ce3a6836
Merge pull request #3253 from dunhamsteve/issue3251
[ parser ] Fix issue parsing unquote
2024-04-28 08:17:18 +09:00
Steve Dunham
ed3fe023cb [ fix ] include ambient CFLAGS/LDFLAGS in ccompilerArgs test 2024-04-27 15:31:59 -07:00
stefan-hoeck
e1c5c2fd8e [ fix ] issue 3266 2024-04-22 15:44:35 +02:00
André Videla
dd991861c1 fix error message for unexported fixities 2024-04-21 23:27:29 +01:00
Hattori, Hiroki
1dc7b74e4e
[RefC] Suppress arglist wrapper (#3177)
* [RefC] Suppress code generation for unnecessary arglist wrappers.

* [RefC] cleanup dead code of arglist.

* Removed Value_Arglist to reduce Closure's allocation overhead.

* fix linter error

* [RefC] make trampoline() safety.

* [RefC] cleanup cStatementsFromANF to keep code simple.

* fix linter error

* fix linter error

* In another time, another galaxy. THE LINTER INVADORS conquaer the all humanity and make them slaves. Under 2024, a only leaved job for every humans is adjusting spaces of source code, or just type gg0vG$== in vim.

* [ test ] update golden value

* added supports 32 params on closure.

* [RefC] [Cleanup] removing duplicate codes.

* [RefC] Switch calling conventions based on the number of arguments to avoid limits on the number of arguments and to reduce stack usage.

* [RefC] Argument that are too large are placed on the heap, as are closures.

* [RefC] use idris2_malloc instead of malloc.

* [RefC] [Cleanup] Keep pure things pure.

* [RefC] Mapped some special constructors to NULL. This reduces malloc cost and generates simpler code in ConCase. But not work yet.

* [RefC] fix merge failure.

* [RefC] stringOps.c replace  NULL for NIL.

* [RefC] cleanup

* [RefC] ConstCase now generate simple if-then statements instead of using helpers. This reduces malloc/free costs.

* fix indentation

* fix whitespaces

* [RefC] The name field in Value_Constructor was restored for tycon. But changed to static const*. Hopefully the C compiler will remove the common string constants. The smartest thing to do would be to create a dummy global variable and use its address as a tag, but that would depend on the C compiler to resolve conflicts.

* [refc] a big changes of the space

* [RefC] Little tricks to reduce temporary variables

* spaces

* [RefC] fix compiler warnings

* [RefC] [test]  Perform memory leak analysis, if valgrind is installed.

* [RefC] Fix invalid memory read. Fix C compiler warnings.

* [RefC] Fix invalid memory read of strSubstr. [test] Perform memory leak analysis, if valgrind is installed.

* [test] fix junk line

* linter

* linter

* linter

* linter

* [RefC] merge with erase_trivial_constuctors

* merge w/ erase_trivial_constructors

* Revert "merge w/ erase_trivial_constructors"

This reverts commit be593a3715.

* Revert "[RefC] merge with erase_trivial_constuctors"

This reverts commit 3c21eb45d8.

* merge w/ upstream/main

* fix merge failure

* rename

* fix renaming

* [RefC] fix merge fail

* [RefC] renamed C functions for safty.

* [RefC] cleanup

* [RefC] Fix constructor tag of UnconsResult.CHARACTER.

---------

Co-authored-by: Mathew Polzin <matt.polzin@gmail.com>
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2024-04-17 15:48:43 +01:00
Steve Dunham
d7867c0c1a [ parser ] Fix issue parsing unquote 2024-04-08 20:42:36 -07:00
André Videla
3b0d9d9f35 fix printing of backticked operators 2024-04-04 16:08:23 +01:00
G. Allais
fee293b575
[ re #3177 ] Separate the renaming from the rest (#3248) 2024-04-03 17:22:19 +01:00
André Videla
75032a7164
Emit warning for fixities with no export modifiers (#3234)
* Emit warning for fixities with no export modifiers

This is to help update all the existing code to program with explicit
fixity export directives in preparation for the behavioral change where
they will become private by default.
2024-04-03 15:41:57 +01:00
G. Allais
2c2aa85048
[ prelude ] the is linear in its input (#3239)
* [ prelude ] `the` is linear in its input

* [ fix ] eta-expand tests
2024-03-27 14:09:14 +00:00
Hattori, Hiroki
ddc634b1b2
[RefC] Unbox small integers. (#3181) 2024-03-21 07:32:37 -05:00
Thomas E. Hansen
c7a4fbe40e
[ test ] Add issue#1988 to the test suite
This appears to be fixed now, presumably thanks to PR#3108 or similar.

Closes #1988
2024-03-18 16:37:13 +00:00
Jacob Walters
da6b21a570 [ test ] More comprehensive test for getVis 2024-03-15 22:51:49 +00:00
Jacob Walters
18b165bede [ elab ] Let elab scripts access visibility modifiers 2024-03-15 22:41:29 +00:00
Mathew Polzin
7219486aec
Fix ambiguity error with Uninhabited interface implementations. (#3228) 2024-03-15 17:21:05 -05:00
Mathew Polzin
c3239cb4c0
[fix] Package Search Paths (#3214)
* differentiate between search paths and package directories.

* fix :package repl command

* fix typo that caused Idris to look for library files in the wrong place when testing.

* Add to the changelog
2024-03-09 13:53:23 -06:00
Steve Dunham
809319fe8f
[ test ] fix clean_names function in testutils.sh (#3227) 2024-03-08 10:15:27 -06:00
rvs314
1143718098
Generalize succNotLTEpred (#3225)
* Don't require a runtime value of `x` for `succNotLTEpred`

* Add `succNotLTEpred` as an instance of `Uninhabited`

* Add contribution to changelog

* Update golden value for test `basic044`
2024-03-07 08:38:28 -06:00
André Videla
8ea1a092e0 add hiding test 2024-02-24 12:36:44 +00:00
André Videla
58c361c57d correctly carry the position of desugared equality 2024-02-24 12:36:44 +00:00
André Videla
6485a0023f update confusing error message 2024-02-24 12:36:44 +00:00
André Videla
d51a5c91bb fix review comments 2024-02-24 12:36:44 +00:00
André Videla
58bcfb73c1 Update tests/idris2/operators/operators001/Test.idr 2024-02-24 12:36:44 +00:00
André Videla
e0f5ee9996 implement compatible operator suggestions 2024-02-24 12:36:44 +00:00
André Videla
31ea83039c first attempt at suggesting different operators 2024-02-24 12:36:44 +00:00
André Videla
ebb8b55d45 Udpate IDE test
This change is correct because `=` is indeed a function and should
be colored as such.
2024-02-24 12:36:44 +00:00
André Videla
4eb9c97806 Allow patterns in operator binders 2024-02-24 12:36:44 +00:00
André Videla
1d3668d9a6 Allow underscore as a valid name for binder operator 2024-02-24 12:36:44 +00:00
André Videla
91f66bc7b5 add location of fixity to change in error message 2024-02-24 12:36:44 +00:00