Is a second order type one whose instances (values?) are ordinary types?<br />Are kinds *->* second order types?<br />Is Species without the argument a second order type?<br />But with the argument Species is a first order type?<br />Thanks,<br />Pat<br />-- Elephant and Dog types<br />data Elephant = Elephant deriving Show<br />data Dog = Dog deriving Show<br /><br />-- The LHS "Species a" is a type constructor?<br />data Species a = Species a deriving Show<br /><br />-- is-a means “Dog is a species” rather than “Fido is a dog” <br />class Taxonomy f where<br /> isA::f a -> a<br /> <br />instance Taxonomy Species where<br /> isA (Species x) = x<br />{-<br />isA (Species Elephant) <br />isA (Species Dog)<br />:t Species Dog ===> Species Dog :: Species Dog<br />:k Species Dog ===> Species Dog :: *<br />:k Species ===> Species :: * -> *<br />((isA (Species Elephant))::Species) ===> Expecting an ordinary type, but found a type of kind * -> *<br />-}<br /><br />
<br clear=all> Tá an teachtaireacht seo scanta ó thaobh ábhar agus víreas ag Seirbhís Scanta Ríomhphost de chuid Seirbhísí Faisnéise, ITBÁC agus meastar í a bheith slán. <a href="http://www.dit.ie">http://www.dit.ie</a><br>
This message has been scanned for content and viruses by the DIT Information Services E-Mail Scanning Service, and is believed to be clean. <a href="http://www.dit.ie">http://www.dit.ie</a>