on master help sign in
Merge pull request #306 from johnpmayer/topic/fixing_empty_record
013e19eEvan Czaplicki
compiler/Parse/Type.hs+4−2
@@ -26,7 +26,9 @@ record :: IParser T.Type
26record =
26record =
27 do char '{' ; whitespace
27 do char '{' ; whitespace
28 ext <- extend
28 ext <- extend
29+ fs <- case ext of
30+ T.EmptyRecord -> commaSep fields
29− fs <- fields
31+ _ -> commaSep1 fields
30 dumbWhitespace ; char '}'
32 dumbWhitespace ; char '}'
31 return (T.Record fs ext)
33 return (T.Record fs ext)
32 where
34 where
@@ -34,7 +36,7 @@ record =
34 t <- tvar
36 t <- tvar
35 whitespace >> string "|" >> whitespace
37 whitespace >> string "|" >> whitespace
36 return t
38 return t
37− fields = commaSep1 $ do
39+ fields = do
38 lbl <- rLabel
40 lbl <- rLabel
39 whitespace >> hasType >> whitespace
41 whitespace >> hasType >> whitespace
40 (,) lbl <$> expr
42 (,) lbl <$> expr