Early feedback on a GHC proposal

Anyone want to offer some early feedback on a GHC proposal I'm working on? It's called OverloadedApplication. Current version at https://github.com/cdsmith/ghc-proposals/blob/overloadedapplication/proposal... I am proposing something a bit more ambitious than what I need, because the proposal as written seems more likely to be broadly useful. The bit that I actually need is about desugaring of infix operators in the presence of RebindableSyntax. I'd love to get early thoughts from anyone who has a solid use case for the rest of the proposal. It feels like a thing that *ought* to be useful, but I'm drawing blanks at the moment.

I like it. My use case for overloaded application is from singletons, where I want users to be able to apply something of type Sing (x :: k1 -> k2). Right now, they must call `applySing` to do the application. Thanks for writing it up! Richard
On Jan 24, 2017, at 3:07 AM, Chris Smith
wrote: Anyone want to offer some early feedback on a GHC proposal I'm working on? It's called OverloadedApplication. Current version at https://github.com/cdsmith/ghc-proposals/blob/overloadedapplication/proposal... https://github.com/cdsmith/ghc-proposals/blob/overloadedapplication/proposal...
I am proposing something a bit more ambitious than what I need, because the proposal as written seems more likely to be broadly useful. The bit that I actually need is about desugaring of infix operators in the presence of RebindableSyntax. I'd love to get early thoughts from anyone who has a solid use case for the rest of the proposal. It feels like a thing that *ought* to be useful, but I'm drawing blanks at the moment. _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.

On 2017-01-24 03:07 AM, Chris Smith wrote:
Anyone want to offer some early feedback on a GHC proposal I'm working on? It's called OverloadedApplication. Current version at https://github.com/cdsmith/ghc-proposals/blob/overloadedapplication/proposal...
I like the proposal overall. One question you haven't addressed is whether the backtick syntax `f` should apply to all IsFunction instances, or only to functions like now. You should also explain what you expect to happen if the {-# LANGUAGE OverloadedApplication #-} pragma is plunked on top of an existing module and some IsFunction instances imported. Do you expect any Haskell2010 module to remain completely unaffected? If so, I presume there must be some defaulting rules to prefer the plain old function application.
I'd love to get early thoughts from anyone who has a solid use case for the rest of the proposal. It feels like a thing that *ought* to be useful, but I'm drawing blanks at the moment.
I haven't looked into it deeply, but it may be possible to re-implement something like the idiom brackets (for a particular Applicative instance) using this proposal.

Hi, Am Dienstag, den 24.01.2017, 00:07 -0800 schrieb Chris Smith:
Anyone want to offer some early feedback on a GHC proposal I'm working on? It's called OverloadedApplication. Current version at h ttps://github.com/cdsmith/ghc- proposals/blob/overloadedapplication/proposals/0000-overloaded- application.rst
I am proposing something a bit more ambitious than what I need, because the proposal as written seems more likely to be broadly useful. The bit that I actually need is about desugaring of infix operators in the presence of RebindableSyntax. I'd love to get early thoughts from anyone who has a solid use case for the rest of the proposal. It feels like a thing that *ought* to be useful, but I'm drawing blanks at the moment.
bold! For your use-case (presenting a world view where only curried functions are allowed), the proposal https://github.com/ghc-proposals/ghc-proposals/pull/23 might be useful (but in its current form it has now way of influencing another module, which you’d probably need to remove boiler-plate code from the student’s modules). Greetings, Joachim -- Joachim “nomeata” Breitner mail@joachim-breitner.de • https://www.joachim-breitner.de/ XMPP: nomeata@joachim-breitner.de • OpenPGP-Key: 0xF0FBF51F Debian Developer: nomeata@debian.org
participants (4)
-
Chris Smith
-
Joachim Breitner
-
Mario Blažević
-
Richard Eisenberg