John Peterson writes:
OK - let's get operational!
My man! You know, I *like* formal methods and equational reasoning; I
just can't get my mind to "do the right thing" in all cases. When
reasoning about correctness, I do OK; however, type checking and the
like inevitably find me descendin
OK - let's get operational! Dave's choices are:
1) Build the resolution dictionary using the context of Module Two
(the point of declaration)
2) Build the resolution dictionary using the context of Module Three
(the point of use).
While Dave is on the right track, neither of these choices
Puzzled, once again. I think I reason too operationally about these
things. It's a curse brought on by being brain-damaged by Basic
programming at an early age.
John Peterson writes:
The issue is at what point is the overloading of trouble, which would
be typed as
trouble :: Problem
To re-address Phil's example for Dave Barton and others confused by
overloading:
module One (Problematic)
class Problematic a where
difficult :: a -> a
module Two (trouble)
imports One (Problematic)
instance Problematic Int