[Haskell-cafe] New type of ($) operator in GHC 8.0 is problematic
ben at smart-cactus.org
Sat Feb 6 13:30:03 UTC 2016
Tom Ellis <tom-lists-haskell-cafe-2013 at jaguarpaw.co.uk> writes:
> On Sat, Feb 06, 2016 at 01:27:00PM +0100, Ben Gamari wrote:
>> The first (albeit rather unconvincing) example I can think of is be
>> something like,
>> getI# :: Int -> Int#
>> getI# (I# n#) = n#
>> n# :: Int#
>> n# = getI# $ 5 + 8
>> Richard likely has something a bit less contrived though.
> I hope there's something less contrived, because if the benefit is "you get
> to use $ to apply functions whose return type is not of kind *" then the
> power to weight ratio of this is extremely low.
> Is it also something to do with the special treatment that $ gets in the
> compiler, to allow 'runST $ do'?
To this the best of my knowledge, no. This would require impredicative polymorphism which
Richard's work does not provide. There is (was?), however, active work on this
front as well .
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 472 bytes
Desc: not available
More information about the Haskell-Cafe