diff options
| author | bjorn <bjorn@bringert.net> | 2008-10-03 07:16:39 +0000 |
|---|---|---|
| committer | bjorn <bjorn@bringert.net> | 2008-10-03 07:16:39 +0000 |
| commit | b7fe4eacc90c538a7a366c5ee6cef2c285451c47 (patch) | |
| tree | 07ebce4769eafa3bb5f65082e1d0f1f38ad7d2ba /src | |
| parent | fa69bd8ab3c82a6c7e3358db42c96919f8ce4967 (diff) | |
Handle concatenations with variants in PGF.ShowLinearize, fixes http://trac.haskell.org/gf/ticket/23
Diffstat (limited to 'src')
| -rw-r--r-- | src/PGF/ShowLinearize.hs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/PGF/ShowLinearize.hs b/src/PGF/ShowLinearize.hs index 663264d63..87538201c 100644 --- a/src/PGF/ShowLinearize.hs +++ b/src/PGF/ShowLinearize.hs @@ -48,7 +48,9 @@ mkRecord typ trm = case (typ,trm) of (S [FV ps,ty],R ts) -> RT [(str par, mkRecord ty t) | (par, t) <- zip ps ts] (_,W s (R ts)) -> mkRecord typ (R [K (KS (s ++ u)) | K (KS u) <- ts]) (FV ps, C i) -> RCon $ str $ ps !! i - (S [], _) -> RS $ str trm + (S [], _) -> case realizes trm of + [s] -> RS s + ss -> RFV $ map RS ss _ -> RS $ show trm ---- printTree trm where str = realize |
