А мужики то и не знали
Aug. 11th, 2013 06:10 pmОказывается в Хаскеле давным давно есть полноценный полиморфизм как в объектных языках. Стал разбираться с ixset и обнаружил. А я-то мучился, как без виртуальных функций жить:
{-# LANGUAGE ExistentialQuantification, StandaloneDeriving #-}
module Main where
data Polymorph = forall b . (Show b) => Polymorph b
deriving instance Show Polymorph
main = do
let polymorph = [Polymorph "String", Polymorph (1::Int), Polymorph (0.5::Double)]
putStrLn $ show polymorph