Commit Graph

1165 Commits

Author SHA1 Message Date
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
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
André Videla
1adb780e3f add tests to chaining and combing operators 2024-02-24 12:28:10 +00:00
André Videla
6ce4ec2ebf add both typebind and autobind 2024-02-24 12:28:10 +00:00
André Videla
046e08d173 differenciate between type bind and expr bind 2024-02-24 12:28:10 +00:00
André Videla
0ed65eb587 desugar autobind properly 2024-02-24 12:28:10 +00:00
André Videla
b8d81b768e add autobind keyword 2024-02-24 12:28:10 +00:00
André Videla
1d7d07a667 add test file 2024-02-24 12:28:10 +00:00
Denis Buzdalov
8144980ae5 [ elab ] Support easy collection of information during TTImp traverse 2024-02-23 11:32:22 +01:00
Hattori, Hiroki
1906c75433
[RefC] [Cleanup] Erase trivial constructors; Stop copying constructor name. (#3206) 2024-02-20 08:01:06 -06:00
Hattori, Hiroki
034f1e89c4
[RefC] [Cleanup] erase ReturnStatement (#3210)
* [RefC] [Cleanup] erase ReturnStatement

* [Test] Specify LC_ALL=C.UTF-8 for sort command to avoid false failure from locale.
2024-02-15 08:16:46 -06:00
Denis Buzdalov
381438533c [ cleanup ] Do not wrap the mainExpression into lazy in ES backends 2024-02-12 17:19:27 -06:00
Alex1005a
196d08dd6d
Implement Precise Reference Counting for C backend (#2989)
* start implement drop spec

* [RefC] remove vars after prim function call

* [RefC] gc pointer processing changed

* [RefC] fix memory leak in stringIteratorToString

* [RefC] runtime.c refactoring

* Implement basic reuse analisis

* [RefC] do not delete reusable variables in value in let

* [RefC] Use names instead tags in reuse map

* [RefC] Don't set all fields to null in reuse constructor

* Use record syntax in RefC

* Add some utility functions to RefC

* Sort output in garbageCollect refc test

* Add memory leak test for RefC

* [RefC] Remove variable only from body in let

Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>

* [RefC] Remove borrowed set from env

* [RefC] Use Ref variable for Enviroment instead of passing as an argument

* [RefC] Use locally function as combinator

* [RefC] removing unnecessary dup and remove during pattern matching

* Update refcTests and refcMemoryLeakTests

* Remove some test files

* move CHANGELOG entry to CHANGELOG_NEXT

* Move refc-memory tests

* Change calling convention test

* [RefC] [Test] Reuse test

---------

Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
Co-authored-by: Mathew Polzin <matt.polzin@gmail.com>
2024-02-12 00:43:17 -06:00
André Videla
c74f54c122
Merge pull request #3203 from seagull-kamome/simplify_constcase_branch
[RefC] [Cleanup] Pattern matching generates simpler code.
2024-02-01 11:18:05 +00:00
HIROKI, Hattori
e417031c31 [RefC] added new test for basic pattern matches. 2024-01-30 18:21:51 +09:00