Denis Buzdalov
99f1e11ddb
[ cleanup ] Slightly improve readability
2021-08-11 11:33:46 +01:00
Denis Buzdalov
9357d777f6
[ base ] Relax requirement of Alternative
implementation for ReaderT
2021-08-11 11:33:46 +01:00
G. Allais
21c6f4fb79
[ breaking ] remove parsing of dangling binders ( #1711 )
...
* [ breaking ] remove parsing of dangling binders
It used to be the case that
```
ID : Type -> Type
ID a = a
test : ID (a : Type) -> a -> a
test = \ a, x => x
```
and
```
head : List $ a -> Maybe a
head [] = Nothing
head (x :: _) = Just x
```
were accepted but these are now rejected because:
* `ID (a : Type) -> a -> a` is parsed as `(ID (a : Type)) -> a -> a`
* `List $ a -> Maybe a` is parsed as `List (a -> Maybe a)`
Similarly if you want to use a lambda / rewrite / let expression as
part of the last argument of an application, the use of `$` or parens
is now mandatory.
This should hopefully allow us to make progress on #1703
2021-08-10 19:24:32 +01:00
Guillaume ALLAIS
31ffb4e5c7
[ cleanup ] various public export & cleanup
...
Turns out that `Smaller` and `LT` won't unify because
1. the instance Sized Nat is not publicly exported
2. Smaller, and LT are stuck until fully applied
The given changes make that go away.
2021-07-27 09:06:20 +01:00
Edwin Brady
d2af6e5027
Export throw and catch again in App
...
Fixes #1706
2021-07-16 11:42:24 +01:00
Nick Drozd
61b9a3e4e5
Define and implement Relation interfaces ( #1472 )
...
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2021-07-09 09:06:27 +01:00
Stiopa Koltsov
8fd58b3bdd
More reliable exception handling in Control.App
...
Convert `App.Control.Exception` interface to an alias to `HasErr`.
Probably `Exception` interface need to be deprecated or removed.
Note similar problem exists with `PrimIO` calling `PrimIO, Exception`,
also need to be fixed.
Fix this scenario:
```
throwBoth : Has [Exception String, Exception Int] es => App es ()
throwOne : Has [Exception Int] es => App es Int
throwOne {es} = handle {err = String} {e = es} throwBoth (\r => pure 1) (\e => pure 3)
```
With this commit it works, before this commit it failed with:
```
Error: While processing right hand side of throwOne. Can't find an implementation for Exception Int (String :: es).
TestException.idr:8:48--8:57
|
8 | throwOne {es} = handle {err = String} {e = es} throwBoth (\r => pure 1) (\e => pure 3)
| ^^^^^^^^^
```
2021-07-06 10:43:54 +01:00
Kamiλ Shakirov
8e30b296c0
[ refactor ] Remove Data.Strings module ( #1607 )
2021-06-28 13:48:37 +01:00
Nick Drozd
ec438760d9
Simplify some lambdas ( #1561 )
2021-06-16 15:22:30 +01:00
Denis Buzdalov
bf0985602f
[ totality ] More %default total
stuff
2021-06-12 21:06:08 -05:00
Fabián Heredia Montiel
dad4dcdaf8
Add totality annotations to src
and libs/{prelude, base}
2021-06-12 21:06:08 -05:00
Zoe Stafford
24f7c9d5be
Add foldMap
to Foldable
( #1483 )
2021-06-01 15:05:04 +01:00
stefan-hoeck
0858c26dcf
[ refactor ] renamed value to runConst
2021-04-25 10:41:36 +01:00
stefan-hoeck
7863636490
[ new ] add Contravariant interface
2021-04-25 10:41:36 +01:00
stefan-hoeck
047fdb50dd
[ new ] missing Identity implementations
2021-04-25 10:41:36 +01:00
stefan-hoeck
cb7add2eca
[ new ] add Const applicative functor
2021-04-25 10:41:36 +01:00
Tung Alissa
1bf46bc458
[ REPL ] Improving :doc (fixity, totality, colours) ( #1316 )
...
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2021-04-21 09:39:18 +01:00
G. Allais
cee7e38894
[ new ] Proof search from 'Applications of Applicative Proof Search' ( #1093 )
2021-03-01 08:29:43 +00:00
claymager
33e336ad27
Give App1 implementation of (>>) ( #1122 )
2021-02-25 17:09:24 +00:00
Denis Buzdalov
4f28b92a19
Zero quantities were added to some interface usages.
2021-02-12 20:51:13 +00:00
Denis Buzdalov
5beda25da6
Seemingly outdated and non-typechecking module was removed.
2021-02-01 16:10:54 +00:00
Kamil Shakirov
173edb14a6
Remove unused modules
2021-02-01 14:26:18 +00:00
Stiopa Koltsov
cff7db38cb
Control.App: use new type instead of Void as marker for I/O
...
Took me some time to figure out that `Void` means `IO`.
Express that knowledge more explicitly.
2021-01-31 11:58:10 +00:00
stefan-hoeck
92b9833ee2
fixed doc for WriterT
2021-01-21 13:25:48 +01:00
stefan-hoeck
fd4851c0f5
strict, not stricht
2021-01-21 13:24:40 +01:00
stefan-hoeck
d36a234041
finished MonadRWS
2021-01-20 05:58:19 +01:00
stefan-hoeck
e906b28cae
removed MonadState functions from RWS.CPS.idr
2021-01-20 05:51:39 +01:00
stefan-hoeck
e8f2f56768
removed MonadWriter functions from RWS.CPS.idr
2021-01-20 05:48:43 +01:00
stefan-hoeck
6f2e358f1b
removed MonadReader functions from RWS.CPS.idr
2021-01-20 05:45:32 +01:00
stefan-hoeck
2776eaa1b1
remove MonadWriter functions from Writer.CPS module
2021-01-20 05:41:01 +01:00
stefan-hoeck
b6e5ba0830
minor MonadWriter cleanup
2021-01-20 05:27:56 +01:00
stefan-hoeck
313f52a88a
explicit lambdas for mapXYZ functions
2021-01-20 05:27:08 +01:00
stefan-hoeck
a42a34e9f0
removed trailing whitespace
2021-01-19 17:53:42 +01:00
stefan-hoeck
b5ab96477c
some cleanups in State
2021-01-19 17:47:06 +01:00
stefan-hoeck
8c9e318a6d
some cleanups in Reader
2021-01-19 17:43:47 +01:00
stefan-hoeck
7999420e88
made functions in EitherT and MaybeT public export
2021-01-19 17:38:59 +01:00
stefan-hoeck
c75d14fa8a
implemented MonadWriter
2021-01-19 16:19:27 +01:00
stefan-hoeck
01ba3aa365
moved MonadState to its interface module
2021-01-19 15:45:19 +01:00
stefan-hoeck
dac566152b
moved MonadReader to its interface module
2021-01-19 15:12:36 +01:00
stefan-hoeck
12f1ff493e
added mapStateT function
2021-01-19 14:57:10 +01:00
stefan-hoeck
8eb0e855f1
removed RWST function reader
2021-01-19 14:41:26 +01:00
stefan-hoeck
8cb2220e58
implemented cps-style Writer
2021-01-19 14:34:15 +01:00
stefan-hoeck
b9f7683fbd
mapRWST needs only a Functor
2021-01-19 14:11:06 +01:00
stefan-hoeck
b2e7384a80
implemented cps-style RWST
2021-01-19 13:58:18 +01:00
stefan-hoeck
81efdd7992
implementations for MonadError
2021-01-19 12:35:05 +01:00
stefan-hoeck
124afd89b1
moved transformer impls to their own directory
2021-01-19 11:53:23 +01:00
stefan-hoeck
b926e13b96
new transformer layout
2021-01-19 11:45:54 +01: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
Edwin Brady
70c87e49da
Merge pull request #920 from stefan-hoeck/eithert-foldable-fix
...
fixed bug in Foldable of EitherT
2021-01-16 15:40:33 +00:00