-- | An architecture independent description of a register's class.moduleRegClass(RegClass(..))whereimportOutputableimportUnique-- | The class of a register. -- Used in the register allocator.-- We treat all registers in a class as being interchangable.--dataRegClass=RcInteger|RcFloat|RcDoublederivingEqinstanceUniquableRegClasswheregetUniqueRcInteger=mkUnique'L'0getUniqueRcFloat=mkUnique'L'1getUniqueRcDouble=mkUnique'L'2instanceOutputableRegClasswherepprRcInteger=Outputable.text"I"pprRcFloat=Outputable.text"F"pprRcDouble=Outputable.text"D"