diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2012-02-28 08:10:47 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2012-02-28 08:10:47 +0000 |
| commit | eb4bfb008e30f8c5f575116e44821dc7cb800201 (patch) | |
| tree | 86be2b6a8e5893c83c9eb287a0c0feeb6daf83c2 /src/compiler | |
| parent | d560a2aa79d1683c5cc0d85116f0c8b47698d3b9 (diff) | |
buf fix in the compiler for HOAS
Diffstat (limited to 'src/compiler')
| -rw-r--r-- | src/compiler/GF/Compile/GeneratePMCFG.hs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/compiler/GF/Compile/GeneratePMCFG.hs b/src/compiler/GF/Compile/GeneratePMCFG.hs index 4e008cdf7..175246a52 100644 --- a/src/compiler/GF/Compile/GeneratePMCFG.hs +++ b/src/compiler/GF/Compile/GeneratePMCFG.hs @@ -275,8 +275,11 @@ catFactor (PFCat _ f _) = f computeCatRange gr lincat = compute (0,1) lincat where - compute st (RecType rs) = let (st',rs') = List.mapAccumL (\st (lbl,t) -> let (st',t') = compute st t - in (st',(lbl,Identity t'))) st rs + compute st (RecType rs) = let (st',rs') = List.mapAccumL (\st (lbl,t) -> case lbl of + LVar _ -> let (st',t') = compute st t + in (st ,(lbl,Identity t')) + _ -> let (st',t') = compute st t + in (st',(lbl,Identity t'))) st rs in (st',CRec rs') compute st (Table pt vt) = let vs = err error id (allParamValues gr pt) (st',cs') = List.mapAccumL (\st v -> let (st',vt') = compute st vt |
