
On Saturday 31 October 2009 10:33:10 am Joe Fredette wrote:
You'll probably need to look at associated types/functional dependencies. The former is the new hotness, the latter is the old and not-so-busted. A quick search of the wiki ought to reveal much more than I can possibly explain, there is an example on the page for Assoc. Types about generic Map implementation, which is similar to what you're trying to do.
Hmm. That looks like it will require a deeper dive into the theory than I want to make right now. I don't yet understand what a kind is yet, much less how to write an appropriate kind signature. It appears to be a somewhat disconcerting fact that learning Haskell requires reading original research papers on type theory and lambda calculus. I suppose I need to get over my reluctance and dive into some of that -- but I lack the big slabs of time needed to immerse myself in it enough to make useful progress. Learning Haskell appears to be something one should do as a college student :-) Shawn.