Comments on oneShot
authorSimon Peyton Jones <simonpj@microsoft.com>
Thu, 27 Aug 2015 15:23:46 +0000 (16:23 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Fri, 11 Sep 2015 16:03:15 +0000 (17:03 +0100)
compiler/basicTypes/MkId.hs

index 36d0794..698c865 100644 (file)
@@ -1326,6 +1326,10 @@ and Note [Left folds via right fold]) it was determined that it would be useful
 if library authors could explicitly tell the compiler that a certain lambda is
 called at most once. The oneShot function allows that.
 
+'oneShot' is open kinded, i.e. the type variables can refer to unlifted
+types as well (Trac #10744); e.g.
+   oneShot (\x:Int# -> x +# 1#)
+
 Like most magic functions it has a compulsary unfolding, so there is no need
 for a real definition somewhere. We have one in GHC.Magic for the convenience
 of putting the documentation there.