[Haskell-cafe] Useful: putCharLn {inspire by the Int->[Char] thread

Shao Chih Kuo sck04u at cs.nott.ac.uk
Mon Aug 21 15:20:51 EDT 2006

This might be easier:

Prelude> putStrLn $ return $ head "this and that"

Gene A wrote:
> The thread on the use of "show" and print to display an Int value,
> brought up a problem I had early on... the one of cleanly displaying a
> Char value, on a line all by itself.. My first attempts:
> This was just plain hard to read: with the character t being where it 
> was:
> Prelude> putChar $ head "this and that"
> tPrelude>
> -----------------------
> So I tried this and of course ... type mismatch:
> Prelude> putStrLn $ head "this and that"
> <interactive>:1:16:
>    Couldn't match `String' against `Char'
>      Expected type: [String]
>      Inferred type: [Char]
>    In the first argument of `head', namely `"this and that"'
>    In the second argument of `($)', namely `head "this and that"'
> ----------------------
> So I did this... to manually turn it to a string and it does work, but
> a little cumbersome to work into other function calls:
> Prelude> putStrLn $ (head "this and that"):[]
> t
> -------------
> so the definition of putCharLn came to life {may be in some library 
> already
> and I just haven't found it yet.. but it is in my toolbox now}:
> Prelude> let putCharLn c = putStrLn (c:[])
> Prelude>
> and an application of it:
> Prelude> putCharLn $ head "this and that"
> t
> ---------------
> now I also have the char to string conversion alone:
> c2Str c = c:[]
> Prelude> let c2Str c = c:[]
> Prelude> c2Str 'A'
> "A"
> ------------------
> Now this is almost too trivial a thing to mention these gizmos...
> what with all the monadic constructions that greater minds  toss
> about on this list.. and I am trying to get understanding of that
> still, but ....
> sometimes we just accept the unacceptable little irritants
> rather than just code a solution, no matter how simple it is.
> There are probably troves of simple workarounds out there
> that seem too trivial to mention but hey, share 'em...
> might hit a guy like me that says. "now why didn't I think to do that?"
> happy days,
> gene
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe

More information about the Haskell-Cafe mailing list