Commit Graph

1189 Commits

Author SHA1 Message Date
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
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
Steve Dunham
59e00c5210
[ test ] clean_names to make test outputs neater (#3156) 2023-12-08 14:10:37 +00:00
Alex1005a
999c404552
[ fix #3083 ] Fix record update with implicit args (#3092) 2023-11-30 10:13:09 +00:00
Guillaume Allais
1a1b5fcc63 [ fix #3103, #3104 ] Disable broken tests
Racket does not have FFI bindings for these primitives.
2023-11-29 17:01:26 +00:00
Justus Matthiesen
873b3edd29
[ fix #3143 ] traverse as-patterns when constructing terms matching an impossible LHS (#3146)
* [ fix #3143 ] traverse as-patterns in `getImpossibleTerm`

* [ test ] impossible as-pattern
2023-11-23 08:29:15 +00:00
Steve Dunham
af10fbaf94 [ error ] Improve parse errors in ipkg files 2023-11-12 10:09:50 +00:00
Denis Buzdalov
1aff26e94c [ test ] Reduce the need of frequent golden vals updates in one test 2023-11-09 22:05:36 +00:00
Denis Buzdalov
2c328a51c0 [ elab ] Support more applicative traversals of TTImp 2023-11-09 22:05:36 +00:00
CodingCellist
d80bc1537d
[ base ] Add bindings for ieee Double number consts (#3116) 2023-11-09 14:01:40 +00:00
Steve Dunham
a945b5d2df [ ffi ] Fix missing structure declarations in scheme ffi 2023-11-09 14:00:20 +00:00
Justus Matthiesen
bc386dab4e [ cleanup ] bring formatting of sc-graphs in tests back in sync 2023-11-06 20:10:21 +00:00
Justus Matthiesen
e5788a3e86 [ test ] tracking size-change across applications 2023-11-06 20:10:21 +00:00
Justus Matthiesen
f435256812 [ test ] tracking size-change in dot patterns 2023-11-06 20:10:21 +00:00
Justus Matthiesen
2798d8f226 [ cleanup ] update expected test outputs
Changes to the termination checker brought along some otherwise
insignificant changes to debug and error messages.
2023-11-06 20:10:21 +00:00
Denis Buzdalov
64ad807f83 [ deriving ] Try to reduce a type before searching it's showable 2023-10-30 10:07:39 +00:00
G. Allais
bee59d5fde
[ fix ] missing modules in .ipkg files (#3124)
Additionally, we now have bash options to make sure we will fail hard were
this situation to arise once again.
2023-10-27 20:37:00 +01:00
Denis Buzdalov
5f29b0b9c5 [ elab ] Add an ability to inspect in which function we currently are 2023-10-26 15:42:26 +01:00
Denis Buzdalov
50a579fa18 [ elab ] Implement an operation of returning referred defs of a def 2023-10-26 15:42:26 +01:00
Adowrath
ea093ffaed
[ warning ] for incompatible visibilities on forward decls and definitions. (#3063) 2023-10-25 11:24:43 +01:00
Denis Buzdalov
6c35157087 [ ux ] Make isType fail with positioned errors 2023-10-17 18:05:54 +01:00
Aleksei Volkov
3e5d8a54d4 [ fix ] Prevent relative path traversal in elaborator scripts 2023-10-16 09:43:22 +01:00
Steve Dunham
c04404a95b
[ fix #3097 ] Fix issues parsing %logging followed by named impls (#3098)
Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
2023-10-13 19:02:58 +01:00
Denis Buzdalov
419a440dad
[ impl ] Support default implicits in named implementations (#3100) 2023-10-13 15:26:42 +01:00
Denis Buzdalov
f7d4b7f4ed [ base ] Add a bridge between MonadState and Ref 2023-10-13 13:47:31 +01:00
Denis Buzdalov
6815aefbe0 [ elab ] Implement file operations, e.g. applicable for type providers 2023-10-13 13:26:46 +01:00
Denis Buzdalov
cbbd0c8caa [ elab ] Make %macro-function be callable without the extension 2023-10-11 13:20:12 +01:00
Denis Buzdalov
a5b02747b6 [ re #3066 ] Make the rest of tests to use the same form as the others 2023-10-04 14:34:03 +01:00
Denis Buzdalov
567f019230 [ test ] Set IDRIS2_PREFIX to a local dir when testing 2023-10-04 14:34:03 +01:00
Denis Buzdalov
0c40a76c2c [ re #2884 ] Move existing test to an appropriate category 2023-10-01 07:16:20 +01:00
Steve Dunham
46483fd120
[ fix ] support .lidr.md and .lidr.tex extensions (#3071) 2023-09-25 22:25:26 +01:00
Denis Buzdalov
3886200d29 [ fix ] Make traverse and friends lazy for LazyList 2023-09-25 19:51:17 +01:00
Denis Buzdalov
a643e3af62 [ elab ] Print script's FC in the bad elaboration script error 2023-09-22 11:55:34 +01:00
Steve Dunham
0029257eec
[ fix ] consider nest when guessing scrutinee (#3070) 2023-09-14 14:29:41 +01:00
Steve Dunham
8c14e9527b [ test ] move test to correct location 2023-09-07 20:26:18 -07:00
Steve Dunham
e4fe90e1a3 Merge branch 'main' into foo 2023-09-07 20:19:26 -07:00
Guillaume Allais
b4d7bba550 [ cleanup ] use default arguments
This simplifies most calls to `testsInDir`.
2023-09-07 14:57:22 +01:00
Robert Wright
424bc20c27 Group tests by directory 2023-09-07 14:57:22 +01:00
Robert Wright
2bde9104e0 Add filter_test_dir test utility 2023-09-07 14:57:22 +01:00
Robert Wright
61878ef1b6 Remove trivial testing input files 2023-09-07 14:57:22 +01:00
Robert Wright
09466a96bb Add testing utilities script 2023-09-07 14:57:22 +01:00
G. Allais
c52b029986
[ new ] function options for case blocks (#3062) 2023-09-01 11:35:52 +01:00
Aleksei Volkov
af7ba2fa67
[ ttc ] Compare modification time with nanosecond precision (#3046) 2023-08-31 11:55:57 +01:00
Guillaume Allais
e3214586a5 [ fix #3057 ] properly handle char literals in comments 2023-08-31 11:52:32 +01:00
Denis Buzdalov
cf9a73f86c [ prelude ] Add some lacking %tcinlines 2023-08-23 11:04:53 +01:00
Janus Troelsen
694b1650c8
[ racket ] Add library loading (#3049) 2023-08-23 11:04:01 +01:00
Aleksei Volkov
115c9e0889
[ unelab ] Properly unelaborate metavariables originating from %search (#3055)
* [ unelab ] Properly unelaborate `%search`

* [ test ] Added regression test that checks quotation of `%search`
2023-08-23 08:02:11 +01:00
Steve Dunham
0b3e04aef0 update tests for DCon in size change 2023-08-12 13:55:07 -07:00
Steve Dunham
878187d7f7 [ fix ] Totality checker misses indirect references to partial data 2023-08-12 12:57:28 -07:00
Steve Dunham
bde1a66075
[ fix ] Fix pattern match issue with function application in Refl (#3027) 2023-08-04 13:46:04 +01:00
Steve Dunham
f0f776c288 [ error ] Improve error messages for Delay &co 2023-08-04 13:39:39 +01:00