I have this piece of code:
stopDaytimeServer dts =
case dts of
DaytimeServer {streamPort = Just _, dgramPort = Just _} -> do
killServer (ss dts)
killServer (ds dts)
DaytimeServer {streamPort = Just _, dgramPort = Nothing} -> do
killServer (ss dts)
DaytimeServer {streamPort = Nothing, dgramPort = Just _} -> do
killServer (ds dts)
and I don't like it. I don't like the code repeting. It'd look good with Lips'
"when":
(define stop-daytime-serve dts
(when (stream dts)
(kill-server (ss dts)))
(when (dgram dts)
(kill-server (ds dts))))
Is there a better way to write that on Haskell ?
Thanks.
--
Pupeno