mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-26 11:18:55 -06:00
Remove old commented code
This commit is contained in:
@@ -234,56 +234,6 @@ mkCanon2lpgf opts gr am = do
|
|||||||
_ -> Nothing
|
_ -> Nothing
|
||||||
return (L.Tuple (map fst ts), typ)
|
return (L.Tuple (map fst ts), typ)
|
||||||
|
|
||||||
{-
|
|
||||||
C.TableValue lt trvs | isRecordType lt -> go trvs
|
|
||||||
where
|
|
||||||
go :: [C.TableRowValue] -> Either String (L.LinFun, Maybe C.LinType)
|
|
||||||
go [C.TableRow _ lv] = val2lin lv
|
|
||||||
go trvs = do
|
|
||||||
let grps = flip L.groupBy trvs $ \tr1 tr2 ->
|
|
||||||
let
|
|
||||||
C.TableRow (C.RecordPattern (C.RecordRow lid1 (C.ParamPattern (C.Param pid1 _)):_)) _ = tr1
|
|
||||||
C.TableRow (C.RecordPattern (C.RecordRow lid2 (C.ParamPattern (C.Param pid2 _)):_)) _ = tr2
|
|
||||||
in lid1 == lid2 && pid1 == pid2
|
|
||||||
ts <- forM grps $ \grp ->
|
|
||||||
go =<< forM grp (\row ->
|
|
||||||
case row of
|
|
||||||
C.TableRow (C.RecordPattern []) lv -> return row
|
|
||||||
C.TableRow (C.RecordPattern (C.RecordRow _ (C.ParamPattern (C.Param _ [])):rrs)) lv -> return $ C.TableRow (C.RecordPattern rrs) lv
|
|
||||||
C.TableRow (C.RecordPattern rrs) lv -> return $ C.TableRow (C.RecordPattern rrs') lv
|
|
||||||
where
|
|
||||||
C.RecordRow lid (C.ParamPattern (C.Param pid patts)) = head rrs
|
|
||||||
C.ParamPattern (C.Param pid2 patts2) = head patts
|
|
||||||
rrs' = C.RecordRow lid (C.ParamPattern (C.Param pid2 (patts2 ++ tail patts))) : tail rrs
|
|
||||||
_ -> Left $ printf "Unhandled table row: %s" (show row)
|
|
||||||
)
|
|
||||||
let typ = case ts of
|
|
||||||
(_, Just tst):_ -> Just $ C.TableType lt tst
|
|
||||||
_ -> Nothing
|
|
||||||
return (L.Tuple (map fst ts), typ)
|
|
||||||
|
|
||||||
C.TableValue lt trvs | isParamType lt -> go trvs
|
|
||||||
where
|
|
||||||
go :: [C.TableRowValue] -> Either String (L.LinFun, Maybe C.LinType)
|
|
||||||
go [C.TableRow _ lv] = val2lin lv
|
|
||||||
go trvs = do
|
|
||||||
let grps = L.groupBy (\(C.TableRow (C.ParamPattern (C.Param pid1 _)) _) (C.TableRow (C.ParamPattern (C.Param pid2 _)) _) -> pid1 == pid2) trvs
|
|
||||||
ts <- forM grps $ \grp ->
|
|
||||||
go =<< forM grp (\row ->
|
|
||||||
case row of
|
|
||||||
C.TableRow (C.ParamPattern (C.Param _ [])) lv -> return row
|
|
||||||
C.TableRow (C.ParamPattern (C.Param _ patts)) lv -> return $ C.TableRow (C.ParamPattern (C.Param pid' patts')) lv
|
|
||||||
where
|
|
||||||
C.ParamPattern (C.Param pid1 patts1) = head patts
|
|
||||||
pid' = pid1
|
|
||||||
patts' = patts1 ++ tail patts
|
|
||||||
_ -> Left $ printf "Unhandled table row: %s" (show row)
|
|
||||||
)
|
|
||||||
let typ = case ts of
|
|
||||||
(_, Just tst):_ -> Just $ C.TableType lt tst
|
|
||||||
_ -> Nothing
|
|
||||||
return (L.Tuple (map fst ts), typ)
|
|
||||||
-}
|
|
||||||
-- TODO TuplePattern, WildPattern?
|
-- TODO TuplePattern, WildPattern?
|
||||||
|
|
||||||
C.TupleValue lvs -> do
|
C.TupleValue lvs -> do
|
||||||
|
|||||||
Reference in New Issue
Block a user