Commit Graph

375 Commits

Author SHA1 Message Date
Denis Buzdalov
3fe95d469a [ interpolate ] Implement Interpolation for primitive numeric types 2023-12-29 11:17:31 -06:00
Denis Buzdalov
db4f65bd8d [ refactor ] Move lazy lists from contrib to base 2023-12-29 09:22:03 -06:00
Denis Buzdalov
eddcbcdc75 [ base ] Add modifyRef into the Ref interface 2023-12-08 18:54:57 +00:00
Denis Buzdalov
8557b5b810 [ typo ] Fix a silly typo 2023-12-08 18:54:57 +00:00
Andor Penzes
82e4fd9da7
Add foldrImplGoLemma to Data.Vect (#2835)
Co-authored-by: CodingCellist <teh6@st-andrews.ac.uk>
2023-11-30 10:07:41 +00:00
0xd34df00d
6dd25cd9ec [ base ] Add mapPropertyRelevant, tabulate and (++) for Vect's All 2023-11-30 09:53:05 +00:00
CodingCellist
d80bc1537d
[ base ] Add bindings for ieee Double number consts (#3116) 2023-11-09 14:01:40 +00:00
G. Allais
bee59d5fde
[ fix ] missing modules in .ipkg files (#3124)
Additionally, we now have bash options to make sure we will fail hard were
this situation to arise once again.
2023-10-27 20:37:00 +01:00
Denis Buzdalov
305604d243
[ base ] Implement a bunch of standard interfaces for Data.These (#3117)
* [ base ] Implement a bunch of standard interfaces for `Data.These`

* [ base ] Add couple of eliminators with default values for `These`
2023-10-25 11:15:28 +01:00
Denis Buzdalov
2358a74a29 [ base ] Implement Zippable for several standard types + small cleanup 2023-10-16 22:41:55 +01:00
0xd34df00d
7c8076c149 [ base ] Relevant and irrelevant traversals for Data.Vect.Quantifiers.All 2023-10-16 09:49:22 +01:00
0xd34df00d
f2a95071a1
[ base ] Add Data.Vect.Quantifiers.All.remember, the inverse to forget (#3096)
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2023-10-13 15:26:24 +01:00
Stefan Höck
7fbbb030df
[ new ] add Data.List.grouped function (#3089) 2023-10-13 13:48:15 +01:00
Denis Buzdalov
f7d4b7f4ed [ base ] Add a bridge between MonadState and Ref 2023-10-13 13:47:31 +01:00
0xd34df00d
32b639ca3c [ base ] Prove anyToFin preserves the property witnessed by Any 2023-10-09 15:03:55 +01:00
0xd34df00d
8d5caaa137 [ base ] Add anyToFin converting a Vect's Any to its index 2023-10-09 15:03:55 +01:00
Denis Buzdalov
6dc06cd67d [ base ] Add update functions to sorted maps 2023-09-23 22:47:05 +01:00
Denis Buzdalov
a4ccb27c83 [ base ] Add lists' infix-by functions, complementary to existing ones 2023-08-28 13:53:59 +01:00
russoul
ebbae42c85 Add uncons' to base; rewrite head' and tail' in terms of uncons' 2023-08-23 11:04:23 +01:00
Steve Dunham
badf1e98c8 [ base ] Make foldr1 and foldr1By public 2023-08-07 08:10:35 +01:00
scarf
c7abb148e8
feat: even and odd for Nat and Integral (#3021) 2023-07-31 08:36:40 +01:00
Saransh Chopra
4fcb0fb4a7
Remove decideLTE (#3031) 2023-07-27 08:04:24 +01:00
André Videla
a39bfc6ce3
Merge branch 'main' into constant_fin 2023-07-18 23:46:07 +09:00
scarf
388d217757
docs: typo in list difference documentation (#3018) 2023-07-16 10:39:36 -05:00
CodingCellist
18e887389f
[ papers ] Port the first part of "Deferring the details [...]" by Liam O'Connor (#2974)
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2023-07-05 16:42:58 +01:00
Robert Wright
754f6af55c Add orBothFalse proof 2023-07-05 16:36:55 +01:00
Robert Wright
af3c5fd454 Generalize Prelude proof helpers 2023-07-05 16:36:09 +01:00
stefan-hoeck
c1a5be9b5b [ performance ] make Eq and Ord for Fin run in constant time 2023-07-05 15:58:41 +02:00
Denis Buzdalov
c285ef06dd [ re #2960 ] Move defs of closures data types to a separate module 2023-05-11 15:31:45 +01:00
Robert Wright
9bfa04921a Add symmetric and transitive closure relations 2023-05-08 11:53:21 +01:00
stefan-hoeck
bc1a51ea18 [ regression ] revert to previous implementation of Show 2023-05-02 11:23:14 +02:00
stefan-hoeck
83f5ef27b6 [ new ] Eq, Ord, Semigroup, and Monoid for All 2023-05-02 11:23:14 +02:00
Denis Buzdalov
cf63ee2ef2 [ base ] Add extraction functions to Data.Singleton 2023-03-28 11:29:09 +01:00
Robert Wright
fb956802ab Add Elem get and lookup functions 2023-03-23 19:36:20 +00:00
CodingCellist
7972c6acbd
[ new ] Implement bit-rotation operators (#2903)
* [ new ] Implement bit-rotation operators

Whereas `shiftR` and `shiftL` throw bits off the edge, the `rotR` and
`rotL` operations wrap the bits around to the start of the bit-stream.

* [ test ] visualise bit patterns instead

* [ fix ] print bit patterns the right way around

---------

Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2023-03-04 14:41:54 +00:00
CodingCellist
ba24892e2f
[ new ] Couple of useful things for Vect (#2904)
Co-authored-by: Ohad Kammar <ohad.kammar@ed.ac.uk>
Co-authored-by: André Videla <andre.videla@gmail.com>
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2023-03-03 15:58:44 +00:00
Ohad Kammar
1ea1cbeede Refactor Data.Nat to use preorder reasoning to improve readability 2023-03-03 15:45:31 +00:00
G. Allais
310a8f12cd
[ new ] missing buffer primitives (#2893) 2023-02-26 17:50:52 +00:00
crisoagf
7f9db70e15
Add PreorderReasoning comforts (#2778)
* Add PreorderReasoning comforts

* Drop interface approach in favour of computation

* Update libs/base/Syntax/PreorderReasoning.idr

---------

Co-authored-by: Cristóvão Gomes Ferreira <crisoagf@melo-gibson>
Co-authored-by: Ohad Kammar <ohad.kammar@gmail.com>
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
CI integration co-authored-by: @stefan-hoeck
2023-02-17 17:47:54 +00:00
Stefan Höck
b543daf5ab
[ contrib ] move SortedMap and SortedSet to base (#2884) 2023-02-16 11:02:43 -06:00
Denis Buzdalov
bbe96929f1 [ minor, base ] Relax requirement of the These.bifold 2023-01-26 22:15:15 +00:00
Mathew Polzin
24ac56de88
Moving Data.List.HasLength into base (#2844) 2023-01-16 00:07:21 -06:00
Mathew Polzin
4005b40a95
[new] Vect.Quantifiers.All QoL (#2843)
* Add Show for Vect.All

* Add an alias for HVect to Data.Vect.Quantifiers.All

* Add a few utilities for Vect.Quantifiers.All to make it more at home in listy uses.

* Add CHANGELOG entries.
2023-01-09 00:57:00 -06:00
Denis Buzdalov
f4ebcadfad [ base ] Add forgetting conversions of Vect.Quantifiers 2022-12-20 16:36:27 +00:00
Denis Buzdalov
ff6afb0c59 [ minor ] Make NotBothZero parameter of standard gcd to be erased 2022-12-05 15:10:16 +00:00
0xd34df00d
c6a8c9e7a7 [ base ] Move the worker outside of the Vect's reverse definition 2022-11-21 10:52:47 +00:00
Hattori, Hiroki
5c9f8e36a1
[ RefC ] Add 16 and 32 bit access to base/Data.Buffer . (#2609)
* Fix symbom mangling

* Revert "Fix symbom mangling"

This reverts commit 6481e80155.

* Fix typo

* [RefC] Add missed prims of setBuffer* .

* [ fix ] formatting

* [ re #2609 ] Use 'UInt' instead of 'Word'

More descriptive/to the point / Less assumed knowledge.

There are no *LE suffixes for UInt8, since endianness is to do with
multiple bytes and UInt8 is a single one.

Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
Co-authored-by: Thomas E. Hansen <teh6@st-andrews.ac.uk>
2022-11-15 12:15:06 +01:00
CodingCellist
70ef197cf6
[ base ] Deprecate setByte in favour of setBits8 (#2764)
* [ base ] Deprecate setByte in favour of setBits8
           Deprecate getByte; fix Core.Binary.Prims

Along with `setByte`, the `getByte` function should similarly be
deprecated since it also assumes the value will have the given size,
rather than guaranteeing it in the type.

CI highlighted some required changes in `Core.Binary.Prims` thanks to
`-Werror`. The fix was to add some `cast` calls where the old `getByte`
and `setByte` used to be.

The RefC buffer test will need updating once we remove the functions
completely. Added a note for future peeps.
2022-11-15 10:42:07 +01:00
Robert Wright
b2c42280bb Erase Fin fromInteger upper bound 2022-11-11 15:34:58 +00:00
stefan-hoeck
6f5b19c389 [ cleanup ] bifoldMap already in Prelude 2022-11-03 14:11:15 +00:00