Type Level "Application" Operator
Edward Kmett
ekmett at gmail.com
Wed Nov 2 14:24:12 UTC 2016
+1, but the operator you're looking for in App there would actually be a
type level version of (.).
type App a = ExceptT Err $ ReaderT Config $ LogT Text $ IO a
type App = ExceptT Err . ReaderT Config . LogT Text . IO
which would need
type (.) f g x = f (g x)
infixr 9 .
to parse
-Edward
On Tue, Nov 1, 2016 at 7:13 PM, Elliot Cameron <eacameron at gmail.com> wrote:
> Folks,
>
> Has there been a discussion about adding a type-level operator "$" that
> just mimics "$" at the value level?
>
> type f $ x = f x
> infixr 0 $
>
> Things like monad transformer stacks would look more "stack-like" with
> this:
>
> type App = ExceptT Err $ ReaderT Config $ LogT Text IO
>
> Elliot Cameron
>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20161102/6c967e78/attachment.html>
More information about the Libraries
mailing list