From 0c98bca174b58ac2a42d3e786ca03907c9654bb8 Mon Sep 17 00:00:00 2001 From: crumbtoo Date: Tue, 6 Feb 2024 11:04:17 -0700 Subject: [PATCH] expandableAlt --- src/Rlp2Core.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Rlp2Core.hs b/src/Rlp2Core.hs index c0a59e8..ee9e0e0 100644 --- a/src/Rlp2Core.hs +++ b/src/Rlp2Core.hs @@ -74,13 +74,13 @@ exprToCore (CaseE e as) = undefined -- Just (ConP "C" [Located (SrcSpan 0 0 0 0) (VarP "p"),Located (SrcSpan 0 0 0 0) (VarP "name")],ConP "P" [],VarE' () "e") expandableAlt :: IdP RlpcPs -> Alt RlpcPs -> Maybe (Pat RlpcPs, Pat RlpcPs, RlpExpr RlpcPs) -expandableAlt n (AltA c@(ConP'' cn as) e) = do - p <- nestedPat - let c' = ConP cn as' - pure (c', p, extract e) +expandableAlt n (AltA c@(ConP'' cn as) e) = + nestedPat <&> (c', , extract e) where l :: Lens' [Pat RlpcPs] (Maybe (Pat RlpcPs)) l = atFound (has _ConP) + + c' = ConP cn as' nestedPat = (unXRec <$> as) ^. l as' = (unXRec <$> as) & l ?~ VarP n & fmap nolo