Commit Graph

3678 Commits

Author SHA1 Message Date
observant
1e6e125190
Add pipeline operators (#3284)
* Add pipeline operators

* Fix tests

* Change fixity, add tests

* [ fix ] silence actual fixity

---------

Co-authored-by: itmuckel <18561536+itmuckel@users.noreply.github.com>
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2024-06-06 10:59:30 +01:00
troiganto
e0b9a027e7 fix(base): runtime-erase implicit length argument to Vect's dropElem.
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`.
2024-06-05 15:42:48 +01:00
Denis Buzdalov
1522c3a92c
[ fix ] Fix Show of TTImp for functions with with clauses (#2631)
Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
2024-06-05 14:02:04 +01:00
Denis Buzdalov
1c588f77ec
[ base ] Add flipped access/update functions for Sorted{Set,Map,DMap} (#3247)
Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
2024-06-05 13:59:38 +01:00
troiganto
2c128e216c refactor(base): move implementation of Data.Vect.nubBy to global scope
Closes #3285
2024-06-05 13:53:57 +01:00
G. Allais
bcf8598f99
[ new ] System.Concurrency.(Linear/Session) (#3294)
* [ refactor ] moving Data.OpenUnion to base

* [ new ] System.Concurrency.(Linear/Session)

* [ test ] for the new feature

Fixing other tests impacted by the refactoring

* [ cleanup ] move definitions around, touch up docs

* [ fix ] re-export linear notations for Control.Linear.LIO
2024-06-05 13:53:30 +01:00
Daniel Rainer
7a4c9c89f1 Doc: Use executable command for opening lib docs
The previous command does not work in any shell I am aware of.
The new one directly opens the library documentation in $BROWSER if it
is set and otherwise just echos the path to index.html.
2024-06-05 12:05:01 +01:00
Jorge Gomez
a236bb7a33
fix: typos in "Named Implementations" (#3296)
* fix: typos in "Named Implementations"

* Update docs/source/tutorial/interfaces.rst

---------

Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
2024-06-05 12:03:47 +01:00
MithicSpirit
f83ad9ce98
[ base ] Data.SortedSet.leftMost and .rightMost (#3260)
* [ 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>
2024-06-05 12:00:57 +01:00
Joel Berkeley
40d4cd898b clarify toMaybeT docstring 2024-06-05 11:59:52 +01:00
Steve Dunham
c0ac024114 [ doc ] Update documentation for with 2024-06-05 11:59:06 +01:00
G. Allais
004f1fd26b
[ new ] Data.SnocList.HasLength from compiler libs (#3299) 2024-06-05 11:51:23 +01:00
Jorge Gomez
0742b3ba97 [ doc ] reference intro info on elab 2024-06-05 07:53:48 +01:00
Jorge Gomez
d7d84868a5 fix: typos in "Expressions" 2024-06-04 13:08:00 +01:00
Denis Buzdalov
a6c5cf5af0 [ fixup #2939 ] Make futures not interfere with optimisations 2024-06-03 15:43:23 +01:00
Aleksei Volkov
10b0cc3240 Updated CHANGELOG_NEXT.md 2024-05-31 10:22:56 +01:00
Aleksei Volkov
167258b975 [ test ] Added regression tests for #2927 2024-05-31 10:22:56 +01:00
Aleksei Volkov
24fcc0b551 [ perf ] Use delay and force to memoize lazy toplevel definitions 2024-05-31 10:22:56 +01:00
Aleksei Volkov
d4f84ab78a [ fix ] Do not lift expressions inside %delay during CSE 2024-05-31 10:22:56 +01:00
Stefan Höck
e73ca067ed
[ performance ] a faster implementation of unpack (#3281)
* [ performance ] a much faster implementation of unpack

* [ fix ] partiality error in Hangman test

* [ test ] add some documentation to the unpack test case

* [ test ] fix expected output of unpack test
2024-05-24 08:06:56 +01:00
Denis Buzdalov
cf68e995c4 [ funext ] Add a proof for funext variants with the other quantities 2024-05-19 15:00:28 +01:00
André Videla
2a3f0311f2
Merge pull request #3283 from dunhamsteve/fix-windows-ci
[ fix ] fix windows CI, aligned_alloc not supported on win32
2024-05-18 08:21:28 +01:00
Steve Dunham
cf5c594474 [ fix ] fix windows CI, aligned_alloc not supported on win32 2024-05-17 14:44:48 -07:00
André Videla
5d04f89c7b
Merge pull request #3270 from dunhamsteve/impossible-lam
[ parser ] Add support for impossible lambdas
2024-04-29 07:12:10 +09:00
Steve Dunham
7854bf4ab0 [ fix ] Fix ENOMEM on macos rest runner 2024-04-28 11:10:19 -07:00
Steve Dunham
960d818c29 Merge branch 'main' into impossible-lam 2024-04-27 18:25:06 -07:00
Steve Dunham
b99dd05224 [ parser ] Add support for impossible lambdas 2024-04-27 16:57:33 -07:00
André Videla
84ce3a6836
Merge pull request #3253 from dunhamsteve/issue3251
[ parser ] Fix issue parsing unquote
2024-04-28 08:17:18 +09:00
André Videla
3489cc3fa4
Merge pull request #3269 from dunhamsteve/fix-macos-build
[ fix ] fix macos ci
2024-04-28 08:16:30 +09:00
Steve Dunham
ed3fe023cb [ fix ] include ambient CFLAGS/LDFLAGS in ccompilerArgs test 2024-04-27 15:31:59 -07:00
Steve Dunham
93bf394370 [ fix ] Use HOMEBREW_PREFIX instead of /opt/homebrew 2024-04-27 14:51:25 -07:00
Steve Dunham
2e27921771 [ fix ] propagate LDFLAGS and CPPFLAGS to test makefile 2024-04-27 14:40:07 -07:00
Steve Dunham
bed2013328 [ fix ] fix macos ci 2024-04-27 12:46:36 -07:00
André Videla
2298f8837b
Merge pull request #3267 from stefan-hoeck/fin0
[ fix ] issue 3266
2024-04-23 00:50:10 +09:00
Stefano Volpe
ae3a43f72c
Doc: module naming constraints (#3256) 2024-04-22 15:43:49 +01:00
stefan-hoeck
e1c5c2fd8e [ fix ] issue 3266 2024-04-22 15:44:35 +02:00
André Videla
517b2832ef
Merge pull request #3265 from andrevidela/fix-fixity-warning
fix error message for unexported fixities
2024-04-22 08:34:46 +09:00
André Videla
dd991861c1 fix error message for unexported fixities 2024-04-21 23:27:29 +01:00
Hattori, Hiroki
1dc7b74e4e
[RefC] Suppress arglist wrapper (#3177)
* [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>
2024-04-17 15:48:43 +01:00
André Videla
4799d289b8
Merge pull request #3255 from foxyseta/patch-1
doc: typos in "Types and Functions"
2024-04-13 08:12:50 +09:00
Stefano Volpe
12c4a94bc2
fix: typos in "Types and Functions" 2024-04-12 22:04:22 +00:00
Steve Dunham
d7867c0c1a [ parser ] Fix issue parsing unquote 2024-04-08 20:42:36 -07:00
André Videla
b690dc15d5
Merge pull request #3250 from andrevidela/fix-3249
fix printing of backticked expressions
2024-04-05 01:20:48 +09:00
André Videla
3b0d9d9f35 fix printing of backticked operators 2024-04-04 16:08:23 +01:00
Ellis Kesterton
2823281af6
Add partiality/delay monad (#3240) 2024-04-04 11:53:11 +01:00
G. Allais
fee293b575
[ re #3177 ] Separate the renaming from the rest (#3248) 2024-04-03 17:22:19 +01:00
André Videla
75032a7164
Emit warning for fixities with no export modifiers (#3234)
* 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.
2024-04-03 15:41:57 +01:00
Mathew Polzin
aa3f67cd11
fix macos-nix build where refc support files don't build under default environment anymore (#3246) 2024-04-01 20:09:38 -05:00
Mathew Polzin
1977dbd640
better nix-shell support via shellHook (#3243) 2024-04-01 10:00:10 -05:00
G. Allais
2c2aa85048
[ prelude ] the is linear in its input (#3239)
* [ prelude ] `the` is linear in its input

* [ fix ] eta-expand tests
2024-03-27 14:09:14 +00:00