* don't show 'Just' before package versions
* unrelated - fix nix develop shell for darwin
* spit out the package path for each package as well as the package name and version
* put the package path on a new line
* add TTC version info to output
* don't name unused variable
* add changelog entry
* Initial stab at package json dump
* expose ipkg json dump as new option
* make dependency output easier to ingest by another tool
* Add a test for ipkg json dump
* cleanup
* maybe just don't collide with existing equally good fixity
* make new operator private
* Add new module to api ipkg file
* Add note to CHANGELOG_NEXT
* correct the docs for the dump-ipkg-json command
This makes it possible to call the function in more situations. It also
brings its signature in line with the overloads on `List`, `List1` and
`SnocList`.
The previous implementation of `Data.Vect.Elem.dropElem` required the
length of the `Vect` to be available at runtime. This was used in order
to recurse in the case that the `Elem` is not `Here`. However, it turns
out that this is not actually necessary. Idris can deduce that the tail
must be non-empty if it contains an `Elem`.
* [ base ] Data.SortedSet.leftMost and .rightMost
Implement `leftMost` and `rightMost` for `SortedSet` in terms of the
functions with the same name in `Data.SortedMap`.
* contributors
---------
Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
* [RefC] Suppress code generation for unnecessary arglist wrappers.
* [RefC] cleanup dead code of arglist.
* Removed Value_Arglist to reduce Closure's allocation overhead.
* fix linter error
* [RefC] make trampoline() safety.
* [RefC] cleanup cStatementsFromANF to keep code simple.
* fix linter error
* fix linter error
* In another time, another galaxy. THE LINTER INVADORS conquaer the all humanity and make them slaves. Under 2024, a only leaved job for every humans is adjusting spaces of source code, or just type gg0vG$== in vim.
* [ test ] update golden value
* added supports 32 params on closure.
* [RefC] [Cleanup] removing duplicate codes.
* [RefC] Switch calling conventions based on the number of arguments to avoid limits on the number of arguments and to reduce stack usage.
* [RefC] Argument that are too large are placed on the heap, as are closures.
* [RefC] use idris2_malloc instead of malloc.
* [RefC] [Cleanup] Keep pure things pure.
* [RefC] Mapped some special constructors to NULL. This reduces malloc cost and generates simpler code in ConCase. But not work yet.
* [RefC] fix merge failure.
* [RefC] stringOps.c replace NULL for NIL.
* [RefC] cleanup
* [RefC] ConstCase now generate simple if-then statements instead of using helpers. This reduces malloc/free costs.
* fix indentation
* fix whitespaces
* [RefC] The name field in Value_Constructor was restored for tycon. But changed to static const*. Hopefully the C compiler will remove the common string constants. The smartest thing to do would be to create a dummy global variable and use its address as a tag, but that would depend on the C compiler to resolve conflicts.
* [refc] a big changes of the space
* [RefC] Little tricks to reduce temporary variables
* spaces
* [RefC] fix compiler warnings
* [RefC] [test] Perform memory leak analysis, if valgrind is installed.
* [RefC] Fix invalid memory read. Fix C compiler warnings.
* [RefC] Fix invalid memory read of strSubstr. [test] Perform memory leak analysis, if valgrind is installed.
* [test] fix junk line
* linter
* linter
* linter
* linter
* [RefC] merge with erase_trivial_constuctors
* merge w/ erase_trivial_constructors
* Revert "merge w/ erase_trivial_constructors"
This reverts commit be593a3715.
* Revert "[RefC] merge with erase_trivial_constuctors"
This reverts commit 3c21eb45d8.
* merge w/ upstream/main
* fix merge failure
* rename
* fix renaming
* [RefC] fix merge fail
* [RefC] renamed C functions for safty.
* [RefC] cleanup
* [RefC] Fix constructor tag of UnconsResult.CHARACTER.
---------
Co-authored-by: Mathew Polzin <matt.polzin@gmail.com>
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
* Emit warning for fixities with no export modifiers
This is to help update all the existing code to program with explicit
fixity export directives in preparation for the behavioral change where
they will become private by default.
* complete the relocation of contrib HVect into base as All
* Frex needs these public exported and that feels reasonable enough to me
* Add CHANGELOG_NEXT entries
* differentiate between search paths and package directories.
* fix :package repl command
* fix typo that caused Idris to look for library files in the wrong place when testing.
* Add to the changelog
* Don't require a runtime value of `x` for `succNotLTEpred`
* Add `succNotLTEpred` as an instance of `Uninhabited`
* Add contribution to changelog
* Update golden value for test `basic044`
* 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.
* 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