Haskell 简化do符号

Haskell 简化do符号,haskell,Haskell,我试图对时间字符串执行非常简单的解析 data Time=Time Int字符串 --示例输入:07:00:00AM 时间分析器::分析器时间 timeParser=do hh因为您的解析器也应该是以下内容的实例: timeParser::解析器时间 timeParser=Time(digits通过简单地抛出冒号的结果,函数的缩短版本(仍然使用do表示法)可能如下所示: timeParser :: Parser Time timeParser = do hh <- d

我试图对时间字符串执行非常简单的解析

data Time=Time Int字符串
--示例输入:07:00:00AM
时间分析器::分析器时间
timeParser=do

hh因为您的
解析器
也应该是以下内容的实例:

timeParser::解析器时间

timeParser=Time(digits通过简单地抛出
冒号的结果
,函数的缩短版本(仍然使用do表示法)可能如下所示:

timeParser :: Parser Time
timeParser = do
  hh <-          digits
  mm <- colon >> digits
  ss <- colon >> digits
  p  <- period
  return $ Time hh mm ss p
timeParser::解析器时间
timeParser=do
hh数字
ss>数字

P:你认为“更简单”是什么?“JWODDER,我想我正在寻找一个组合的PARSSESY谢谢你。正是我所期待的,谢谢。这也很棒。
timeParser :: Parser Time
timeParser = do
  hh <-          digits
  mm <- colon >> digits
  ss <- colon >> digits
  p  <- period
  return $ Time hh mm ss p