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
-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)
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
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
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) == "[]"
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
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
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
| > 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
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
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
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 ([] ::
> 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
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
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
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
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
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
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
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
| 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
21 matches
Mail list logo