on master help sign in
Fix nested parameters blocks
96f3b9eEdwin Brady
CHANGELOG+1
@@ -15,6 +15,7 @@ User visible changes:
15Internal changes:
15Internal changes:
16
16
17* Separate inlining methods at compile-time and run-time
17* Separate inlining methods at compile-time and run-time
18+* Fixed nested parameters blocks
18
19
19New in 0.9.5:
20New in 0.9.5:
20-------------
21-------------
src/Core/CoreParser.hs+1
@@ -42,6 +42,7 @@ idrisLexer = (PTok.makeTokenParser idrisDef) { PTok.whiteSpace = lexWS }
42
42
43lexer = idrisLexer
43lexer = idrisLexer
44
44
45+-- Taken from Parsec source code
45lexWS = skipMany (simpleSpace <|> oneLineComment <|> multiLineComment <?> "")
46lexWS = skipMany (simpleSpace <|> oneLineComment <|> multiLineComment <?> "")
46 where
47 where
47
48
src/Idris/AbsSyntax.hs+2−2
@@ -522,8 +522,8 @@ expandParamsD ist dec ps ns (PData syn fc co pd) = PData syn fc co (expandPData
522 else PDatadecl n (expandParams dec ps ns ty) (map econ cons)
522 else PDatadecl n (expandParams dec ps ns ty) (map econ cons)
523 econ (n, t, fc) = (dec n, piBindp expl ps (expandParams dec ps ns t), fc)
523 econ (n, t, fc) = (dec n, piBindp expl ps (expandParams dec ps ns t), fc)
524expandParamsD ist dec ps ns (PParams f params pds)
524expandParamsD ist dec ps ns (PParams f params pds)
525− = PParams f (map (mapsnd (expandParams dec ps ns)) params)
525+ = PParams f (ps ++ map (mapsnd (expandParams dec ps ns)) params) pds
526− (map (expandParamsD ist dec ps ns) pds)
526+-- (map (expandParamsD ist dec ps ns) pds)
527expandParamsD ist dec ps ns (PClass info f cs n params decls)
527expandParamsD ist dec ps ns (PClass info f cs n params decls)
528 = PClass info f
528 = PClass info f
529 (map (expandParams dec ps ns) cs)
529 (map (expandParams dec ps ns) cs)