[Xmonad] darcs patch: Main.hs: get rid off non-standard patter... (and 4 more)

Joachim Fasting joachim.fasting at gmail.com
Wed Jun 20 17:41:25 EDT 2007


On Wednesday 20 June 2007 20:02:45 David Roundy wrote:
> On Wed, Jun 20, 2007 at 07:45:25PM +0200, Joachim Fasting wrote:
> > 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.
>
> Or you could resubmit with my solution... I'm at work, and while I can't
> resist suggesting prettier code, I also have set a hard rule about not
> procrastinating by working on xmonad during the day.
I would resend using your nice suggestion, but it won't type-check for me.

-------------- 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/99fdeb53/attachment.bin


More information about the Xmonad mailing list