16 lines
598 B
Haskell
16 lines
598 B
Haskell
-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }
|
|
parserCompactLocation =
|
|
[ try
|
|
$ [ ParseRelAbs (Text.Read.read digits) _ _
|
|
| digits <- many1 digit
|
|
, rel1 :: Maybe (Either Int (Ratio Int)) <- optionMaybe
|
|
[ case divPart of
|
|
Nothing -> Left $ Text.Read.read digits
|
|
Just ddigits ->
|
|
Right $ Text.Read.read digits % Text.Read.read ddigits
|
|
| digits <- many1 digit
|
|
, divPart <- optionMaybe (string "/" *> many1 digit)
|
|
]
|
|
]
|
|
]
|