Add a pointer to the relevant paper for InScopeSet
authorBartosz Nitka <niteria@gmail.com>
Fri, 8 Jan 2016 14:26:49 +0000 (15:26 +0100)
committerBen Gamari <ben@smart-cactus.org>
Fri, 8 Jan 2016 14:27:23 +0000 (15:27 +0100)
This was non-obvious to me when reading the sources and the
paper provides the motivation and explores the design space.

Test Plan: just a comment

Reviewers: simonpj, austin, ezyang, bgamari

Reviewed By: bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D1749

compiler/basicTypes/VarEnv.hs

index bdc451a..08c7965 100644 (file)
@@ -80,6 +80,8 @@ import FastString
 -}
 
 -- | A set of variables that are in scope at some point
+-- "Secrets of the Glasgow Haskell Compiler inliner" Section 3. provides
+-- the motivation for this abstraction.
 data InScopeSet = InScope (VarEnv Var) {-# UNPACK #-} !Int
         -- The (VarEnv Var) is just a VarSet.  But we write it like
         -- this to remind ourselves that you can look up a Var in