
On Wed, Feb 20, 2008 at 07:04:33AM -0500, Brent Yorgey wrote:
Hmm... well, using 'catMaybes' doesn't do that: catMaybes [Just "abc", Nothing] --> ["abc"], but catMaybes [Just "abc", Just ""] --> ["abc", ""]. But in the end I guess you're right, since the status bar output function filters out the empty string (in particular the "sepBy" function filters out the null string). I didn't realize this before, and I wonder whether it is really the correct behavior. My intention was to allow for two different cases, one in which a logger does not want to output anything (or gives an error), and another in which the logger explicitly wants to output the empty string. For example, maybe you have a logger which only outputs something some of the time, but when it is not outputting anything you still want a blank space where it would have been. I don't know, it's not really very important either way, I guess. =)
well, I was assuming a status bar is a one line only string and so a "" is... nothing...;) I see your point: someone wanted the prompt, afair, to return a Maybe String, where a Nothing was the user exiting the prompt with Esc or so. I don't think that could be the case of a logger, though. BTW, it was Spencer who pushed me to reflect about the fact that a 'Maybe list' is usually something uselessly complicated - I used a maybe [Window] or something like that in the very first version of the prompt if I recall it correctly... Cheers, Andrea