Commit Graph

1138 Commits

Author SHA1 Message Date
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
André Videla
dd95026760
Merge pull request #3194 from buzden/elab-treat-spec-map-ap
[ fix ] Exponentially reduce memory consumption for elab scripts running
2024-01-28 16:58:07 +00:00
HIROKI, Hattori
af4e888857 [RefC] [Cleanup] Pattern matching generates simpler code. Reduce malloc/free costs. 2024-01-23 21:59:23 +09:00
Hattori, Hiroki
5f643c04d1
[RefC] [Test] Valgrind support & Fix invalid memory read of strSubstr (#3196) 2024-01-22 07:25:22 -06:00
Denis Buzdalov
9ab96dacd4 [ elab ] Treat map and <*> with no bind in elab scripts runner 2024-01-17 17:45:19 +03:00
Mathew Polzin
073fbef3d1
Remove use of deprecated getByte function (#3190)
* Add CHANGELOG_NEXT entry
2024-01-14 11:26:51 -06:00
Hattori, Hiroki
844ea28149
- [RefC] delete unnecessary conversion to keep code simply. (#3176)
* - [RefC] delete unnecessary conversion to keep code simply.
- [RefC] rename some C functions to confliction safe.

* make the linter feels good.

* Get me a job as a linter slave.

* [RefC] Added hard fail for unsupported primitives.

* Fix typo.
2024-01-14 11:17:34 -06:00
Mathew Polzin
0a96d4bc49 make test more resillient 2024-01-06 21:40:30 -06:00
Mathew Polzin
3245a3e66f Add a test case 2024-01-06 14:30:35 -06:00
Guillaume Allais
915b340b2e [ re #3177 ] Test to see the change in calling conventions 2024-01-03 12:23:52 +00:00
Denis Buzdalov
7815f205ca [ test ] Add tests for GetOpt 2023-12-30 14:22:51 -06:00
Mathew Polzin
ac266b73f8
Separate support derivation (and small related tweaks to the Makefile) (#3172) 2023-12-27 08:14:03 -06:00
Denis Buzdalov
0e831ed5ef [ prelude ] Make able to implement provably total showPrec recursively 2023-12-26 10:16:57 +00:00
Thomas E. Hansen
124a31243a [ rc ] 0.7.0-rc1
An actual, proper release candidate this time.
2023-12-22 14:44:30 +01:00
Thomas E. Hansen
d6892b4f04 [ rc ] 0.6.9 - update pkg017
Version in expected output
2023-12-22 14:44:30 +01:00
Thomas E. Hansen
a3b078cb0d [ rc ] For v0.6.9 - to see if the process was right
Good luck everybody...

v0.6.9 - Nice!  ^^
2023-12-22 14:44:30 +01:00
Denis Buzdalov
da916b68d4 [ fix ] Correctly manage the empty file case while reading a file 2023-12-21 13:30:30 -06:00
Denis Buzdalov
36132f6539 [ fix, re #3063 ] Fix forgotten reflection values 2023-12-21 17:30:57 +01:00
André Videla
58e5d15662
Merge pull request #3162 from AdamHarries/compilerEnvs
[fix] correctly pass environment vars to the RefC compiler
2023-12-20 06:40:16 -05:00
Denis Buzdalov
b495fe83f0 [ fix ] Support waiting for popen2-created processes
This fixes problem of creation the garbage of zombie processes on POSIX
systems. This also makes behaviour of `popen2` identical in Windows,
namely, all resources are freed only when waiting, giving at the same
time an ability to observe the exit code afterwards.
2023-12-19 23:03:31 +03:00
Denis Buzdalov
8809efe333 [ test ] Make test of popen2 a bit more precise 2023-12-19 11:20:18 +03:00
Adam Brouwers-Harries
45a5d23539 Re-add redirects now linker issue seems to be fixed 2023-12-14 20:00:53 +00:00
Adam Brouwers-Harries
da62db17fd Remove -PIE from linker args, as it seems to cause issues on the NIX CI 2023-12-14 14:25:11 +00:00
Adam Brouwers-Harries
84c58b4bd9 Temporarily remove pipes to /dev/null to try and debug CI issues 2023-12-14 12:19:32 +00:00
Adam Brouwers-Harries
ecfe1bde70 use in cccompilerTest, correctly set DYLD_LIBRARY_PATH, use idrisGetEnv in CC.idr and update envvars documentation 2023-12-13 15:21:41 +00:00
Adam Brouwers-Harries
c11e0c1e66 Correctly add newline to end of test program 2023-12-12 21:46:11 +00:00
Adam Brouwers-Harries
98026cc3e4 [test] Correctly clang-format test inputs 2023-12-12 21:40:06 +00:00
Adam Brouwers-Harries
170e52b3c1 [fix] correctly pass environment vars to the RefC compiler 2023-12-12 21:25:47 +00:00