Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Marcin 'Qrczak' Kowalczyk
Fri, 19 May 2000 19:47:38 +0200, Iavor Diatchki <[EMAIL PROTECTED]> pisze: > i do not see the need for the "forall" quantifier to be written > explicitly however, It is needed when the quantifier is inside a function argument, to spell the difference between f1 :: forall a. ([a] -> [a]) -> [

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Jan Brosius
>From: Peter Douglass <[EMAIL PROTECTED]> >To: 'Jan Brosius' <[EMAIL PROTECTED]>; Frank Atanassow <[EMAIL PROTECTED]> >Cc: <[EMAIL PROTECTED]> >Sent: Friday, May 19, 2000 6:03 PM >Subject: RE: more detailed explanation about forall in Haskell

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Iavor Diatchki
hello, i have been following the evolution of haskell for about 2 years now in my spare time, but haven't had time to really get into haskell programming. so i am not an expert or anything. i do not see the need for the "forall" quantifier to be written explicitly however, and i quite like the wa

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Marcin 'Qrczak' Kowalczyk
Fri, 19 May 2000 14:48:24 +0200, Jan Brosius <[EMAIL PROTECTED]> pisze: > On the other hand someone's remark and about the meaning Haskell gives to > these two types and I wonder since today if one means by a -> a a type > indication to be understood as a function having this type signature

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Keith Wansbrough
Peter Hancock writes: [..] > Please guys, you are making clowns of yourselves. Amen to that! I've just added the above subject line to my kill file, rather than stop reading the Haskell list altogether. --KW 8-) -- : Keith Wansbrough, MSc, BSc(Hons) (Auckland) ---: : PhD St

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Peter Hancock
This is getting hysterically funny: > *Jan Brosius writes: > * > > > I must put this in the good way; > * > > > > * > > > [forall x . alpha(x)] => alpha(x) is True > * > > > * > > Yes, by instantiation. > * > > * > I disagree. > *You disagree with my agre

RE: more detailed explanation about forall in Haskell

2000-05-19 Thread Peter Douglass
Jan Brosius wrote: > look at this example: > > alpha(x) == x is_an Integer => x^2 > -1 > > this is an example of a formula that is true > > *If you want to come up with your own logic, where alpha(x) > is equivalent to > *forall x. alpha(x), then that's fine. > > No, i

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Lennart Augustsson
> As Mark Jones has allready said this thread should end or come to a > conclusion. Unfortunately he said more than that . He said that the > discussion was all about the difference a -> a and forall a. a -> a . And > that's not > true . One only has to read the first 2 or 4 emails about this

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Jan Brosius
59 PM *Subject: Re: more detailed explanation about forall in Haskell *Jan Brosius writes: * > > > I must put this in the good way; * > > > * > > > [forall x . alpha(x)] => alpha(x) is True * > > * > > Yes, by instantiation. * > * > I disagree. *

RE: more detailed explanation about forall in Haskell

2000-05-19 Thread Peter Douglass
Frank Atanassow wrote: > However, I think maybe it has demonstrated that the implicit > forall'ing in > Haskell can be confusing in practice. In particular, it makes > it hard to talk > unambiguously about types of non-top-level definitions/terms. I'm sure this pot has been stirred up enough

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Jan Brosius
|From: Lennart Augustsson <[EMAIL PROTECTED]> |To: Jan Brosius <[EMAIL PROTECTED]> |Cc: Frank Atanassow <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> |Sent: Friday, May 19, 2000 12:07 PM |Subject: Re: more detailed explanation about forall in Haskell > Jan Brosius wrote

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Claus Reinke
> Please could somebody post a short, plain text summary of the discussion > in this thread? The recent exchanges have been long and involved, which > has made it impossible for me (and other busy onlookers too, I suspect) > to keep up. Without such a summary, I think that this thread may be > r

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Lars Lundgren
On 19 May 2000, Ketil Malde wrote: > Frank Atanassow <[EMAIL PROTECTED]> writes: > > > I agree, and I think it's hopeless. This is my last message to the Haskell > > list on the subject. There is nothing Haskell-specific any longer about this > > discussion. > > Uh, I feel I'm a bit of a hobbyi

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Frank Atanassow
There is a good introduction by Cardelli and Wegner: Luca Cardelli and Peter Wegner. On understanding types, data abstraction, and polymorphism. Computing Surveys, 17(4):471-522, 1985. available from Cardelli's page at http://research.microsoft.com/Users/luca/Papers/OnUnderstanding.A4.ps

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Ketil Malde
Frank Atanassow <[EMAIL PROTECTED]> writes: > I agree, and I think it's hopeless. This is my last message to the Haskell > list on the subject. There is nothing Haskell-specific any longer about this > discussion. Uh, I feel I'm a bit of a hobbyist on this list, but what exactly is the relevance

RE: more detailed explanation about forall in Haskell

2000-05-19 Thread Frank Atanassow
Mark P Jones writes: > Please could somebody post a short, plain text summary of the discussion > in this thread? The recent exchanges have been long and involved, which > has made it impossible for me (and other busy onlookers too, I suspect) > to keep up. Without such a summary, I think th

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Frank Atanassow
Jan Brosius writes: > > > I must put this in the good way; > > > > > > [forall x . alpha(x)] => alpha(x) is True > > > > Yes, by instantiation. > > I disagree. You disagree with my agreeing with you? > > > If alpha(x) is TRUE then the following is true : alpha(x) => [forall x. > >

Re: more detailed explanation about forall in Haskell

2000-05-19 Thread Lennart Augustsson
Jan Brosius wrote: > > "x" in the domain of your model, and that that element, at least, > satisfies > > x is a variable ; no domain ; no model You must have some assumed convention that makes x a variable. For the rest of us it might as well be a constant, because there is no way to tell if it

RE: more detailed explanation about forall in Haskell

2000-05-18 Thread Mark P Jones
Dear All, Please could somebody post a short, plain text summary of the discussion in this thread? The recent exchanges have been long and involved, which has made it impossible for me (and other busy onlookers too, I suspect) to keep up. Without such a summary, I think that this thread may be

Re: more detailed explanation about forall in Haskell

2000-05-18 Thread Jan Brosius
>From: Frank Atanassow <[EMAIL PROTECTED]> >To: Jan Brosius <[EMAIL PROTECTED]> >Cc: <[EMAIL PROTECTED]> >Sent: Thursday, May 18, 2000 2:53 PM >Subject: Re: more detailed explanation about forall in Haskell > Jan Brosius writes: > > I must put this in

Re: more detailed explanation about forall in Haskell

2000-05-18 Thread Frank Atanassow
Jan Brosius writes: > I must put this in the good way; > > [forall x . alpha(x)] => alpha(x) is True Yes, by instantiation. > If alpha(x) is TRUE then the following is true : alpha(x) => [forall x. > alpha(x)] No, alpha(x) only asserts that some element named x satisfies alpha. It does no

Fw: Fw: more detailed explanation about forall in Haskell

2000-05-18 Thread Jan Brosius
- Original Message - From: Jan Brosius <[EMAIL PROTECTED]> To: Carl R. Witty <[EMAIL PROTECTED]> Sent: Thursday, May 18, 2000 12:06 PM Subject: Re: Fw: more detailed explanation about forall in Haskell > Thanks Carl for letting me see an ugly error that I made . SHAME

Re: more detailed explanation about forall in Haskell

2000-05-18 Thread Jan Brosius
Sorry, if in some way I have upset you Sincerely Jan Brosius >From: Frank Atanassow <[EMAIL PROTECTED]> >To: Frank Atanassow <[EMAIL PROTECTED]> >Sent: Wednesday, May 17, 2000 1:50 PM >Subject: Fw: more detailed explanation about forall in Haskell > Frank Atanass

Re: more detailed explanation about forall in Haskell

2000-05-18 Thread Jan Brosius
>>>From: Frank Atanassow <[EMAIL PROTECTED]> >To: Jan Brosius <[EMAIL PROTECTED]> >Cc: <[EMAIL PROTECTED]>> >Sent: Wednesday, May 17, 2000 1:35 PM >Subject: Fw: more detailed explanation about forall in Haskell > Jan Brosius writes: > > &

Re: more detailed explanation about forall in Haskell

2000-05-18 Thread Jan Brosius
ct: Re: more detailed explanation about forall in Haskell > On Tue, 16 May 2000, Jan Brosius wrote: > > > > > >- Original Message - > > >From: Lars Lundgren <[EMAIL PROTECTED]> > > > > > >Sent: Tuesday, May 16, 2000 1:54 PM > &

Re: more detailed explanation about forall in Haskell

2000-05-17 Thread Claus Reinke
> Ok I understand this isomorphism better. However this remark seems to be > of no value to functional programmers. Well, at least some functional programmers might disagree. Haskell was named after the logician Haskell B. Curry (yes, that's the one in the Curry-Howard isomorphism), and the prefa

Fw: more detailed explanation about forall in Haskell

2000-05-17 Thread Frank Atanassow
Frank Atanassow writes: > Jan Brosius writes: > > > Why do some computer scientists have such problems with the good logical > > > forall > > > and exist. Remember that good old logic came first. > > > On it was build SET theory. > > > On it was built topological space > > > > > >

Fw: more detailed explanation about forall in Haskell

2000-05-17 Thread Frank Atanassow
Jan Brosius writes: > > Why do some computer scientists have such problems with the good logical > > forall > > and exist. Remember that good old logic came first. > > On it was build SET theory. > > On it was built topological space > > > > To prove some theorem in lambda calculus one use

Re: more detailed explanation about forall in Haskell

2000-05-17 Thread Jon Fairbairn
I'm reluctant to get involved in this discussion, cheifly because it seems to me that Jan is attacking a position that has quite a long history with (inter alia) the argument that a different position has a longer history, which doesn't strike me as terribly likely to lead to insight. Also my pr

Re: Fw: more detailed explanation about forall in Haskell

2000-05-17 Thread Dave Tweed
On Wed, 17 May 2000, Dave Tweed wrote: > [forall x.prime(x)] -||- [forall x.prime(x)] > > ie, a tautology. ^^^ Sorry, I really shouldn't email until _after_ my first cup of coffee... I meant `trivially a correct statement about the logic', not tautology which has a more precise meaning i

Re: Fw: more detailed explanation about forall in Haskell

2000-05-17 Thread Dave Tweed
On 16 May 2000, Carl R. Witty wrote: > "Jan Brosius" <[EMAIL PROTECTED]> writes: > > > > SORRY, this is quite TRUE , in fact [forall x. alpha(x)] <=> alpha(x) > > > > > > the above true equivalence seems to be easily considered as wrong . Why? > > > Because alpha(x) is TRUE can be read as a

Re: more detailed explanation about forall in Haskell

2000-05-17 Thread Lars Lundgren
On Tue, 16 May 2000, Jan Brosius wrote: > > >- Original Message - > >From: Lars Lundgren <[EMAIL PROTECTED]> > > > >Sent: Tuesday, May 16, 2000 1:54 PM > >Subject: Re: more detailed explanation about forall in Haskell > > > > On

Re: Fw: more detailed explanation about forall in Haskell

2000-05-16 Thread Carl R. Witty
"Jan Brosius" <[EMAIL PROTECTED]> writes: > > SORRY, this is quite TRUE , in fact [forall x. alpha(x)] <=> alpha(x) > > > > the above true equivalence seems to be easily considered as wrong . Why? > > Because alpha(x) is TRUE can be read as alpha(x) is TRUE for ANY x. > > > > (Is there somet

Fw: more detailed explanation about forall in Haskell

2000-05-16 Thread Jan Brosius
- Original Message - From: Jan Brosius <[EMAIL PROTECTED]> To: Richard Uhtenwoldt <[EMAIL PROTECTED]> Sent: Wednesday, May 17, 2000 1:23 AM Subject: Re: more detailed explanation about forall in Haskell > > - Original Message - > From: Richard Uhtenwo

Re: more detailed explanation about forall in Haskell

2000-05-16 Thread Jan Brosius
>- Original Message - >From: Marcin 'Qrczak' Kowalczyk <[EMAIL PROTECTED]> >Sent: Tuesday, May 16, 2000 11:40 PM >Subject: Re: more detailed explanation about forall in Haskell > Tue, 16 May 2000 22:37:45 +0200, Jan Brosius <[EMAIL PROTECTED]> pi

Re: more detailed explanation about forall in Haskell

2000-05-16 Thread Marcin 'Qrczak' Kowalczyk
Tue, 16 May 2000 22:37:45 +0200, Jan Brosius <[EMAIL PROTECTED]> pisze: > > newSTRef applied to some value can have a type ST s (STRef s T(s)), > > That is strange , can you give a little example? I've given it four mail pairs ago, but here it is again: refRef :: ST s Int refRef = do

Re: more detailed explanation about forall in Haskell

2000-05-16 Thread Richard Uhtenwoldt
although this argument originated from a discussion of rank-2 polymorphism in Haskell's type system, the part I am replying to addresses only first-order predicate logic (also called "predicate calculus"). Jan Brosius asserts > Now forall s1. ( ST s1 T(s)) IMPLIES forall s . ( ST s T(s) )

Re: more detailed explanation about forall in Haskell

2000-05-16 Thread Jan Brosius
>- Original Message - >From: Lars Lundgren <[EMAIL PROTECTED]> > >Sent: Tuesday, May 16, 2000 1:54 PM >Subject: Re: more detailed explanation about forall in Haskell > On Tue, 16 May 2000, Jan Brosius wrote: > > > Ok I understand this isomorphism better

Re: more detailed explanation about forall in Haskell

2000-05-16 Thread Jan Brosius
>From: Marcin 'Qrczak' Kowalczyk <[EMAIL PROTECTED]> >To: <[EMAIL PROTECTED]> >Sent: Tuesday, May 16, 2000 11:42 AM >Subject: Re: more detailed explanation about forall in Haskell > Tue, 16 May 2000 10:54:59 +0200, Jan Brosius <[EMAIL PROTECTED]>

Re: more detailed explanation about forall in Haskell

2000-05-16 Thread Lars Lundgren
On Tue, 16 May 2000, Jan Brosius wrote: > Ok I understand this isomorphism better. However this remark seems to be of > no value to functional programmers. > Why trying to mix terms( otr types) with relations ? > What is a 'type' in your oppinion? Isn't a type a statement about pre- and post-c

Re: more detailed explanation about forall in Haskell

2000-05-16 Thread Marcin 'Qrczak' Kowalczyk
Tue, 16 May 2000 10:54:59 +0200, Jan Brosius <[EMAIL PROTECTED]> pisze: > > > newSTRef v has type ST s (STRef s (STRef s a)) > > > (THIS is of the form ST s (STRef s T(s)) > > > > No. It has the type > > ST s1 (STRef s1 (STRef s a)) > > That is indeed what I said in my former email where

Re: more detailed explanation about forall in Haskell

2000-05-16 Thread Jan Brosius
I reply , but I like to make some comments before: As readers would have noticed from the former email my answers are put here in a different context. This might give the reader the false impression that I made some serious mistakes in the formal email. > Fri, 12 May 2000 00:42:52 +0200, Jan Bro

Re: more detailed explanation about forall in Haskell

2000-05-16 Thread Jan Brosius
Ok I understand this isomorphism better. However this remark seems to be of no value to functional programmers. Why trying to mix terms( otr types) with relations ? > > > > Anyway, in intuitionistic logic it is natural indentify proofs and > > > > programs and proposition and types. Maybe best

Re: more detailed explanation about forall in Haskell

2000-05-12 Thread Marcin 'Qrczak' Kowalczyk
Fri, 12 May 2000 00:42:52 +0200, Jan Brosius <[EMAIL PROTECTED]> pisze: > newSTRef :: a -> ST s (STRef s a) > readSTRef :: STRef s a -> ST s a > and > > f:: STRef s a -> STRef s a > f v = runST( newSTRef v >= \w -> readSTRef w) > > Let's start > > v has type STRef s a ...for "s" and "a"

Re: more detailed explanation about forall in Haskell

2000-05-12 Thread Frank Atanassow
Claus Reinke writes: [nice exposition of C-H correspondence & state threads] > The main caveat is the insistence on constructive proofs (in the classical > logic most of us tend to learn, there is this favourite proof technique: if > I assume that xs don't exist, I am led to a contradiction, so

Re: more detailed explanation about forall in Haskell

2000-05-12 Thread Claus Reinke
> > > Anyway, in intuitionistic logic it is natural indentify proofs and > > > programs and proposition and types. Maybe best illustrated by the BHK > > > (Brouwer-Heyting-Kolmogoroff) semantics: > > > > > > A proof of a /\ b is a proof of a and a proof of b, hence a /\ b = (a,b) > > > > Sorry, ar

Re: more detailed explanation about forall in Haskell

2000-05-11 Thread Lars Lundgren
On Fri, 12 May 2000, Jan Brosius wrote: > > > > Your example gave the same meaning to `b and forall. > > NOT true : forall works on a proposition and delivers another proposition . > And this should REMAIN so. > > `b on the contrary works on a type and delivers a new type. > > Quite different

Re: more detailed explanation about forall in Haskell

2000-05-11 Thread Jan Brosius
Dear Marcin, I think we have reached now a point in the discussion that will only result in yes and no. 1. Even as I still think that the forall in runST is misplaced I still stand open for everyone that could put forall s. (ST s a) in an acceptable logical phrase. forall and exist work like th

Re: more detailed explanation about forall in Haskell

2000-05-11 Thread Marcin 'Qrczak' Kowalczyk
Thu, 11 May 2000 13:48:56 +0200, Jan Brosius <[EMAIL PROTECTED]> pisze: > > Types can be treated as logical formulas, according to the Curry-Howard > > isomorphism. > > Sorry, never heard of in logic. But perhaps you can explain. Others explained it better that I could. > > > newSTRef:: forall

Fw: more detailed explanation about forall in Haskell

2000-05-11 Thread Jan Brosius
> > > > > Jan Brosius writes: > > > Marcin Kowalczyk wrote at Wed, May 10, 2000 7:54 PM : > > > > > 2. Next let me point out once and for all that > > > > > logical quantifiers are used only in logical formula's . > > > > > > > > Types can be treated as logical formulas, according to the

Re: more detailed explanation about forall in Haskell

2000-05-11 Thread Frank Atanassow
Thorsten Altenkirch writes: > Jan Brosius writes: > > Marcin Kowalczyk wrote at Wed, May 10, 2000 7:54 PM : > > > > 2. Next let me point out once and for all that > > > > logical quantifiers are used only in logical formula's . > > > > > > Types can be treated as logical formulas, accor

Re: more detailed explanation about forall in Haskell

2000-05-11 Thread Thorsten Altenkirch
Jan Brosius writes: > Marcin Kowalczyk wrote at Wed, May 10, 2000 7:54 PM : > > > 2. Next let me point out once and for all that > > > logical quantifiers are used only in logical formula's . > > > > Types can be treated as logical formulas, according to the Curry-Howard > > isomorphism. >

Re: more detailed explanation about forall in Haskell

2000-05-11 Thread Lars Lundgren
On Thu, 11 May 2000, Jan Brosius wrote: > Marcin Kowalczyk wrote at Wed, May 10, 2000 7:54 PM : > > > Types can be treated as logical formulas, according to the Curry-Howard > > isomorphism. > > Sorry, never heard of in logic. But perhaps you can explain. > M H Sørensen and P Urzyczyn. Lectur

Re: more detailed explanation about forall in Haskell

2000-05-11 Thread Jan Brosius
Marcin Kowalczyk wrote at Wed, May 10, 2000 7:54 PM : > Wed, 10 May 2000 16:18:06 +0200, Jan Brosius <[EMAIL PROTECTED]> pisze: pisze ? you meant wrote? Please don't use Russian in your reply, I don't know Russian. Do You know what pisze in Dutch could mean if spoken out loosely? > > > 2. Next

Re: more detailed explanation about forall in Haskell

2000-05-10 Thread Marcin 'Qrczak' Kowalczyk
Wed, 10 May 2000 16:18:06 +0200, Jan Brosius <[EMAIL PROTECTED]> pisze: > 2. Next let me point out once and for all that > logical quantifiers are used only in logical formula's . Types can be treated as logical formulas, according to the Curry-Howard isomorphism. I see no reason to change the n

more detailed explanation about forall in Haskell

2000-05-10 Thread Jan Brosius
Hi,   According to the reactions that I have received I feel the need to explain in more detail my email in mime type entitled : about the abuse of forall in Haskell. The easiest thing for me would be to send an attachment in pdf to the Haskell - mailing list. But I guess this is impossible.