russoul
b8aaaf3275
Add named instances for functor & applicative composition
2021-02-10 18:00:14 +00:00
G. Allais
8ba3d8572b
[ new ] Data.OpenUnion ( #1050 )
2021-02-10 15:25:35 +00:00
Wen Kokke
bd683938bf
Overhaul of concurrency primitives ( #968 )
...
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2021-02-05 16:16:20 +00:00
Andy Lok
5b367da2c9
[ refactor ] Rename Data.Strings to Data.String (1/2) ( #987 )
2021-01-27 19:18:34 +00:00
Stiopa Koltsov
901a15e8f8
Move Cast interface to Prelude.Cast
...
Extract 200 lines file from 1000 lines `Prelude/Types.idr`. To
make code more discoverable.
2021-01-27 18:31:43 +00:00
Denis Buzdalov
bd87bd0f7c
The blackbird operator (in the variant of .:
) was added
2021-01-27 15:08:25 +00:00
Kamil Shakirov
b540313c57
Add unzipWith and unzipWith3 for Stream
2021-01-22 10:41:16 +00:00
Stefan Hoeck
fb08004041
removed trailing whitespace ( #955 )
2021-01-21 11:33:03 +00:00
Edwin Brady
c7783c553c
Make the linter happier
2021-01-16 17:18:38 +00:00
Edwin Brady
6df2955a72
Merge pull request #909 from stefan-hoeck/maybeT
...
added MaybeT monad transformer to base
2021-01-16 15:43:14 +00:00
stefan-hoeck
2301826a4e
improved documentation for 'on'
2021-01-13 05:06:01 +01:00
Edwin Brady
3621c5d1bd
Merge pull request #879 from edwinb/no-linearity-subtyping
...
Remove linearity subtyping
2021-01-12 12:33:26 +00:00
Edwin Brady
d4abbfdae2
Add HasLinearIO
...
Ideally, liftIO would always be linear, but that has lots of knock-on
effects for other monads which we might want to put in HasIO, now that
subtyping is gone. We'll have to revisit this when we have some kind of
multiplicity polymorphism.
2021-01-11 11:24:43 +00:00
stefan-hoeck
31f50a793c
added prelude function 'on'
2021-01-11 05:26:17 +01:00
André Videla
28c4d1e3bb
Add count and foldMap to prelude
2021-01-05 21:59:01 +00:00
Edwin Brady
69cb7c6ac4
Relax linearities in prelude
2020-12-29 21:32:01 +00:00
Edwin Brady
ad632d825d
Remove linearity subtyping
...
It's disappointing to have to do this, but I think necessary because
various issue reports have shown it to be unsound (at least as far as
inference goes) and, at the very least, confusing. This patch brings us
back to the basic rules of QTT.
On the one hand, this makes the 1 multiplicity less useful, because it
means we can't flag arguments as being used exactly once which would be
useful for optimisation purposes as well as precision in the type. On
the other hand, it removes some complexity (and a hack) from
unification, and has the advantage of being correct! Also, I still
consider the 1 multiplicity an experiment.
We can still do interesting things like protocol state tracking, which
is my primary motivation at least.
Ideally, if the 1 multiplicity is going to be more generall useful,
we'll need some kind of way of doing multiplicity polymorphism in the
future. I don't think subtyping is the way (I've pretty much always come
to regret adding some form of subtyping).
Fixes #73 (and maybe some others).
2020-12-27 19:58:35 +00:00
alissa42
02e12a82cf
Adding default implementation of Foldable.null
2020-12-24 08:49:32 +00:00
Edwin Brady
c1f58d963f
Merge branch 'master' into interfaces
2020-12-14 13:34:31 +00:00
Wen Kokke
daff1f2fb8
Added assert_linear. ( #844 )
...
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2020-12-13 16:06:18 +00:00
G. Allais
3f6b99e979
[ fix #657 ] RigCount for interface parameters ( #808 )
2020-12-11 11:58:26 +00:00
Dong Tsing-hsuen
88aa55e875
[ new ] null method in Foldable ( #832 )
...
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2020-12-10 18:04:23 +00:00
Edwin Brady
63a46722ef
Force/Delay need to be inlined in Builtins
...
Otherwise (especially in the case of delay) the argument might be
evaluated prematurely.
2020-12-06 20:00:48 +00:00
G. Allais
502f544d73
[ fix #775 ] integerToNat is not, in fact, id ( #799 )
2020-11-27 18:48:19 +00:00
G. Allais
5e799563fa
[ contrib ] adding Data.Container ( #781 )
2020-11-27 15:29:19 +00:00
Molly Miller
7d5ec53b53
Add a (>>) operator, implemented in terms of (>>=).
...
This mirrors the (>>) found in Haskell, which is the same as (>>=), except the
second computation (on the right hand side) takes no arguments, and the result
of the first computation is discarded. This is a trivial implementation written
in terms of (>>=).
2020-10-01 13:16:58 +01:00
Ruslan Feizerahmanov
1d99a28176
Add Bifunctor interface ( #701 )
2020-09-30 10:51:07 +01:00
Guillaume Allais
6d8bd62795
[ cleanup ] we only need one ifThenElse
2020-09-23 22:20:45 +01:00
Christian Rasmussen
091465525b
Remove FArgList
2020-09-23 18:33:19 +01:00
MarcelineVQ
c4abdb4480
add Semigroup for Ordering and a -> b
...
useful items for applying multiple predicates, e.g.
sortBy (comparing length <+> compare)
To sort some lists elements by length and then lexographically
2020-09-21 08:07:21 +01:00
MarcelineVQ
3e4e33110b
add semigroup/monoid instances for Unit/()
...
quite useful to have for more complex libraries and types
2020-09-02 08:42:00 +01:00
russoul
5d156167d3
Add dup
2020-08-27 18:30:31 +01:00
russoul
3a9b1ac656
Add supporting code
2020-08-25 14:30:57 +03:00
russoul
50ac934747
Merge branch 'master' of https://github.com/idris-lang/Idris2 into master
2020-08-25 13:57:26 +03:00
MarcelineVQ
209de36ba0
add EitherT transformer ( #590 )
...
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2020-08-25 11:14:09 +01:00
russoul
594105d5ac
Eliminate schemeCall from the library
2020-08-24 19:38:29 +03:00
Alex Gryzlov
ef5299733a
refactor Data.String.Parser ( #579 )
2020-08-22 08:13:34 +01:00
karroffel
7d046652d8
add support for more casts from and to BitsN types ( #548 )
...
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2020-08-20 15:01:09 +01:00
Thomas Dziedzic
5d1b937035
add prim__getNullAnyPtr and prim__castPtr ( #525 )
2020-08-20 11:52:51 +01:00
Ohad Kammar
310b7a007c
Move cong2 from contrib
to Prelude.Basics
2020-08-20 07:53:45 +01:00
Kamil Shakirov
8544e80076
Use the same naming convention for foreign primitives
2020-08-19 14:05:28 +01:00
Niklas Larsson
76ee7a3b34
Merge pull request #351 from petithug/fixity-precedence-master
...
Restore Bool operators precedence
2020-08-18 14:08:20 +02:00
russoul
d387c76e9b
update stdio docs
2020-08-08 12:49:33 +01:00
Giuseppe Lomurno
c28133b7d9
Renamed IsString to FromString
...
- Renaming of the string overload interface
- Added test cases for both string and integer literals overload
2020-08-05 02:33:05 +02:00
Giuseppe Lomurno
b7ba5e88eb
Overloaded strings interface
...
As for integer literals, adds an interface for overloaded string
literals, and the implementation for the prettyprinter library in
contrib.
2020-08-05 02:00:05 +02:00
G. Allais
0a7ea69df5
[ refactor ] introduce List1 to remove impossible case ( #520 )
2020-08-04 20:03:18 +01:00
Mark Barbone
cef248e5a7
Make showParens public
2020-08-04 10:58:00 +01:00
Ohad Kammar
915b7bea38
Add various instances from stdlib interfaces (Eq, Ord, DecEq)
...
For Void and Either
This is because I ended up using them elsewhere, so why not include them in the stdlib.
Also expose left/rightInjective functions, as are used in the DecEq proofs.
2020-07-26 10:47:38 +01:00
Marc Petit-Huguenin
bc21299c51
Restore Bool operators precedence
...
(&&) traditionally has higher precedence than (||).
Note that this commit requires to bootstrap again.
2020-07-18 05:49:35 -07:00
G. Allais
0908e76515
[ fix #346 ] Pull List.length into prelude ( #450 )
2020-07-14 12:15:57 +01:00