
20 Feb
2016
20 Feb
'16
7:18 a.m.
Jeffrey Brown
After further study I believe existentials are not (at least alone) enough to solve the problem. .. getInt :: ShowBox -> Int getInt (SB i) = i
will not compile, because it cannot infer that i is an Int:
You take a value of an existentially quantified type (which means it can be anything at all, absent some extra context) and *proclaim* it is an integer. On what grounds should the compiler accept your optimistic restriction? -- с уважениeм / respectfully, Косырев Сергей