On Fri, Jan 4, 2013 at 7:27 PM, David Thomas <[email protected]>wrote:
> Well, "hidden" - it *is* right there in the type signature still, it just > doesn't *look* like an argument. > If you squint hard enough, (=>) looks like (->). Or maybe the other way round. Whatever. :) > It also might be optimized away in static cases (certainly, it *could* > happen, whether does or is even worthwhile is another question). > The optimization at stake is specialization. Given (Num a => a), specialize it to Int or Double or X so that it's memoizably first-class, which is where functions still fall down [1]. All functions are values but data values still play nicer than others. Isn't fixing this the real cure for the monomorphism restriction? [1] http://lukepalmer.wordpress.com/2009/07/07/emphasizing-specialization/#comment-862 -- Kim-Ee
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
