diff options
| author | krasimir <krasimir@chalmers.se> | 2010-03-18 19:34:30 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2010-03-18 19:34:30 +0000 |
| commit | f870c4d80f9e1b55a18c54f8119e5ed11f9d14e1 (patch) | |
| tree | 0aaf19f5156e6f62f9f8f41732432a49aa1c64fc /src/runtime/haskell/PGF/Printer.hs | |
| parent | d91999dec0bcdbed95fe3977d89f38157389852a (diff) | |
syntax for inaccessible patterns in GF
Diffstat (limited to 'src/runtime/haskell/PGF/Printer.hs')
| -rw-r--r-- | src/runtime/haskell/PGF/Printer.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/runtime/haskell/PGF/Printer.hs b/src/runtime/haskell/PGF/Printer.hs index 353b06f86..23bdc718d 100644 --- a/src/runtime/haskell/PGF/Printer.hs +++ b/src/runtime/haskell/PGF/Printer.hs @@ -35,7 +35,8 @@ ppFun :: CId -> (Type,Int,Maybe [Equation]) -> Doc ppFun f (t,_,Just eqs) = text "fun" <+> ppCId f <+> colon <+> ppType 0 [] t $$ if null eqs then empty - else text "def" <+> vcat [let (scope,ds) = mapAccumL (ppPatt 9) [] patts + else text "def" <+> vcat [let scope = foldl pattScope [] patts + ds = map (ppPatt 9 scope) patts in ppCId f <+> hsep ds <+> char '=' <+> ppExpr 0 scope res | Equ patts res <- eqs] ppFun f (t,_,Nothing) = text "data" <+> ppCId f <+> colon <+> ppType 0 [] t |
