Rename INLINABLE to SPECIALISABLE
Simon Peyton Jones
simonpj at microsoft.com
Mon Jun 11 09:39:59 UTC 2018
For the record I don't have strong feelings here. Maybe SPECIALISABLE should simply be a synonym for INLINABLE, allowing the author to emphasise what's important to him or her.
S
| -----Original Message-----
| From: Libraries <libraries-bounces at haskell.org> On Behalf Of Matthew
| Pickering
| Sent: 08 June 2018 18:48
| To: Daniel Cartwright <chessai1996 at gmail.com>
| Cc: Haskell Libraries <libraries at haskell.org>
| Subject: Re: Rename INLINABLE to SPECIALISABLE
|
| INLINABLE also ensures the definition ends up in the interface files so that
| the function is able to be inlined across modules.
|
| Matt
|
| On Fri, Jun 8, 2018 at 7:10 PM, Daniel Cartwright <chessai1996 at gmail.com>
| wrote:
| > The "INLINABLE" pragma's name is misleading, it is more like
| > "SPECIALISABLE". Consider the documentation for INLINABLE:
| >
| > Top-level definitions can be marked INLINABLE.
| >
| > myComplicatedFunction :: (Show a, Num a) => ...
| > myComplicatedFunction = ...
| >
| > {-# INLINABLE myComplicatedFunction #-}
| >
| > This causes exactly two things to happens.
| >
| > The function's (exact) definition is included in the interface file
| > for the module.
| > The function will be specialised at use sites -- even across modules.
| >
| > Note that GHC is no more keen to inline an INLINABLE function than any
| > other.
| >
| > I propose that we deprecate "INLINABLE" over a number of years at the
| > same time as introducing "SPECIALISABLE". This wouldn't cause
| > breakages for a long time.
| >
| > _______________________________________________
| > Libraries mailing list
| > Libraries at haskell.org
| > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.h
| > askell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Flibraries&data=02%7C01%7Cs
| > imonpj%40microsoft.com%7C4dcb66ed3d844dcf119208d5cd67fa2a%7C72f988bf86
| > f141af91ab2d7cd011db47%7C1%7C0%7C636640768833664956&sdata=oGZmlOi0PLsO
| > ot%2FR5%2Fg3Vzl38sFyd6Dmzk6NPKB3DSo%3D&reserved=0
| >
| _______________________________________________
| Libraries mailing list
| Libraries at haskell.org
| https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.haskell
| .org%2Fcgi-
| bin%2Fmailman%2Flistinfo%2Flibraries&data=02%7C01%7Csimonpj%40microsoft.com%
| 7C4dcb66ed3d844dcf119208d5cd67fa2a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C
| 0%7C636640768833664956&sdata=oGZmlOi0PLsOot%2FR5%2Fg3Vzl38sFyd6Dmzk6NPKB3DSo
| %3D&reserved=0
More information about the Libraries
mailing list