Extensionalize if-then-else syntax, on by default in H98 and H2010
AbandonedPublic

Authored by strake on Jan 31 2017, 11:35 PM.

Details

Test Plan
module Test where

if :: Bool -> (a -> a) -> a -> a
if False _ = id
if True  f = f
strake updated this revision to Diff 10849.Jan 31 2017, 11:35 PM
strake retitled this revision from to Extensionalize if-then-else syntax, on by default in H98 and H2010.
strake updated this object.
strake edited the test plan for this revision. (Show Details)
strake added a reviewer: GHC.
strake set the repository for this revision to rGHC Glasgow Haskell Compiler.
simonpj added a subscriber: simonpj.Feb 1 2017, 3:33 AM

Motivation? Can we run this through the ghc proposals process?

mpickering requested changes to this revision.Feb 1 2017, 3:34 AM
mpickering added a reviewer: mpickering.
This revision now requires changes to proceed.Feb 1 2017, 3:34 AM
This comment was removed by strake.

Motivation?

So i can define terms named if, then, and else

I consider if-then-else a wart, but simply deleting it would break too many programs.

Can we run this through the ghc proposals process?

Yep, i'll do so.

jstolarek removed a reviewer: GHC.Feb 2 2017, 2:53 AM
austin resigned from this revision.Nov 9 2017, 11:33 AM
monoidal abandoned this revision.Aug 12 2018, 1:10 PM
monoidal added a subscriber: monoidal.

I am marking as 'abandoned'; the reaction at ghc-proposals was rather negative and currently I don't see a prospect for merging this.

In principle, if we add mixfix operators to the language in the future we could revive this - however, I don't expect this to be done soon.