31 lines
806 B
JavaScript
31 lines
806 B
JavaScript
(() => {
|
|
|
|
// showIntAtBase_ :: // Int -> Int -> String
|
|
const showIntAtBase_ = (base, n) => (n)
|
|
.toString(base);
|
|
|
|
// showBin :: Int -> String
|
|
const showBin = n => showIntAtBase_(2, n);
|
|
|
|
// GENERIC FUNCTIONS FOR TEST ---------------------------------------------
|
|
|
|
// intercalate :: String -> [a] -> String
|
|
const intercalate = (s, xs) => xs.join(s);
|
|
|
|
// map :: (a -> b) -> [a] -> [b]
|
|
const map = (f, xs) => xs.map(f);
|
|
|
|
// unlines :: [String] -> String
|
|
const unlines = xs => xs.join('\n');
|
|
|
|
// show :: a -> String
|
|
const show = x => JSON.stringify(x);
|
|
|
|
// TEST -------------------------------------------------------------------
|
|
|
|
return unlines(map(
|
|
n => intercalate(' -> ', [show(n), showBin(n)]),
|
|
[5, 50, 9000]
|
|
));
|
|
})();
|