tag:blogger.com,1999:blog-21123659.post113970339831925556..comments2023-05-03T09:30:17.042+02:00Comments on koweycode: dateparserkoweyhttp://www.blogger.com/profile/11175806459477851520noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-21123659.post-1140479716489218012006-02-21T00:55:00.000+01:002006-02-21T00:55:00.000+01:00Answered my own question: matcher `liftM` now >>= ...Answered my own question: matcher `liftM` now >>= (`seq` return matcher)koweyhttps://www.blogger.com/profile/11175806459477851520noreply@blogger.comtag:blogger.com,1999:blog-21123659.post-1140479210316803252006-02-21T00:46:00.000+01:002006-02-21T00:46:00.000+01:00Indeed. Using seq lets me write something a bit n...Indeed. Using seq lets me write something a bit nicer: matcher `liftM` now >>= \x -> x `seq` return matcher<BR/><BR/>Can you think of an even better way to express this? I'm thinking maybe something like foo `seqbind` bar = foo >>= \x -> x `seq` bar<BR/><BR/>But maybe that's redundant with something simpler and more elegant.koweyhttps://www.blogger.com/profile/11175806459477851520noreply@blogger.comtag:blogger.com,1999:blog-21123659.post-1140477064396010982006-02-21T00:11:00.000+01:002006-02-21T00:11:00.000+01:00You can use seq to force evaluation. For example x...You can use seq to force evaluation. For example x `seq` y evaluates x and returns y.Anonymousnoreply@blogger.com