On Tue, May 15, 2001 at 06:33:41PM +0200, Jerzy Karczmarczuk wrote:
Serge Mechveliani :
... My real intention in whole this line of business was always not just to propose a standard but rather to discuss and to find, what may be an appropriate way to program mathematics in Haskell. The matter was always in parametric domains ... Whoever tried to program real CA in Haskell, would agree that such a problem exists.
Can you be more precise what the problem is? One problem I see is that referred to in Section 3 of the paper: you really need types that depend on parameters (in particular, integer parameters). This is, indeed, a problem--currently, you have to do runtime checks. Full-fledged dependent types � la Cayenne are undecidable, but there are weaker variants that are likely to be good enough.
The point is that this seems - for various, perfectly understandable reasons - not to be the priority of the implementors. Graphics/imagery neither. Nor hard numeric work (efficient, easy to manipulate arrays).
If I understand correctly, Marcin Kowalczyk is working on exactly this last point...
Despite my extremely deep respect for all people contributing to Haskell, despite my love for the language etc. I begin to suspect that it has been standardized too early, and if we [...] want an adapted functional language, either we will have to wait quite long, or perhaps it is the time to invent another language, with a more dynamic type system, with intrinsic graphic utilities, and other goodies.
For myself, I don't see a problem here. For "intrinsic graphic utilities", someone has to write the graphic libraries. (You don't mean they should be built into the language, do you?) The type system is about as strong as anyone knows how to make a static type system; and it's not too hard to fall back on run-time type checking when necessary (as Sergey does in BAL).
Anyway, Sergey did a formidable work, and this should be acknowledged even by those who on this list criticized his presentation. Thanks.
Yes, absolutely. I think perhaps some things could be done better (for instance, I see that all Sergey's classes derive from Eq, which is one of my principal complaints with the Haskell 98 classes), but I appreciate the work and want to study it more. Best, Dylan Thurston