[Haskell-cafe] Function to cast types
Richard O'Keefe
ok at cs.otago.ac.nz
Mon Mar 23 17:40:17 EDT 2009
On 23 Mar 2009, at 2:20 am, Anonymous Anonymous wrote:
> Hello,
>
> I'm new to haskell, I'm wondering how can you write a function that
> will do the following:
>
> fromIntToString :: Int -> String
>
> this is a cast function to cast an Int to a String.
It cannot be. What could it possibly mean to "cast" an Int
to anything, let alone a string? Haskell isn't C. (Nor is
it PL/I.)
What to do depends on what you _want_ to do. For example,
fromIntToString n = replicate n 'I'
will convert 1 to "I", 2 to "II", 3 to "III", and so on.
Assuming that you mean that you want a decimal representation
of the integer, Read The Fine Manual to find out what 'show'
will do.
This may well be a homework question, in which case consider:
you want to construct an element of a recursively defined
data type (list of character).
do you *have* a recursively defined data type to start from?
If you first distinguish between negative and non-negative
integers, do you have a recursively defined data type then?
How could you use `div` and `mod` to treat non-negative
integers _as if_ they formed a recursively defined data type?
What would the base case be? What would the step case be?
More information about the Haskell-Cafe
mailing list