a universal printer for Haskell?

Ashley Yakeley ashley@semantic.org
Tue, 19 Feb 2002 21:18:47 -0800


At 2002-02-19 20:50, Eray Ozkural wrote:

>> It's ugly, and isn't part of the spirit of the language.
>
>The above statement cannot be a basis for any argument against Bernard's 
>proposal. 

It's an aesthetic argument that hopes for an aesthetic consensus among 
Haskell users (which may or may not exist).

...
>Since you are defining the spirit of the language, 

Oh no, spirit cannot be defined, only suggested.

...
>A general concept such as reflection cannot be deemed as worthless in 
>itself. 

It might reasonably be considered inappropriate to Haskell. Reflection 
may be useful for debugging, so I would not call it worthless. I consider 
reflection such as Generics to be in more or less the same aesthetic 
category as unsafe IO functions -- something to be generally avoided but 
perhaps useful in certain limited contexts such as debugging. I don't use 
Generics or unsafe-anything in my Haskell software. I _do_ occasionally 
use the 'deriving' construct, which is strictly speaking reflection 
though I think a relatively harmless form.

What I would hate to see is widespread use of reflection in general 
programs. It rather seems to miss the point of Haskell's type system.

>Any system that has a tiny bit of introspective powers can be said to be 
>reflective to some extent, for instance a Haskell interpreter.

That's fine, but I don't include a Haskell interpreter in my compiled 
Haskell programs. And I don't want other people peeking inside my types 
at run-time.

-- 
Ashley Yakeley, Seattle WA