Converting number base

base-conversion, haskell

Solution

Using the digits package from Hackage:

import Data.Digits (digits, unDigits)

convertBase :: Integral a => a -> a -> [a] -> [a]
convertBase from to = digits to . unDigits from

You can add a `fromIntegral` in there if you need the input and output types to be different. Also, the `Integral` constraint makes more sense than `Num`, since you probably don't want to deal with complex or floating-point digits.

Problem

Is there a platform function that will do the following? ``` convertBase :: (Num a, Num b) => Int -> Int -> [a] -> [b] ``` Convert a number from base 'a' to base 'b' where each list item is a digit in the number. for example: ``` convertBase 2 10 [1,1,0,1] = [1, 3] ``` I hope that makes sense, let me know if i can clear anything up

Original source