RE: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread ajb
G'day all. Quoting Simon Peyton-Jones <[EMAIL PROTECTED]>: > I've considered this before, but never done anything about it because > superclasses are so close. Specifically, what is the difference between > > (i) class (C a, D a) => CD a > and > (ii) class alias CD a = (C a, D a) > > Note tha

Re: [Haskell] How to zip folds: A library of fold transformers

2005-10-13 Thread oleg
Dylan Thurston wrote: > > The defining equations are: if flst is a value > > of a type |FR a|, then > > unFR flst f z = z if flst represents an empty list > > unFR flst f z = f e (unFR flst' f z) > > if flst represents the list with the head 'e' > >

[Haskell] PROPOSAL: class aliases (revised)

2005-10-13 Thread John Meacham
I have revised the proposal and put it on the web here: http://repetae.net/john/recent/out/classalias.html changes include a new, clearer syntax, some typo fixes, and a new section describing how class aliases interact with superclasses. I will update that web page with any new devolpments.

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread David Menendez
Udo Stenzel writes: > Simon Peyton-Jones wrote: > > I've considered this before, but never done anything about it > > because superclasses are so close. Specifically, what is the > > difference between > > > > (i) class (C a, D a) => CD a > > and > > (ii)class alias CD a = (C a, D a) > > >

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread John Meacham
On Thu, Oct 13, 2005 at 10:18:24AM -0400, Jan-Willem Maessen wrote: > >* incidental but not earth-shattering benefits include being able to > > declare an instance for a class and all its superclasses at once, > > smarter defaults when you are combining related classes, and much > > nicer type s

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread John Meacham
On Thu, Oct 13, 2005 at 01:46:14PM +0200, Benjamin Franksen wrote: > Using '=' instead of '=>', you could even leave out the 'alias': > > class FooBar a = (Foo a, Bar a) where ... true. for the purposes of discussion I think I will keep using the 'alias' so it is clearer what is going on. but

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread John Meacham
On Thu, Oct 13, 2005 at 01:41:14PM -0400, Paul Govereau wrote: > On Oct 12, John Meacham wrote: > > > > [...] > > > > > class Num a where > > > (+), (*):: a -> a -> a > > > (-) :: a -> a -> a > > > negate :: a -> a > > > fromInteger :: Integer -> a > > > > ideally

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread Jacques Carette
Paul Govereau wrote: Of course, if we allow union and subtraction, then why not addition, intersection, complement (ok, maybe not complement). Class definitions (including constraints and defaults) are essentially (syntactic) theory signatures (as in Institutions, from Goguen, Burstall, an

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread Paul Govereau
On Oct 12, John Meacham wrote: > > [...] > > > class Num a where > > (+), (*):: a -> a -> a > > (-) :: a -> a -> a > > negate :: a -> a > > fromInteger :: Integer -> a > > ideally we would want to split it up like so (but with more mathematically > precise names):

[Haskell] Re: Network Exception

2005-10-13 Thread Arias
I've tryed to connect using the telnet and it connects properly, I've try also with another servers/ports and it allways throws the exception > On Thu, Oct 13, 2005 at 12:18:44PM +0200, > Arias <[EMAIL PROTECTED]> wrote > a message of 35 lines which said: > > > In the port 8080 I have apache

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread Jan-Willem Maessen
On Oct 12, 2005, at 8:00 PM, John Meacham wrote: [longish proposal for class aliases] Very nicely done, by the way. == Notes == * class aliases are also able to introduce new superclass constraints, such as in the Num example we also want to enforce a (Eq a, Show a) superclass c

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread Udo Stenzel
Simon Peyton-Jones wrote: > I've considered this before, but never done anything about it because > superclasses are so close. Specifically, what is the difference between > > (i) class (C a, D a) => CD a > and > (ii) class alias CD a = (C a, D a) > > Note that (i) is Haskell 98. I was about

RE: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread Simon Peyton-Jones
John Replying just to you to avoid spamming everyone. | in particular, | | (CD a) => a and (C a,D a) => a are distinct types. this means that | you cannot use the aliases as abreviations or alternate names, which is | a very nice side effect. with fine grained class hierarchies, type | signature

[Haskell] RE: [Haskell-cafe] Interest in helping w/ Haskell standard

2005-10-13 Thread Philippa Cowderoy
On Thu, 13 Oct 2005, Simon Marlow wrote: On 12 October 2005 23:50, Sebastian Sylvan wrote: (I'm specifically interested in seeing SPJ's records proposal included, and a new module system). Highly unlikely, IMHO. A new revision of the Haskell standard is not the place for testing new researc

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread John Meacham
On Thu, Oct 13, 2005 at 12:21:41PM +0100, Simon Peyton-Jones wrote: > | This is a proposal for a language extension which will hopefully > mitigate the > | issues holding back evolution of the standard prelude as well as > provide > | useful class abstraction capabilities in general. > > A short s

[Haskell] Re: [Haskell-cafe] Interest in helping w/ Haskell standard

2005-10-13 Thread Sebastian Sylvan
On 10/13/05, Simon Marlow <[EMAIL PROTECTED]> wrote: > On 12 October 2005 23:50, Sebastian Sylvan wrote: > > > (I'm specifically interested in seeing SPJ's records proposal > > included, and a new module system). > > Highly unlikely, IMHO. A new revision of the Haskell standard is not > the place

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread S.M.Kahrs
> I've considered this before, but never done anything about it because > superclasses are so close. Specifically, what is the difference between > > (i) class (C a, D a) => CD a > and > (ii) class alias CD a = (C a, D a) The difference is that (i) is, in a sense, generative - because you st

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread Benjamin Franksen
On Thursday 13 October 2005 13:21, Simon Peyton-Jones wrote: > If so, than rather than invent a whole new mechanism, why not simply > extend the existing superclass mechanism to allow a single instance > decl to declare instances for several classes? For example, one add > to Haskell 98 the follow

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread Benjamin Franksen
On Thursday 13 October 2005 12:22, John Meacham wrote: > On Thu, Oct 13, 2005 at 12:08:27PM +0200, Wolfgang Jeltsch wrote: > > > We allow new constructs of this form (the exact syntax is > > > flexible of > > > > > > course): > > > > class alias (Foo a, Bar a) => FooBar a where > > > >foo = ..

RE: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread Simon Peyton-Jones
| This is a proposal for a language extension which will hopefully mitigate the | issues holding back evolution of the standard prelude as well as provide | useful class abstraction capabilities in general. A short summary would be "type synonyms for class constraints". You'd definitely want the

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread John Meacham
On Thu, Oct 13, 2005 at 11:48:17AM +0100, Malcolm Wallace wrote: > Andres Loeh <[EMAIL PROTECTED]> writes: > > > The way I understand the proposal, there are no FooBar dictionaries > > ever. John said that this can be translated by a source-to-source > > translation, so internally, a FooBar dictio

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread John Meacham
On Thu, Oct 13, 2005 at 12:46:21PM +0200, Andres Loeh wrote: > > One thought: how will class aliases interact with type inference? > > e.g. if a declaration contains only a call to 'foo', should we infer > > the constraint Foo a, or FooBar a? Can there ever be a situation where > > choosing the mo

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread Malcolm Wallace
Andres Loeh <[EMAIL PROTECTED]> writes: > The way I understand the proposal, there are no FooBar dictionaries > ever. John said that this can be translated by a source-to-source > translation, so internally, a FooBar dictionary *is* a Foo and a > Bar dictionary. Ah yes, I was misled by the syntax

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread Andres Loeh
> One thought: how will class aliases interact with type inference? > e.g. if a declaration contains only a call to 'foo', should we infer > the constraint Foo a, or FooBar a? Can there ever be a situation where > choosing the more specific dictionary could leave us without a 'bar' > method at som

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread Malcolm Wallace
John Meacham <[EMAIL PROTECTED]> writes: > = Class Aliases = > > This is a proposal for a language extension which will hopefully mitigate > the issues holding back evolution of the standard prelude as well as provide > useful class abstraction capabilities in general. I like your proposal a lot

[Haskell] Re: Network Exception

2005-10-13 Thread Stephane Bortzmeyer
On Thu, Oct 13, 2005 at 12:18:44PM +0200, Arias <[EMAIL PROTECTED]> wrote a message of 35 lines which said: > In the port 8080 I have apache listening, so the server and port is > correct. Excuse me but I prefer actual tests to claims. "telnet localhost 8080". (Apache may be listening only on

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread John Meacham
On Thu, Oct 13, 2005 at 12:08:27PM +0200, Wolfgang Jeltsch wrote: > > We allow new constructs of this form (the exact syntax is flexible of > > course): > > > > > class alias (Foo a, Bar a) => FooBar a where > > >foo = ... > > > > what this does is declare 'FooBar a' as an alias for the two c

Re: [Haskell] Re: Network Exception

2005-10-13 Thread Arias
I'm using GHC version 6.4.1. In the port 8080 I have apache listening, so the server and port is correct. I send the code to a pair of friends, one of them said that it works, the other one had the same matter than me, both using the GHC compiler version 6.4. PD: Excuse my english x) Stepha

Re: [Haskell] PROPOSAL: class aliases

2005-10-13 Thread Wolfgang Jeltsch
Am Donnerstag, 13. Oktober 2005 02:00 schrieb John Meacham: > [...] At a first look, this looks really nice. > We allow new constructs of this form (the exact syntax is flexible of > course): > > > class alias (Foo a, Bar a) => FooBar a where > >foo = ... > > what this does is declare 'FooB

[Haskell] RE: [Haskell-cafe] Interest in helping w/ Haskell standard

2005-10-13 Thread Simon Marlow
On 12 October 2005 23:50, Sebastian Sylvan wrote: > (I'm specifically interested in seeing SPJ's records proposal > included, and a new module system). Highly unlikely, IMHO. A new revision of the Haskell standard is not the place for testing new research, rather it's a clear specification of ex

[Haskell] Re: [Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-13 Thread Cale Gibbard
Well, what we already have is a lot of language extensions with varying degrees of support across implementations. GHC is somewhat of a standard in and of itself, and one thing that standardisation efforts bring is a record of what exactly GHC is doing, thus allowing for more and better implementat

[Haskell] Re: [Haskell-cafe] Interest in helping w/ Haskell standard

2005-10-13 Thread Antti-Juhani Kaijanaho
Sebastian Sylvan wrote: > I'm wondering what "incremental and moderate" extension means? I don't know what others mean by it, but for me, it implies standardizing existing practice, with possibly some conservative redesign to get rid of any hysterical warts. This is, BTW, what the C89 standard d

[Haskell] Re: Network Exception

2005-10-13 Thread Stephane Bortzmeyer
On Wed, Oct 12, 2005 at 07:34:33PM +0200, Arias <[EMAIL PROTECTED]> wrote a message of 25 lines which said: > It compiles correctly, but when I try to run this code, it throws an > exception at connectTo. The exception's message is: Which compiler? I get a "does not exist" with ghc if the host

[Haskell] Network Exception

2005-10-13 Thread Arias
Hi, My name Iván Arias, I'm trying to connect to a server using the Network library, the code that I'm using is something like this: --- BEGIN --- module Main where import System.IO import Network main = withSocketsDo $ do handle <- connectTo "localhost" ( PortNumber 8080 ) hClose handle ---

[Haskell] i-C&P 2006 France

2005-10-13 Thread Computational Philosophy Laboratory - Univ. of Pavia
CALL FOR PAPERS - Deadline November 18, 2005 --- i-C&P 2006 quick link COMPUTERS & PHILOSOPHY, an International Conference Le Mans University, Laval, France, 3-5 May, 2006 Chair: C.T.A. SCHMIDT [EMAIL PROTECTED] e-mail -

[Haskell] Re: Interest in helping w/ Haskell standard

2005-10-13 Thread Stephane Bortzmeyer
On Wed, Oct 12, 2005 at 03:39:34PM -0700, Isaac Jones <[EMAIL PROTECTED]> wrote a message of 30 lines which said: > One of the main topics was the perceived need of a new standard, As someone who is not an academic researcher and not a student in CS, I would like to express a personal opinion;