[Xmonad] darcs patch: Main.hs: get rid off non-standard patter...
(and 4 more)
Joachim Fasting
joachim.fasting at gmail.com
Wed Jun 20 13:45:25 EDT 2007
On Wednesday 20 June 2007 19:39:17 David Roundy wrote:
> On Wed, Jun 20, 2007 at 07:29:46PM +0200, joachim.fasting at gmail.com wrote:
> > [Main.hs: get rid off non-standard pattern guards.
> > joachim.fasting at gmail.com**20070618222530
> > Use nested case statements when creating the winset binding.
> > Looks _really_ ugly, compared to the original, and adds 3 loc.
> > ] {
> > hunk ./Main.hs 53
> > - let winset | ("--resume" : s : _) <- args
> > - , [(x, "")] <- reads s = x
> > - | otherwise = new [0..fromIntegral workspaces-1]
> > (fromIntegral $ length xinesc) + let defaultWinset = new
> > [0..fromIntegral workspaces-1] (fromIntegral $ length xinesc) +
> > winset = case args of
> > + ("--resume" : s : _) -> case reads s of
> > + [(x, [])] -> x
> > + _ -> defaultWinset
> > + _ -> defaultWinset
>
> This could be prettier with
>
> let winset = maybe (new [0..fromIntegral workspaces-1] (fromIntegral $
> length xinesc)) id $ do ("--resume" : s : _) <- args
> [(x, "")] <- reads s
> return x
>
> which I think is closer to what the pattern guards desugar to.
>
Your solution is way better than mine. Please pretend like I never sent this
patch.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://www.haskell.org/pipermail/xmonad/attachments/20070620/f2793311/attachment.bin
More information about the Xmonad
mailing list