git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Use a newScope for a case alternative
commit6e760dc541452cf3a3239b5bb4dd3c76812f2880 authorPhil Freeman <paf31@cantab.net> dateSun 3 Aug 2014, 10:32 (12 years ago) parent0805144
2 files changed+16−2
examples/passing/DeepCase.purs+14 src/Language/PureScript/Renamer.hs+2−2
examples/passing/DeepCase.pursnew file+14
@@ -0,0 +1,14 @@
1+module Main where
2+
3+import Debug.Trace
4+import Control.Monad.Eff
5+import Control.Monad.ST
6+
7+f x y =
8+ let
9+ g = case y of
10+ 0 -> x
11+ x -> 1 + x * x
12+ in g + x + y
13+
14+main = print $ f 1 10
src/Language/PureScript/Renamer.hs+2−2
@@ -158,8 +158,8 @@ renameInValue v = return v
158158-- Renames within case alternatives.
159159--
160160renameInCaseAlternative :: CaseAlternative -> Rename CaseAlternative
161−renameInCaseAlternative (CaseAlternative bs g v) =
162− CaseAlternative <$> mapM renameInBinder bs <*> maybeM renameInValue g <*> renameInValue v
161+renameInCaseAlternative (CaseAlternative bs g v) =
162+ newScope $ CaseAlternative <$> mapM renameInBinder bs <*> maybeM renameInValue g <*> renameInValue v
163163
164164-- |
165165-- Renames within binders.