Commit Graph

1178 Commits

Author SHA1 Message Date
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
André Videla
210f9d9c15 fix error message for non-associative fixity 2024-02-24 12:36:44 +00:00
André Videla
4cb8dc507b update error message for infixr 2024-02-24 12:28:10 +00:00
André Videla
63c167637c wip more error messages 2024-02-24 12:28:10 +00:00
Andre Videla
38fbad17f8 update test 2024-02-24 12:28:10 +00:00
Andre Videla
992fc62d86 reinstate the good error messages 2024-02-24 12:28:10 +00:00
Andre Videla
a73522ec66 cleanup tests 2024-02-24 12:28:10 +00:00
André Videla
f079781c17 fix tests 2024-02-24 12:28:10 +00:00
André Videla
a7a25914b7 Allow binding operators on LHS
When a binding operator is found on the LHS, we don't check
if the first argument is a binder.
2024-02-24 12:28:10 +00:00
Andre Videla
07c42c22a5 update error messages 2024-02-24 12:28:10 +00:00
André Videla
fd40777e0d add error message tests 2024-02-24 12:28:10 +00:00
André Videla
02a6751796 add shunting test 2024-02-24 12:28:10 +00:00