Preliminary proposal: Monoidal categories in base and proc notation support

Sophie Taylor sophie at traumapony.org
Mon Sep 15 09:32:44 UTC 2014


>Hi Sophie,

>In your proposal draft, I am missing the rationale part.
Yeah, I'm still writing it - I definitely need to expand that a bit mor.

>Do we need *all* of these classes in base in order to desugar proc? Can
you demonstrate why they are needed? Or will something simpler suffice?

I think I might remove the binoidal class, and remove the
PFunctor/QFunctor classes - I included them because I usually find
finer grained class hierarchies to be more tasteful; but it probably
would make it more frustrating to implement an arrow, for example.

With SMC classes, proc notation can be desugared to remove a LOT of
calls to arr, which allows more fine-grained RULES optimisations to
take place, and additional work such as the ModalTypes extension in
Adam Megacz Joseph's thesis to be much more straightforward.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140915/72c9e6c2/attachment-0001.html>


More information about the ghc-devs mailing list