on master help sign in
stripLinear needs to check dependent pairs
41711c7Edwin Brady
src/Idris/AbsSyntax.hs+4
@@ -1714,6 +1714,10 @@ stripLinear i tm = evalState (sl tm) [] where
1714 return (a' : as')
1714 return (a' : as')
1715 slAlts ns [] = return []
1715 slAlts ns [] = return []
1716 sl (PPair fc p l r) = do l' <- sl l; r' <- sl r; return (PPair fc p l' r')
1716 sl (PPair fc p l r) = do l' <- sl l; r' <- sl r; return (PPair fc p l' r')
1717+ sl (PDPair fc p l t r) = do l' <- sl l
1718+ t' <- sl t
1719+ r' <- sl r
1720+ return (PDPair fc p l' t' r')
1717 sl (PApp fc fn args) = do -- Just the args, fn isn't matchable as a var
1721 sl (PApp fc fn args) = do -- Just the args, fn isn't matchable as a var
1718 args' <- mapM slA args
1722 args' <- mapM slA args
1719 return $ PApp fc fn args'
1723 return $ PApp fc fn args'