Range expansion: Difference between revisions
m
→Haskell :: With a parser: Pruned some imports which are no longer needed.
MaiconSoft (talk | contribs) (Added Delphi example) |
m (→Haskell :: With a parser: Pruned some imports which are no longer needed.) |
||
Line 1,824:
<lang haskell>{-# LANGUAGE FlexibleContexts #-}
import Text.Parsec
expandRange :: String -> Maybe [Int]
expandRange =
either
(const Nothing)
Just
. parse rangeParser ""
rangeParser ::
rangeParser = concat <$> (item `sepBy` char ',')
where
Line 1,839 ⟶ 1,842:
n2 <- option n1 (char '-' *> num)
return [n1 .. n2]
num =
<*> many1 digit
dot = (.) . (.)
|