Commit Graph

3721 Commits

Author SHA1 Message Date
Andre Videla
3d2c854257 update docs 2024-02-24 12:28:10 +00:00
Andre Videla
38fbad17f8 update test 2024-02-24 12:28:10 +00:00
Andre Videla
1633b7ec1c reverse parsing of pi 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
André Videla
d49f008cb5 fix repl documentation 2024-02-24 12:28:10 +00:00
Andre Videla
07c42c22a5 update error messages 2024-02-24 12:28:10 +00:00
Andre Videla
0f46e2c2fa Display dynamic errors for binding operators
Whenever the binding structure of an operator does not match
the fixity in scope, the error displays what was the expected
syntax and what was given. Additionally, it provides code
samples of possible fixes for the current error, dynamically
generated from the information at the error's site.
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
653ed454ef add basics error messages for operator misuse 2024-02-24 12:28:10 +00:00
André Videla
4c7010871f cleanup hole 2024-02-24 12:28:10 +00:00
André Videla
891f841077 correctly rearrange binding operators according to shunting rules 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
Mathew Polzin
d497a7af5f
[new] zsh completion script (#3216) 2024-02-23 14:12:22 -06: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
Mathew Polzin
f91e92bd54 Add a dev shell to the flake 2024-02-13 09:31:44 -06:00
Denis Buzdalov
381438533c [ cleanup ] Do not wrap the mainExpression into lazy in ES backends 2024-02-12 17:19:27 -06:00
Ruslan
2e1c3fbf2e
Fix a bug in C implementation of idrnet_recv_bytes (missing flags parameter) (#3212)
* Fix a bug in C implementation of idrnet_recv_bytes (missing flags parameter)
2024-02-12 11:35:52 -06:00
Joel Berkeley
11968b7d5c
Update website FAQ on package managers (#3213)
* Improve website FAQ
2024-02-12 11:34:26 -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
André Videla
45af7226ce
Merge pull request #3208 from buzden/bump-deprecated-actions
[ ci ] Bump deprecated versions of used CI actions to avoid warnings
2024-02-01 11:13:58 +00:00
Denis Buzdalov
87bdf0ba23 [ ci ] Bump deprecated versions of used CI actions to avoid warnings 2024-01-31 17:18:24 +03: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
720739481c [RefC] fix typo 2024-01-24 07:11:10 +09:00
HIROKI, Hattori
ea6bb5dfa3 [RefC] fix typo 2024-01-23 23:22:44 +09: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
Mathew Polzin
cf4c87cc71
hopefully final refactor of buildIdris (#3200)
- align buildIdris function with direction of nixpkgs version.
- tangentially, update naming of local variables to follow nixpkgs.
- use pname/version instead of name for buildIdris derivations.
2024-01-21 23:05:26 -06:00
André Videla
97243111dc
Merge pull request #3199 from computerdreamm/patch-1
Update starting.rst
2024-01-21 18:04:02 +00:00
André Videla
d2d6be5616
Merge pull request #3197 from seagull-kamome/removaloftheworld
[RefC] [Cleanup] Erase the World (not a fantasy things)
2024-01-21 18:03:35 +00:00
Computer Dream
b30e0c4fd3
Update starting.rst 2024-01-21 14:28:35 +02:00
HIROKI, Hattori
cabc7abebe [RefC] Erase the World (not a fantasy things) 2024-01-21 19:34:05 +09:00
Mathew Polzin
d34cf62611
Fix buildIdris on non-macos machines (#3195)
* Fix `buildIdris` on non-macos machines

We build the support library as its own derivation for Nix builds so we do not want to copy it as part of the `buildIdris` install phase and we certainly don't want to wrap it as if it were an executable.

* Update nix/buildIdris.nix
2024-01-18 19:51:56 -06:00
Denis Buzdalov
9ab96dacd4 [ elab ] Treat map and <*> with no bind in elab scripts runner 2024-01-17 17:45:19 +03:00
Vilem Liepelt
c4f99a815e
Update INSTALL.md (#2708)
* Update INSTALL.md

* I did not need the additional DYLD_LIBRARY_PATH entry and I was not confident that there was no impact from the changes to the Chez Scheme build instructions so I am mostly reverting those changes

---------

Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
Co-authored-by: Mathew Polzin <matt.polzin@gmail.com>
2024-01-14 11:39:03 -06:00
Mathew Polzin
073fbef3d1
Remove use of deprecated getByte function (#3190)
* Add CHANGELOG_NEXT entry
2024-01-14 11:26:51 -06:00
Johann Rudloff
6c70048380 [ fix ] Disable top-level constants optimisation during incremental compilation
The optimisation for non-recursive top-level constants introduced in
 #2817 accidentally breaks incremental compilation when an optimised
top-level constant is referenced in another module (noticeable in
larger, non-trivial programs, e.g. when building Idris itself in
incremental mode).

Since incremental compilation currently has no way to know about
constants in other modules, this commit sets the list of constants to
`empty` (as is done in the `ChezSep` backend) which allows successful
compilation.
2024-01-14 11:22:41 -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