
On Thu, Apr 28, 2011 at 1:18 PM, Dan Doel
(Sorry if you get this twice, Ertugrul; and if I reply to top. I'm stuck with the gmail interface and I'm not used to it.)
On Thu, Apr 28, 2011 at 11:27 AM, Ertugrul Soeylemez
wrote: I don't see any problem with this. Although I usually have a bottom-up approach, so I don't do this too often, it doesn't hurt, when I have to.
I do. It's low tech and inconvenient.
Whenever I program in Haskell, I miss Agda's editing features, where I can write:
foo : Signature foo x y z = ?
Then compile the file. The ? stands in for a term of any type, and becomes a 'hole' in my code. The editing environment will then tell me what type of term I have to fill into the hole, and give me information on what is available in the scope. Then I can write:
You can simulate that with a type class. The "no instance" error substitutes for the "term". class Hole obj where hole :: obj foo :: Blah foo x y z = hole "No instance for type Blah" Presumably, you wouldn't want to make instances. I use a similar construct for monic and epic functions, since the natural ones tend to be unique enough.