[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"
t
Prelude>
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