* 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>
- 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.
* 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
* 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>
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.
* - [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.
* 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
* Add `(++)` for `All` for `List`
* changelog
* contributors
* review changes
* update comment
* update comment
* match TODO style
* disambiguate the right one
* further comment changes