Re: Strange error in show for datatype

2001-10-04 Thread Thomas Hallgren
Olaf Chitil wrote: >Anyway, I find all these suggestions about occurrence and variance of >type variables rather complicated. > As I suspected, some people are afraid of subtypes :-) But variances are not that difficult to compute. For example, it is part of the O'Haskell type system, which is

Re: announce: PARSEC

2001-10-04 Thread exa
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Thursday 04 October 2001 03:00 pm, Daan Leijen wrote: > I am pleased to announce a new release of > PARSEC, a fast monadic parser library for Haskell. Keep up the good work. PARSEC was a refreshing change for me. Thanks, - -- Eray Ozkural (exa)

Re: Unicode support

2001-10-04 Thread Wolfgang Jeltsch
On Sunday, 30 September 2001 20:01, John Meacham wrote: > sorry for the me too post, but this has been a major pet peeve of mine > for a long time. 16 bit unicode should be gotten rid of, being the worst > of both worlds, non backwards compatable with ascii, endianness issues > and no constant len

Re: Haskell 98 Report: October release

2001-10-04 Thread Christian Sievers
Simon Peyton-Jones wrote: > Feedback please... One typo: In the change for Page 93, Appendix A, Standard Prelude the comment should not talk about a "fixtity declaration". ^ Bye Christian Sievers ___ Haske

Re: Strange error in show for datatype

2001-10-04 Thread Marcin 'Qrczak' Kowalczyk
Thu, 4 Oct 2001 06:05:16 -0700, Simon Peyton-Jones <[EMAIL PROTECTED]> pisze: > data T a = T1 Int | T2 a > > It's clear that (T1 Int) has no a's in it, not even bottom. instance Show a => Show (T a) where show x = show (tail [case x of T2 y -> y]) We have show (T1 0 :: T Int) == "[]"

Re: Strange error in show for datatype

2001-10-04 Thread Marcin 'Qrczak' Kowalczyk
Thu, 4 Oct 2001 14:29:43 +0100, Ross Paterson <[EMAIL PROTECTED]> pisze: > So this extension adds something we already have in Haskell 98, with either > > newtype Void = Void Void > ordata Void = Void !Void Theoretically yes, but this introduces a warning that the data constructor Voi

Re: Strange error in show for datatype

2001-10-04 Thread Ross Paterson
On Thu, Oct 04, 2001 at 09:23:10AM +, Marcin 'Qrczak' Kowalczyk wrote: > Thu, 4 Oct 2001 00:36:55 -0700, Simon Peyton-Jones <[EMAIL PROTECTED]> pisze: > > Void was a type with one element. What we really want here is > > a type with no elements. It's also useful to be able to introduce > > s

Re: Strange error in show for datatype

2001-10-04 Thread Daan Leijen
Simon Peyton-Jones wrote: > Consider: > > data T a = T1 Int | T2 a > > It's clear that (T1 Int) has no a's in it, not even bottom. Mark Shields > and ruminated in the corridor about a kind system to make this apparent. > That is, T1 would have type > > T1 :: forall a::Pure . Int -> T a > > T

RE: Strange error in show for datatype

2001-10-04 Thread Simon Peyton-Jones
| > My claim was that | > | > forall a. Show a => T | > | > could be implemented by passing a bottom dictionary for Show. | | Excuse me, but Jan-Willem Maessen has already shown that this | implementation can give unexpected results. Yes, I was quite wrong about that. How embarassin

Re: Strange error in show for datatype

2001-10-04 Thread Daan Leijen
Koen Cleassen wrote: > Indeed. And this is a perfect example of the fact that all > this bottom-dictionary passing does not work. The type of > the list still matters though: > > Hugs> show ([] :: [Char]) > "\"\"" > > Hugs> show ([] :: [Int]) > "[]" Koen is absolutely right. A fundamenta

announce: PARSEC

2001-10-04 Thread Daan Leijen
I am pleased to announce a new release of PARSEC, a fast monadic parser library for Haskell.   The PARSEC library is written for practice and usessome novel techniques to improve its speed and to give good error messages. It ships with extensive support libraries and documentation. PARSEC is

Re: Strange error in show for datatype

2001-10-04 Thread Koen Claessen
Olaf Chitil wrote: | Admittedly, many Haskell beginners fall into the `show | []' trap. Indeed. And this is a perfect example of the fact that all this bottom-dictionary passing does not work. The type of the list still matters though: Hugs> show ([] :: [Char]) "\"\"" Hugs> show ([] ::

Re: Strange error in show for datatype

2001-10-04 Thread Olaf Chitil
> My claim was that > > forall a. Show a => T > > could be implemented by passing a bottom dictionary for Show. Excuse me, but Jan-Willem Maessen has already shown that this implementation can give unexpected results. A simple example: instance Show MyType where shows _ = ("elemen

Lexical syntax and context free grammar in report

2001-10-04 Thread Ian Lynagh
I've just looked at the revised lexical syntax and qop is a production of lexeme, but qop is still defined in the context free grammar rather than the lexical syntax. Also, in the context free grammar, the last production for aexp is aexp_{qcon} { fbind1 , ... , fbindn } but I believe should

Re: Strange error in show for datatype

2001-10-04 Thread Marcin 'Qrczak' Kowalczyk
Thu, 4 Oct 2001 00:36:55 -0700, Simon Peyton-Jones <[EMAIL PROTECTED]> pisze: > Void was a type with one element. What we really want here is > a type with no elements. It's also useful to be able to introduce > such empty types for phantom-type purposes, so GHC now lets you say > > data

Re: H98: specialids and specialops

2001-10-04 Thread Dylan Thurston
On Thu, Oct 04, 2001 at 01:08:03AM -0700, Simon Peyton-Jones wrote: > 2. Instead, add the following paragraph to 5.3 (Import declarations) > > "Lexically speaking, the terminal symbols ``as'', ``qualified'' and > ``hiding'' are each a varid rather than a reservedid. They have > special signific

Re: Strange error in show for datatype

2001-10-04 Thread Dylan Thurston
On Thu, Oct 04, 2001 at 12:36:55AM -0700, Simon Peyton-Jones wrote: > So in fact, all we need do is: > for each class, find the variance of each of its parameters > in an ambiguous type, zap any positive parameters to Empty > > That sounds pretty easy. We don't need Haskell 2 for tha

Re: Strange error in show for datatype

2001-10-04 Thread Dylan Thurston
On Wed, Oct 03, 2001 at 11:52:30AM -0400, Jan-Willem Maessen wrote: > Earlier, Simon says: > > Indeed, if none of the classes have a method that returns > > an a-value without also consuming one (urk-- strictly, I think, sigh) > > then the same holds. > > Strictness alas matters. Here's the witn

H98: specialids and specialops

2001-10-04 Thread Simon Peyton-Jones
Folks, George Russell and Wolfram Karl have both noticed that 'specialid' and 'specialop' are defined in the H98 syntax, but never used. Having looked at it, I propose to 1. Remove all references to 'specialid' and 'specialop' 2. Instead, add the following paragraph to 5.3 (Import declarat

Empty Datatypes

2001-10-04 Thread Ashley Yakeley
At 2001-10-04 00:36, Simon Peyton-Jones wrote: >It's also useful to be able to introduce >such empty types for phantom-type purposes, so GHC now lets you say > > data T > >and get a type T with no values. Yay! One more thing to cross off my [GHC] Haskell wish-list. Is this working in 5.02

RE: Strange error in show for datatype

2001-10-04 Thread Simon Peyton-Jones
| So, obviously, the next version of Haskell should have a type system | with subtyping, don't you agree? :-) It's always delightful to find that some awkward fumbling has been Done Properly by someone else earlier. My claim was that forall a. Show a => T could be implemented by pass