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
G. Allais
4cd38a8c5d
[ new ] deriving Show ( #2741 )
2022-11-02 11:57:07 +00:00
Stefan Höck
57c589ca80
[ performance ] More stack safety in the Prelude ( #2704 )
2022-10-26 09:54:53 +01:00
stefan-hoeck
0e956249cc
[ performance ] efficient foldr and foldMap for SnocList
2022-10-04 12:19:32 +02:00
0xd34df00d
c2dd824c58
[ base ] Implement Uninhabited for impossible Pointwise equalities
2022-10-02 21:41:26 +01:00
hilary888
9eaff9f728
Fix typo in documentation string
2022-09-30 22:35:36 +01:00
Stefan Höck
7eebeff905
[ fix ] natToFinLt is O(n) ( #2689 )
2022-09-29 14:36:32 +01:00
G. Allais
81ea363ae8
[ base ] deriving Traversable ( #2678 )
2022-09-24 12:43:49 +01:00
Joel Berkeley
c0153e72cd
[ base ] implement decEq
for SnocList
( #2630 )
...
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2022-09-20 15:46:15 +01:00
0xd34df00d
b3c80e0765
[ base ] Add finToNatEqualityAsPointwise, an inverse of finToNatQuotient
2022-09-05 12:45:28 +01:00
Mathew Polzin
4a348c1f95
Public export remaining function to allow for proofs involving parsing numbers.
2022-07-18 14:10:05 +01:00
Jeroen de Haas
ea7e43ad74
[doc] Remove implicit argument in documentation for parseDouble
2022-07-03 22:00:31 +01:00
Denis Buzdalov
e856569d16
[ doc ] Clarify the doc comment of find*
functions of SnocList
2022-06-20 12:13:37 +01:00
Denis Buzdalov
bc838467a3
[ base ] Add a function returning Dec
for So
2022-06-17 19:52:35 +01:00
Guillaume Allais
381441d849
[ base ] maximum is an upper bound
2022-06-14 16:07:37 +01:00
Thomas E. Hansen
268a3520f3
[ base ] Port most of List.Quantifiers to List1
...
This doesn't include `Interleaving` and `Split`.
2022-06-09 09:05:10 +02:00
Thomas E. Hansen
5da3bc7d7c
[ base ] Port List.Elem to List1
2022-06-09 09:05:10 +02:00
Denis Buzdalov
a766c628e9
[ base ] Add mapping functions to Data.Vect.Quantifiers
2022-05-27 09:03:28 +01:00
Denis Buzdalov
73608cb264
[ cleanup ] Clean up DecEq
implementations with biinjective functions
2022-05-20 11:50:46 +01:00
Denis Buzdalov
d3fa76052b
[ new ] Introduce a Biinjective
interface
2022-05-20 11:50:46 +01:00
Denis Buzdalov
a3542ad0cd
[ cleanup ] Make existing equality proofs a bit cleaner
2022-05-20 11:50:46 +01:00
Denis Buzdalov
4032ef2b85
[ base ] Implement equalities for inclusive-or type (These
)
2022-05-19 13:37:28 +01:00
Zoe Stafford
71351a6c88
Merge pull request #2476 from Z-snails/bits64-popcount
...
Fix `FiniteBits` for `Bits64`
2022-05-14 14:05:37 +01:00
Zoe Stafford
8a0d75dc6d
Fix FiniteBits
for Bits64
2022-05-14 13:12:16 +01:00
Joel Berkeley
bf87b623ef
add scanr
; scanr1
; unsnoc
for Vect
( #2471 )
...
* add `scanr` and `scanr1` for `Vect`
* add tests
* tests
* docstring
* typos
* add unsnoc
* simplify unsnoc
* docstring
* typos
2022-05-12 17:54:34 +01:00
Zoe Stafford
68bcacf3ec
[base] add missing node ffi functions ( #2427 )
2022-04-22 15:45:52 +01:00
Thomas E. Hansen
a644a85a57
[ base ] public export
quantifier functions
2022-04-04 13:24:12 +02:00
Thomas E. Hansen
dc02e4d822
[ refactor ] Put Vect quantifiers in their own namespaces
...
This makes the code in `Data.Vect.Quantifiers` consistent with the files
`Data.List.Quantifiers` and `Data.SnocList.Quantifiers`.
2022-04-04 13:24:12 +02:00
Denis Buzdalov
e8d3d788c1
[ base ] Add some more properties, functions and interface implementations ( #2361 )
2022-03-23 13:33:13 +00:00
Ohad Kammar
d08b827f49
Implement standard List operations for SnocLists ( #2364 )
...
Co-authored-by: Ohad Kammar <ohad.kammar@ed.ac.uk>
2022-03-23 11:14:30 +00:00
Denis Buzdalov
fc38afc144
[ base ] Some properties of List
and SnocList
( #2359 )
2022-03-18 08:40:37 +00:00
Joel Berkeley
fc45f7d888
[ base ] add insertAt
for List
( #2336 )
2022-03-17 18:23:47 +00:00
G. Allais
a973396567
[ base ] quantifiers for Snoclists ( #2349 )
2022-03-16 15:30:16 +00:00
G. Allais
fd02bf8b3e
[ fix #2303 ] remove quadratic unwords ( #2345 )
2022-03-07 18:34:06 +00:00
Robert Wright
6b367010ce
Inline SnocList foldl utility function
...
The scoping of the utility function meant that Idris treats `foldl f z (xs :< x)` and `f (foldl f z xs) x` as two different terms, making proving things about it difficult.
2022-03-07 11:46:43 +00:00