packages feed

she 0.2 → 0.3

raw patch · 3 files changed

+12/−4 lines, 3 files

Files

she.cabal view
@@ -1,5 +1,5 @@ name:               she-version:            0.2+version:            0.3 homepage:           http://personal.cis.strath.ac.uk/~conor/pub/she synopsis:           A Haskell preprocessor adding miscellaneous features description:
src/HaLay.lhs view
@@ -251,9 +251,15 @@ > tender (L _ _ ) = True > tender t = elem t [Semi, Sym "=", Sym ",", Sym "|", KW "in", KW "deriving"] +> tender' :: Tok -> Bool  -- class and instance headers ended by where or eol+> tender' (L _ _ ) = True+> tender' _ = False+ > exTyMu :: [Tok] -> Maybe [Tok] > exTyMu (t : ts)->   | elem t [Sym "::", KW "class", KW "instance"]+>   | elem t [KW "class", KW "instance"]+>   = Just $ t : u' : munge exTyMu vs'+>   | elem t [Sym "::"] >   = Just $ t : u : munge exTyMu vs >   | elem t [KW "data", KW "newtype"] >   = Just $ case vs of@@ -265,6 +271,7 @@ >       _ -> t : u : munge exTyMu vs >   where >     (u, vs) = first (T Ty . munge tyMu) (span (not . tender) ts)+>     (u', vs') = first (T Ty . munge tyMu) (span (not . tender') ts) > exTyMu _ = Nothing  > oldStyle :: [Tok] -> [Tok]
src/Superclass.lhs view
@@ -101,14 +101,15 @@ >             [NL ("Dunno.lhs", 0)]]) >          , [KW "class" : T Ty h : L "where" residue : rest]) >   where->     pHdr = (,,) <$> pCxt <* spc <*> uid <*> some (spc *> lid) <* spc+>     pHdr = (,,) <$> pCxt <* spc <*> uid <*> some (spc *> lid) <* pRest >     pCxt = some (tok (/= Sym "=>")) <* teq (Sym "=>") >           <|> [] <$ spc >     nl = nool tss >     nool [] = [] >     nool (t : _) | isNool t = t >     nool (_ : tss) = nool tss->     (filtrate, residue) = partition isInstance tss+>     filtrate = filter (\ ts -> isNool ts || isInstance ts) tss+>     residue = filter (not . isInstance) tss >     stuff = residue >>= declares >     dstuff = intercalate [Sym ",", Spc " "] (map (return . Lid) stuff) >     isInstance (KW "instance" : _) = True