[Haskell-cafe] Re: Keeping an indexed collection of values?
sebf at informatik.uni-kiel.de
Fri Aug 21 12:24:54 EDT 2009
On Aug 21, 2009, at 5:11 PM, Job Vranish wrote:
> I also added an extra phantom type parameter to the collection (and
> key) so that I can prevent keys from being used on different
> collections even if they hold elements of the same type.
I have the impression that this requires explicit type annotations
with your current solution which seems a bit tiresome. If not
instantiated to specific different types, the additional phantom types
of different collections can just be unified which does not lead to a
As you seem to implement a monadic interface, you might be able to
steal the idea of using higher-rank polymorphism (that is used in the
ST monad implementation) to ensure that the phantom types of different
collections cannot be unified. But that would probably mean to
implement your own monad that carries this phantom type too..
Underestimating the novelty of the future is a time-honored tradition.
More information about the Haskell-Cafe