Commit Graph

3548 Commits

Author SHA1 Message Date
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
André Videla
90bf2dec20
Merge pull request #3192 from foxyseta/patch-1
fix: singing dragon link
2024-01-13 20:58:04 +00:00
Stefano Volpe
bd9664ac8a
fix: singing dragon link
YouTube removed the original video. Added the archive.org version.
2024-01-13 19:37:30 +01:00
Mathew Polzin
da6f0b0e4e
Fix executable output of buildIdris nix helper (#3188) 2024-01-08 23:58:17 -06:00
André Videla
2b5030a325
Merge pull request #3189 from mattpolzin/make-js-executable
Make NodeJS backend's output file executable
2024-01-07 09:47:15 +00: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
Mathew Polzin
aba9fa706c CHANGELOG_NEXT entry 2024-01-06 14:11:33 -06:00
Mathew Polzin
196f393968 make NodeJS output from compiler executable 2024-01-06 14:04:06 -06:00
Mathew Polzin
8746f1671b
Improve buildIdris and expose the idris2-api via the Nix flake. (#3182)
* Refactor buildIdris slightly and support installing libraries with source. Add the Idris2 API package as an output of the flake.

* update templates and simplify construction of a search path.

* use newer method of specifying default package

* swap out trace function for warn function. fix warnings in template generation
2024-01-05 15:59:11 -06:00
André Videla
3c8fc8bafb
Merge pull request #3187 from nukisman/patch-5
Fix static JS code: open process mode in support_system_file_popen
2024-01-05 13:46:34 +00:00
Alexander
bd882c56c2
Fix file mode processing in support_system_file_popen
In JS switch cases with shared code should look like this
2024-01-04 20:00:50 +03:00
Guillaume Allais
915b340b2e [ re #3177 ] Test to see the change in calling conventions 2024-01-03 12:23:52 +00:00
Mathew Polzin
aee1cb94ac
Add a new CHANGELOG_NEXT.md file and update documentation around CHANGELOG entries. (#3180) 2024-01-01 21:08:56 -06:00
Joel Berkeley
ee18555869
Add (++) for List variation of All (#3179)
* Add `(++)` for `All` for `List`

* changelog

* contributors

* review changes

* update comment

* update comment

* match TODO style

* disambiguate the right one

* further comment changes
2024-01-01 21:03:13 -06:00
Denis Buzdalov
7815f205ca [ test ] Add tests for GetOpt 2023-12-30 14:22:51 -06:00
Denis Buzdalov
d5d4b2a9ae [ contrib ] Support options parsing errors in a backward-compatible way 2023-12-30 14:22:51 -06:00
Denis Buzdalov
1b627b0b78 [ contrib ] Support alternative getOpt working nicely with parse errors 2023-12-30 14:22:51 -06:00
Denis Buzdalov
2f2102c413 [ re #3171 ] Correct mistakenly forgotten to be updated changelog 2023-12-29 17:30:15 -06:00
Denis Buzdalov
3fe95d469a [ interpolate ] Implement Interpolation for primitive numeric types 2023-12-29 11:17:31 -06:00
Denis Buzdalov
439aa000f0 [ sync ] Synchronise lazy list impl in src/Libraries with base
This is to assure it is safe to remove `Libraries` implementation in the
next release. This requires synchronisation of `Data.String.Iterator` too
2023-12-29 09:22:03 -06:00
Denis Buzdalov
db4f65bd8d [ refactor ] Move lazy lists from contrib to base 2023-12-29 09:22:03 -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