Re: OO in Haskell

1999-10-08 Thread Adrian Hey
On Thu 07 Oct, Manuel M. T. Chakravarty wrote: Check out the type signatures of the `MVar'-related operations and you will find that they are all nicely encapsulated in the `IO' monad. This is true, but I think the point of contention is does the IO monad itself provide referential

Re: Referential Transparency (was Re: OO in Haskell)

1999-10-08 Thread Adrian Hey
On Thu 07 Oct, Marcin 'Qrczak' Kowalczyk wrote: In Haskell a `variable' can be meant to be either a name introduced by a let/where/lambda/case binding, or one of IORef/STRef/MVar (or even something in a custom monad). The first concept is referentially transparent, the second is not if we

Re: Referential Transparency (was Re: OO in Haskell)

1999-10-08 Thread Adrian Hey
On Thu 07 Oct, Jan Skibinski wrote: I think that the monadic IO provides us with such a simplification. As long as we realize what are its limitations and as long as we stay within reasonable limits of the concept we should be fine here. The operative word here is "realize". Do we really

Referential Transparency (was Re: OO in Haskell)

1999-10-08 Thread Adrian Hey
On Thu 07 Oct, I wrote: On Wed 06 Oct, Johan Nordlander wrote: Just to avoid any unfortunate misconceptions: O'Haskell definitely preserves the property we commonly refer to as referential transparency, and so does Concurrent Haskell, or any other sound monadic extension of the language.

Re: Referential Transparency (was Re: OO in Haskell)

1999-10-08 Thread Fergus Henderson
On 07-Oct-1999, Adrian Hey [EMAIL PROTECTED] wrote: On Thu 07 Oct, Michael Hobbs wrote: Michael Hobbs wrote: Consider this: type IO a = StateOfUniverse - (a, StateOfUniverse) -- Not syntactically correct, but you know what I mean. So anything that is declared, say `IO

Re: Referential Transparency (was Re: OO in Haskell)

1999-10-08 Thread Fergus Henderson
On 08-Oct-1999, Adrian Hey [EMAIL PROTECTED] wrote: Reaction to my recent suggestion regarding IO (a concurrent non-deterministic machine) on the Clean discussion list was somewhat less than enthusiastic. One of the reasons was that apparently this would result in loss of referential

Re: Referential Transparency

1999-10-08 Thread Wolfgang Lohmann
Hi, As far as I understood the matter, referential transparency denotes the property of a language, in which variables of the same scope do not change their value. Given let var = some unmonadic expression ... ... -- some calculation some monadic expression ...

Re: Referential Transparency (was Re: OO in Haskell)

1999-10-08 Thread Adrian Hey
Hello again Fergus, For some reason you have sent this message to me despite the fact that all the words you appear to disagree with are those of Michael Hobbs:-) However, I assume you also disagree with my words so I'll try to respond. Unfortunately we've been over this ground before on

Re: Referential Transparency

1999-10-08 Thread Koen Claessen
| As far as I understood the matter, referential transparency | denotes the property of a language, in which variables of the | same scope do not change their value. So ML and Erlang are referentially transparent too? Doesn't referential transparency include something about functions

Re: OO in Haskell

1999-10-08 Thread Lars Lundgren
On Thu, 7 Oct 1999, Adrian Hey wrote: On Thu 07 Oct, Manuel M. T. Chakravarty wrote: Check out the type signatures of the `MVar'-related operations and you will find that they are all nicely encapsulated in the `IO' monad. This is true, but I think the point of contention is does the

Re: Referential Transparency (was Re: OO in Haskell)

1999-10-08 Thread Fergus Henderson
On 07-Oct-1999, Adrian Hey [EMAIL PROTECTED] wrote: This is another reason I'm sceptical about referential transparency in any functional system of IO (streams, monads, continuations, world as value..) It is hard to sensibly define interaction between a timeless universe of pure functions and

Re: Referential Transparency (was Re: OO in Haskell)

1999-10-08 Thread Fergus Henderson
On 08-Oct-1999, Adrian Hey [EMAIL PROTECTED] wrote: I think it's important to understand whether or not we really do have referential transparency with monadic IO, if other models of interaction between program and outside world are (like those in Concurrent Haskell) going to be rejected

The Haskell mailing list

1999-10-08 Thread Simon Peyton-Jones
Folks, Traffic on the Haskell mailing list has jumped dramatically of late. In many ways that's a good thing: I take it a symptomatic that Haskell is getting used for more things by more people. But it has a bad side: if traffic is too heavy, large numbers of people will unsubscribe (indeed,

Re: Referential Transparency

1999-10-08 Thread Wolfram Kahl
| As far as I understood the matter, referential transparency | denotes the property of a language, in which variables of the | same scope do not change their value. So ML and Erlang are referentially transparent too? Before everybody gets completely muddled up, I point to a

Re: The Haskell mailing list

1999-10-08 Thread Manuel M. T. Chakravarty
So we can decide to do one of two things: 1. Try to keep the Haskell mailing list as a low-traffic list, to which many, many people subscribe. Under this model, one might *start* a discussion on the Haskell list; but after a few exchanges, move the discussion to

RE: The Haskell mailing list

1999-10-08 Thread Frank A. Christoph
Traffic on the Haskell mailing list has jumped dramatically of late. [...] So we can decide to do one of two things: 1. Try to keep the Haskell mailing list as a low-traffic list, to which many, many people subscribe. Under this model, one might *start* a discussion on the Haskell

Re: Referential Transparency (was Re: OO in Haskell)

1999-10-08 Thread Adrian Hey
On Thu 07 Oct, Michael Hobbs wrote: Michael Hobbs wrote: Consider this: type IO a = StateOfUniverse - (a, StateOfUniverse) -- Not syntactically correct, but you know what I mean. So anything that is declared, say `IO Int', means that it is actually a function that reads in

Re: The Haskell mailing list

1999-10-08 Thread Paul Hudak
Perhaps we should create a comp.lang.haskell? -Paul

Re: Referential Transparency

1999-10-08 Thread Adrian Hey
On Fri 08 Oct, Wolfgang Lohmann wrote: Monadic IO is not thought ( in my opinion) to have IO during _the whole_ program, while preserving the referential transparency. Monads are fine to encapsulate effects, and so the IO Monad encapsulates input/output effects _to preserve_ the referential

Haskell mailing list

1999-10-08 Thread trb
S.J.Thompson writes: I agree with Simon's observations, and would suggest a third option: why not set up comp.lang.haskell? I agree with the above. The established procedure for creation of a news group is documented in the news.announce.newgroups FAQ available at: [EMAIL

Re: The Haskell mailing list

1999-10-08 Thread Craig Dickson
Colin Runciman [EMAIL PROTECTED] wrote: I also agree with Simon that simply making this a moderated list is not the solution. Perhaps splitting is best. How about haskell-info haskell-talk where info carries *brief* announcements, requests for information and responses to such

Re: The Haskell mailing list

1999-10-08 Thread George Russell
Simon PJ is too valuable to lose. I (a) second the creation of comp.lang.haskell; (b) suggest that [EMAIL PROTECTED] should have a policy (enforced mechanically if necessary) of 1 contribution of length at most 5 lines (or 350 characters) per user per thread.

Wiki usage advocacy (was Re: The Haskell mailing list)

1999-10-08 Thread Marko Schuetz
"Manuel" == Manuel M T Chakravarty [EMAIL PROTECTED] writes: [...] Manuel What do you think? I'll use the opportunity to advocate wiki usage. While I agree that it seems time to have multiple lists, some of the recent high volume threads could have used the wiki to collect, discuss and then

Re: Reverse composition

1999-10-08 Thread Kevin Atkinson
On Fri, 8 Oct 1999 [EMAIL PROTECTED] wrote: Some time ago there was a discussion about what to call reverse composition (I can't find it in the archive - needs a search option?) Just now I thought of .~ from . for composition and ~ (tilde, but commonly called twiddle) for twiddling the

Reverse composition

1999-10-08 Thread Jon . Fairbairn
Some time ago there was a discussion about what to call reverse composition (I can't find it in the archive - needs a search option?) Just now I thought of .~ from . for composition and ~ (tilde, but commonly called twiddle) for twiddling the order about. Maybe we could adopt that as normal

Re: Haskell mailing list

1999-10-08 Thread Ralf Muschall
[EMAIL PROTECTED] wrote: set up comp.lang.haskell? I agree with the above. This is IMHO the best solution for a lot of reasons: 1. With many providers/client_softwares, you cannot ignore a mail without downloading and deleting it. This makes it hard to ignore a thread which one is not

Re: Reverse composition

1999-10-08 Thread Jonathan King
On Fri, 8 Oct 1999, Hamilton Richards Jr. wrote: At 1:01 PM -0500 10/8/1999, [EMAIL PROTECTED] wrote: Some time ago there was a discussion about what to call reverse composition (I can't find it in the archive - needs a search option?) Just now I thought of .~ from . for composition and

Re: Reverse composition

1999-10-08 Thread Joe English
[EMAIL PROTECTED] wrote: Some time ago there was a discussion about what to call reverse composition (I can't find it in the archive - needs a search option?) Just now I thought of .~ from . for composition and ~ (tilde, but commonly called twiddle) for twiddling the order about. Maybe

Re: [haskell] Reverse composition

1999-10-08 Thread Christopher Jeris
Personal taste in infix operators seems to be another good argument for a camlp4-style preprocessor for Haskell. For instance I would like to use 'o' for composition (since anybody who uses 'o' for a variable gets what they deserve!) but I guess that would make the lexer not so nice. I would

Re: [haskell] Reverse composition

1999-10-08 Thread Jon . Fairbairn
On 8 Oct, Christopher Jeris wrote: Personal taste in infix operators seems to be another good argument for a camlp4-style preprocessor for Haskell. Please no! I want to be able to read other folks programmes and vice versa. The whole point of suggesting a particular glyph on this foram

Re: Reverse composition

1999-10-08 Thread Marcin 'Qrczak' Kowalczyk
Fri, 8 Oct 1999 19:01:07 +0100 (BST), [EMAIL PROTECTED] [EMAIL PROTECTED] pisze: Some time ago there was a discussion about what to call reverse composition (I can't find it in the archive - needs a search option?) Just now I thought of .~ from . for composition and ~ (tilde, but commonly

Re: OO in Haskell

1999-10-08 Thread Adrian Hey
On Fri 08 Oct, Lars Lundgren wrote: A value (IO a) *denotes* a program possibly interacting with the world. *That* program is of course not referentially transparent. A haskell program generating an (IO a) on the other hand *is* referetially transparent. So a value of type (IO a) is _not_ a

Re: Reverse composition

1999-10-08 Thread Jon . Fairbairn
On 8 Oct, Jonathan King wrote: I think you might see the point. (No pun back there, I promise...) I understand where using "." to mean composition came from, and I know that it's a long-standing tradition in at least the Haskell community, but I don't think the visual correspondence of

Re: Reverse composition

1999-10-08 Thread Hamilton Richards Jr.
At 1:01 PM -0500 10/8/1999, [EMAIL PROTECTED] wrote: Some time ago there was a discussion about what to call reverse composition (I can't find it in the archive - needs a search option?) Just now I thought of .~ from . for composition and ~ (tilde, but commonly called twiddle) for twiddling the

RE: GHugsC?

1999-10-08 Thread Simon Peyton-Jones
| What progress on the Great Hugs Collaboration? That is, | being able to run | Hugs bytecode inside GHC or GHC compiled code inside Hugs. I | don't expect much detail but if the marriage is expected Real Soon Now, or | alternatively has been postponed indefinitely, I would like to know! An

Re: OO in Haskell

1999-10-08 Thread Marcin 'Qrczak' Kowalczyk
Thu, 07 Oct 1999 19:13:34 -0400, Kevin Atkinson [EMAIL PROTECTED] pisze: One think I really think it needs is the ability to group a collection of functions with a tag. And then when importing a module you can ask to only import that tag. For example: module A list: head tail foldr

Re: Reverse composition

1999-10-08 Thread Jon . Fairbairn
On 8 Oct, Joe English wrote: [I wrote]: Just now I thought of .~ from . for composition and ~ (tilde, but commonly called twiddle) for twiddling the order about. I've also seen .| and |. used for this purpose (by analogy with Unix pipes.) John Hughes' Arrow library spells it "",

Re: RFC: An extended Addr module

1999-10-08 Thread Sven Panne
"Manuel M. T. Chakravarty" wrote: Some bits pieces: * After playing around with this module, I think that it is a Good Thing (tm) that ...OffAddr use element offsets and not byte offsets. It makes instance declarations of the following form much easier: