[Haskell] Postdoctoral Research Assistant position at University of Edinburgh

2021-12-27 Thread Philip Wadler
of Informatics at Edinburgh is among the strongest in the world, and Edinburgh is known as a cultural centre providing a high quality of life. If interested, please contact Prof. Philip Wadler . Full details are here <https://elxw.fa.em3.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_1001/job/2

Re: [Haskell] Haskell tutors required!

2020-09-09 Thread Philip Wadler
Yes, you've located last year's syllabus! Go well, -- P . \ Philip Wadler, Professor of Theoretical Computer Science, . /\ School of Informatics, University of Edinburgh . / \ and Senior Research Fellow, IOHK . http://homepages.inf.ed.ac.uk/wadler/ On Tue, 8 Sep 2020 at 21:20, Howard B

[Haskell] Haskell tutors required!

2020-09-03 Thread Philip Wadler
number of capable tutors. This year, we will take advantage of remote delivery to recruit tutors from both within and without Edinburgh. Tutorials are expected to be on Thursdays and Fridays each week. Wadler will monitor tutorials, and expects to be in a position to write letters of recommendation

[Haskell] Haskell, Then and Now. Got Questions? Ask them here!

2020-07-03 Thread Philip Wadler
IOHK Cardano Virtual Summit continues. Today's sessions include: *16.00 (UK time) Fri 3 Jul* *Haskell, then and now: What is the future for **functional programming languages?* Prof Simon Peyton-Jones, Prof John Hughes, Prof Philip Wadler, Dr Kevin Hammond, Dr Duncan Coutts. You can submit

[Haskell] Cardano Virtual Summit 2020

2020-07-02 Thread Philip Wadler
Cardano Virtual Summit 2020 takes place today and tomorrow. Some talks that may be of interest: *16.00 Thu 2 Jul* *An overview of IOHK research* Prof Aggelos Kiayias, Prof Elias Koutsoupias, Prof Alexander Russell, Prof Phil Wadler. *18.30 Thu 2 Jul* *Architecting the internet: what I would have

[Haskell] Lecturer/Senior Lecturer/Reader in Programming Languages for Trustworthy Systems in Edinburgh LFCS

2019-12-10 Thread Philip Wadler
ssed to Prof Philip Wadler ( wad...@inf.ed.ac.uk). Lecturer Grade: UE08 (£41,526 - £49,553) Senior Lecturer or Reader Grade: UE09 (£52,559 - £59,135) The School is advertising a number of positions, including this one, as described here: https://www.ed.ac.uk/informatics/about/work-with-us/vacan

[Haskell] University of Edinburgh Chancellor's Fellowships

2018-02-13 Thread Philip Wadler
are strongly encouraged to apply. The deadline is March 12th, please see: https://www.ed.ac.uk/informatics/about/work-with-us/vacancies/chancellor-fellowship-digital-technologies for further information. Feel free to contact me if you have questions. Yours, -- P . \ Philip Wadler, Professor

Re: Two Proposals

2011-10-19 Thread Philip Wadler
to live with the problem. Any ideas? I don’t think we can steal “group” as a keyword -- it’s a function exported by Data.List, and I don’t think the benefit justifies the cost. So you are saying you prefer then group to group? Yours, -- P -- .\ Philip Wadler, Professor of Theoretical

Fwd: Two Proposals

2011-10-12 Thread Philip Wadler
George, Thanks very much for this. I like your suggestion, which fits the logical structure perfectly; and you've suggested a neat way around the ugliness of 'group groupBy'. I also note that if we aren't so worried about not introducing new keywords, that 'then group' could become 'group'.

[Haskell] elementary tracing for Haskell

2004-10-11 Thread Philip Wadler
. ... family.phelpsinc.com/branches/haskell/ - 28k - Cached - Similar pages Philip Wadler, Professor of Theoretical Computer Science School of Informatics, University of Edinburgh JCMB, Mayfield Road, Edinburgh EH9 3JZ SCOTLAND +44 131 650 5174 http://homepages.inf.ed.ac.uk/wadler

Re: HaskellDoc?

2000-03-17 Thread Philip Wadler
Volker suggests using SGML/DSSSL for documentation. If one were to take this route, I think XML/XSLT would be a more sensible combination. See http://www.cs.bell-labs.com/~wadler/xml for a quick intro to XML. Runciman and Wallace at York have a nice XML library for Haskell

ICFP 2000: new submission deadline

2000-02-27 Thread Philip Wadler
://www.cs.bell-labs.com/~wadler/icfp2000 Call and submission details online

ICFP 2000

2000-02-22 Thread Philip Wadler
Below is the call for ICFP 2000. You may prefer to view it on the web: http://www.cs.bell-labs.com/~wadler/icfp2000 The submission deadline is fast approaching: 1 March 2000! Two invited speakers have accepted: Carl Seger, Intel Benjamin Pierce, University

Re: drop take [was: fixing typos in Haskell-98]

2000-01-25 Thread Philip Wadler
Chris, I admit your argument about symmetry is attractive. If you could put forward a concrete application, on a par with the `break into blocks' application given earlier, you would likely sway me. -- P

Re: Contexts on data type declarations

1999-05-17 Thread Philip Wadler
So doesn't my proposal give you precisely what you want, and no more? Because my interest is as much in documentation as in constraints on how the program executes (I admit your method achieves the latter). If I write, say, data Eq a = Assoc a b then I'd like the signatures to ensure that

Re: Market Penetration of FP and Haskell

1999-03-04 Thread Philip Wadler
"S. Alexander Jacobson" [EMAIL PROTECTED] writes: So, if they are making sure that all platforms have a scheme interpreter, why not make the spec language agnostic. i.e. allow the user to use any language that can be compiled/translated into scheme (by code written in scheme?). Your

Re: Market Penetration of FP and Haskell

1999-03-02 Thread Philip Wadler
te Haskell for the transformation part of XSL, if they choose. -- Phil Wadler (member of the XSL working group) PS. If anyone has any suggestions about *small and reasonable* changes to the XSL working draft that would be an improvement, please let me know. XSL working draft: http://www.w3.org/TR/WD-x

Re: MonadZero (concluded)

1998-11-06 Thread Philip Wadler
class Monad m where return :: m a (=) :: m a - (a - m b) - m b () :: m a - m b - m b fail :: String - m a fail s = error s IO.fail becomes IO.ioError Looks good. class Monad m = MonadPlus m where mzero :: m

mfail - fail

1998-11-05 Thread Philip Wadler
Here's an even better idea: replace mfail with fail. It is, after all, the fail of the IO monad! Option 4'': Monad ((=), return, fail) -- P

Re: mfail - fail

1998-11-05 Thread Philip Wadler
Ralph writes, Unfortunately not, fail of IO fame has type IOError - IO a and not String - m a as Monad's new member. Here's my suggestion: o Monad ((=), return, fail) o throw (thanks Frank) instead of fail for the IO operation o raise for Haskell-2's

Re: Default Default

1998-11-05 Thread Philip Wadler
John Peterson writes Int is really not a nice datatype and we shouldn't be allowing it to crop up unexpectedly. Yes, but if we believed that, we should use Integer, not Int, for length. You are right, beginners may stub their toe on factorial. On the other hand, with the default set to

Re: Haskell 98 progress

1998-11-04 Thread Philip Wadler
- The simple-context restriction. My difficulty here is that there is just no good place to stop. The 'type variable in head position' option is attractive, but it's unimplemented, untested, and it's neither the status quo nor a final destination. On the other hand, we

Re: MonadZero (concluded?)

1998-11-04 Thread Philip Wadler
There is no need to have both `mzero' and `mfail' in every monad. Just have `mfail'. Leave `zero' and `plus' to MonadPlus. This should make Eric partially happy. It also means one can simply write instance Monad [] where ...return, =, as before... mfail s = []

Re: MonadZero

1998-11-03 Thread Philip Wadler
Simon says, Here are the two proposals I suggested in http://research.microsoft.com/Users/simonpj 1.Fix up the current version. use MonadZero for do expressions with *irrefutable* patterns (instead of *unfailable* patterns as now) 2.Nuke MonadZero altogether.

Re: MonadZero

1998-11-03 Thread Philip Wadler
Simon says, Sorry, I don't understand option 2, can you please explain? * Eliminate MonadZero * Add 'mfail :: m a' to Monad, with a suitable default decl * Every do expression has a type in Monad I must be dense this morning, as I'm still in the dark. What is the

Re: MonadZero

1998-11-03 Thread Philip Wadler
Thanks for the further explanation. On reflection there probably shouldn't be a default declaration for mzero. Any compiler for Haskell must do *something* if a method is called for which there is neither an explicit declaration in the instance, nor a default method. ... Leaving out

Re: Haskell 98

1998-10-26 Thread Philip Wadler
Consider the function t :: T a = T a - T a I think that it's far from clear what each of the T's mean! Worse, in Haskell 2 we'll also have t :: T T = T a - T a In (T T) one is class and the other is a type constructor. Let's leave the language as it is: class names and

Re: Functional DSP

1998-10-24 Thread Philip Wadler
re details on the web page Functional Programming in the Real World http://www.cs.bell-labs.com/~wadler/realword/ -- P

Int vs. Integer

1998-10-07 Thread Philip Wadler
Hi Simon, This really seems to have touched off a firestorm! I think the meta-argument made by Simon T (and by you) is sensible, so I don't object to maintaining the status quo. But you implied that changing the libraries led to `a ball of spaghetti', and I don't see that, can you please

Re: Int vs Integer

1998-10-06 Thread Philip Wadler
Simon proposes not to change the prelude to support Integer, giving this argument: The more this topic gets discussed the more I that it's like other Prelude things: you pull on one thing and the plate of spaghetti ends up in your lap. I'm confused. I thought at the ICFP Haskell meeting

Re: Int vs Integer

1998-09-15 Thread Philip Wadler
Simon PJ writes: I think we should - generalise length, splitAt, drop, take, replicate - generalise toEnum, fromEnum - leave (!!) alone (arrays must fit in an address space) I don't know what to do about RealFloat. Sigh If the goal is to make life easy for beginners (and

Re: type errors

1998-06-30 Thread Philip Wadler
You're right. The restriction is excessive. Thanks for pointing this out. Probably we should only require that at least one of the class variables is constrained. Why even require this? (All x) = x - x uses the class `All' which restricts its argument not one whit. -- P

Re: Teaching Haskell

1998-06-24 Thread Philip Wadler
on this mailing list without difficulty] In my opinion, such a book should assume the reader has already been through Bird and Wadler or whatever, is familiar with the lambda calculus, and has written substantial programs. Please, no more "introduction to fp" books! How about secon

Re: Wadler's prettier printer

1998-05-14 Thread Philip Wadler
Rossberg writes, thinking about whether the pretty printer proposed by Wadler requires some changes to be efficient in a strict language, I stumbled over the the last case defining `flatten': flatten (x :| y) = flatten x I wonder why it is necessary here to recurse on x

Re: Design Methodologies

1998-02-02 Thread Philip Wadler
Expert have been widely used in industry, and both have training courses that cover at least some of what you want. For a quick intro to these, see www.cs.bell-labs.com/~wadler/topics/recent.html#angry and follow the pointers from there. (This paper also contains just what you don't want

Dave MacQueen: POPL call for participation

1997-11-19 Thread Philip Wadler
Phil, Could you send the following POPL 98 Call for Participation message to the Haskell mailing list for me? Thanks, Dave --- ACM PRINCIPLES OF PROGRAMMING LANGUAGES (POPL '98)

Re: Damas-Milner, Hindley-Milner, ...

1997-10-15 Thread Philip Wadler
Briefly, what is the difference between Damas-Milner and Hindley-Milner typing? None. They are different names for the same thing. The actual algorithm was discovered a number of times. Hindley wrote a history of it, which I don't have to hand. He notes that it had already been

Re: Monads and Linear Logic

1997-09-03 Thread Philip Wadler
home page. -- P --- Philip Wadler [EMAIL PROTECTED] Bell Laboratories http://cm.bell-labs.com/cm/cs/who/wadler/ Lucent Technologies office: +1 908 582 4004 600

Re: Evaluating Haskell

1997-08-27 Thread Philip Wadler
Pizza Sites More information on Pizza is available at the following web sites (which mirror each other): http://www.cis.unisa.edu.au/~pizza University of South Australia http://cm.bell-labs.com/cm/cs/who/wadler/pizza/welcome.html Bell Labs, Lucent Technologies

Re: Evaluating Haskell

1997-08-27 Thread Philip Wadler
Pizza Sites More information on Pizza is available at the following web sites (which mirror each other): http://www.cis.unisa.edu.au/~pizza University of South Australia http://cm.bell-labs.com/cm/cs/who/wadler/pizza/welcome.html Bell Labs, Lucent Technologies

GC (was: Stumped without mutation... )

1997-08-12 Thread Philip Wadler
I think that Java might be slow, just because of this automatic garbage collection. I can't let this chestnut go unchallenged. Let's not bandy about claims without evidence. GC is perfectly fine for building into phone switches (via Erlang) so it can't be all that slow. -- P

Re: pattern guards + monads

1997-05-15 Thread Philip Wadler
Now, for monads, Phil Wadler writes a law: m = \x - k x ++ h x = m = k ++ n = k in which 'h' appears on the lhs but not the rhs, and 'n' on the rhs but not the lhs. ... perhaps the equation should read as follows? m = \x - k x ++ h x = m = k ++ m = h Yes, of course

Re: Monads, Functors and typeclasses

1997-05-14 Thread Philip Wadler
Maybe we should do it as follows: At the moment you make an instance of a class that has default definitions for one of its superclasses, and there is no corresponding instance for that class, we implicitly insert the specified default instance. If there are more instances to choose from

Journal of Functional Programming

1997-05-02 Thread Philip Wadler
subscribe. -- Philip Wadler, Editor-in-Chief, JFP JFP 6.4 July 1996 = Representing demand by partial projections John Launchbury and Gebreselassie Baraki New dimensions in heap profiling Colin Runciman and Nicklas Rojemo Benchmarking implementations of functional languages

Re: pattern guards and guarded patterns

1997-04-30 Thread Philip Wadler
Tommy Thorn writes: My only worry is that Haskell (if not already) is turning into the C++ of functional languages, ie. feature upon feature. Haskell is already quite a mouthfull to learn. This worries me too. Not least is the problem that - is not a particularly natural syntax for this

Re: global type inference

1997-02-25 Thread Philip Wadler
I think the report has it about right. * A conforming implementation of Haskell 1.4 must support mutually recursive modules. That is, a collection of individually legal mutually recursive modules is a legal Haskell program. * The Report recognises that implementations available in

Re: global type inference

1997-02-25 Thread Philip Wadler
This isn't muddling implemenation with language design. The language design says mutual recursion is OK. A particular implementation supporting separate compilation will typically require a variety of "help", such as a Makefile with accurate dependencies. Requiring type signatures, or

Re: Haskell 1.3

1996-03-08 Thread Philip Wadler
It looks ugly, but we could say that a data declaration does not have to have any constructors: data Empty = -- Lennart I agree that the best way to fix this is to have a form of data declaration with no constructors, but I'm not keen on the syntax you propose. How about if

Haskell 1.3

1996-03-07 Thread Philip Wadler
power x n | n 0 = x * power x (n-1) completely obscures the similarity between `power' and `product'. As a case in point, I cannot see a way to rewrite the Bird and Wadler text without (n+1) patterns. This is profoundly disappointing, because now that Haskell 1.3 is coming out, it seems

Re: 1.3 PreludeList _____By functions' restricted type

1995-12-21 Thread Philip Wadler
Alistair, I agree with Mike Gunter on this one. -- P Mike Gunter writes: The By functions in the 1.3 PreludeList (elemBy, deleteBy, etc.) all take ``equality'' predicates with type a - a - Bool. Most of these functions (with no change in definition that I see in a quick

Re: Haskell 1.3 (newtype)

1995-09-19 Thread wadler
Sebastian suggests using some syntax other than pattern matching to express the isomorphism involved in a newtype. I can't see any advantage in this. Further, Simon PJ claims that if someone has written data Age = Age Int foo (Age n) = (n, Age (n+1)) that we want to be able to

Re: Haskell 1.3 (newtype)

1995-09-13 Thread wadler
Well, I'm glad to see I provoked some discussion! Simon writes: Lennart writes: | So if we had | |data Age = Age !Int |foo (Age n) = (n, Age (n+1)) | | it would translate to | |foo (MakeAge n) = (n, seq MakeAge (n+1)) | | [makeAge is the

Re: Haskell 1.3 (newtype)

1995-09-12 Thread wadler
The design of newtype appears to me incorrect. The WWW page says that declaring newtype Foo = Foo Int is distinct from declaring data Foo = Foo !Int (where ! is a strictness annotation) because the former gives case Foo undefined of Foo _ - True = True and the

Re:

1995-08-29 Thread wadler
are there as well: Imperative Functional Programming Monads for Functional Programming The Essence of Functional Programming Comprehending Monads Cheers, -- P --- Professor Philip Wadler

Lectureships at Glasgow

1995-03-16 Thread wadler
--- Professor Philip Wadler[EMAIL PROTECTED] Department of Computing Science tel: +44 141 330 4966 University of Glasgow fax: +44 141 330 4913 Glasgow G12 8QQ, SCOTLAND

Re: Strictness and Unlifted Products

1993-11-10 Thread wadler
In all of this, I neglected to mention *why* I think unlifted tuples are a good idea. I've given various reasons, but not the real one. The real one is: Embarassment. I wrote an implementation of linear logic in Haskell. It took a while before I discovered why my implementation got into a

Re: Lifted Tuples

1993-11-08 Thread wadler
It might help to recall some terminology from domain theory. I assume here that all domains are pointed, i.e., have a bottom element. (John Launchbury's note refer to a semantics with unpointed domains). 1. Products, a \times b. These are unlifted products, with (\bot,\bot)=\bot, and with

Laws of unlifted tuples

1993-11-05 Thread wadler
Simon notes that lifted functions prevent certain optimisations, and then Joe wonders if lifting tuples prevents optimisations. Arvind has already answered this question. Unlifted tuples satisfy the type isomorphism (a,(b,c)) = (a,b,c) which is heavily used for optimising Id, but

Re: Lifted functions

1993-11-04 Thread wadler
* My taste is that isomorphic possibly-abstract types should get a new kind of type declaration (newtype, isotype, or whatever), perhaps defined to be exactly equivalent to a algebraic data type with just one strict constructor. But I don't feel strongly about this. (At least

Re: Strictness

1993-10-29 Thread wadler
I've separated this from my previous note, because it's about the precise question of strictness annotations rather than the more general question of laws. I would rather tell someone that to define a new type exactly isomorphic to an old type they need to write newtype Type =

Re: Strictness

1993-10-29 Thread wadler
If Lennart was asking, `Shall we make laws a paramount design feature of Haskell, and therefore go for unlifted tuples, unlifted functions, and no n+k or literal patterns', my answer would be `let's go for it'. But I suspect what Lennart is really asking is `Shall we ignore laws, have lifted

Re: Strictness

1993-10-29 Thread wadler
Paul writes, I think it's important to realize that laws aren't being entirely lost -- they're just being weakened a (wee) bit, in the form of carrying an extra constraint. For example, eta conversion: \x - f x = f must simply be modified slightly: \x -

Re: Recursive type synonyms

1993-10-19 Thread wadler
John notes that recursive type synonyms may lead to less comprehensible error messages. Good point! As John says, experimentation would be a good idea. Any takers? Cheers, -- P

Re: Lifted products

1993-10-05 Thread wadler
Oops! I should have underlined in my last message where I wrote `newtype' instead of `datatype'. As a result, Simon seems to have completely misunderstood my proposal. Sorry about that. Simon seems to think I am proposing that if one writes datatype T a_1 ... a_k = C t_1 ... t_n

Re: ADTs and strictness

1993-10-05 Thread wadler
Gerald Ostheimer notes that in Abramsky and Ong's lazy lambda calculus that (\x - bottom) differs from bottom. That's correct. But just because they call it `lazy' doesn't mean that it really is the essence of laziness. I prefer to use the more neutral name `lifted lambda calculus' for their

Recursive type synonyms

1993-10-05 Thread wadler
it! The obvious way to go is for someone to implement it first, to make sure it's not difficult. Mark Jones, have you tried this in Gofer yet? Cheers, -- P --- Professor Philip Wadler[EMAIL PROTECTED

Re: ADTs in Haskell

1993-10-04 Thread wadler
--- Professor Philip Wadler[EMAIL PROTECTED] Department of Computing Sciencetel: +44 41 330 4966 University of Glasgow fax: +44 41 330 4913 Glasgow G12 8QQ, SCOTLAND

Re: ADTs in Haskell

1993-10-03 Thread wadler
Wadler[EMAIL PROTECTED] Department of Computing Sciencetel: +44 41 330 4966 University of Glasgow fax: +44 41 330 4913 Glasgow G12 8QQ, SCOTLAND

Re: Defining Haskell 1.3 - Committee volunteers wanted

1993-09-27 Thread wadler
Three cheers for Brian, for his work to keep Haskell a living and growing entity. I propose as a touchstone for 1.3 that they should only look at extensions that have been incorporated in one or more Haskell implementations. Hence the following are all good candidates for 1.3's scrutiny:

Re: Polymorphic recursive calls possible via type classes

1993-07-28 Thread wadler
Joe writes: | Phil Writes: | | | The closest one can come is | | | |class G a where | |g :: a - Bool | |g x = g [x] | | | |instance G Int | |instance G [Int] | |instance G [[Int]] | |... | | | |which requires an

Re: Polymorphic recursive calls possible via type classes

1993-07-28 Thread wadler
Joe writes: I forgot to mention that I did try it with hbc: ... transcript of working program omitted ... That's surprising! I'd be interested to know if `maptry' works, since in that case it makes sense to run the program, as well as type it. Cheers, -- P

Re: Polymorphic recursive calls possible via type classes

1993-07-28 Thread wadler
to define `maptrie'. On the other hand, both ML and Haskell type classes admit the useful compiling technique of transforming polymorphism to monomorphism; ML+ does not. Cheers, -- P --- Philip Wadler

Re: n+k patterns

1993-05-18 Thread wadler
You are quite right. I'd forgotten about local rebinding, because I feel that all local rebinding should be disallowed. Anyone want to start a movement to eliminate local rebinding? (1/2 :-) Cheers, -- P - Begin Included Message - From [EMAIL PROTECTED] Tue May 18 14:56:37 1993

Re: n+k patterns

1993-05-18 Thread wadler
Both (=) and (-) belong to classes defined in PreludeCore, and hence cannot be rebound. This was a deliberate decision, made in order to turn your point into a non-problem. Long live (n+k)! -- P - Begin Included Message - From [EMAIL PROTECTED] Mon May 17 21:33:41 1993 From:

Re: Stupid Haskell question

1993-02-23 Thread wadler
Given your correction, I think that the type declaration data FooTree a b = Leaf b | Node a (FooTree a b) a (FooTree a b) will handle things only a little less neatly than the use of wrappers, and will allow you to use type inference in much the way you wish. What do you think? Cheers,

Re: Stupid Haskell question

1993-02-23 Thread wadler
Guy, You write, But now suppose that some of the annotations refer to FooTree items (another thing I forgot to say). I suppose I could do data FooTree a b = Leaf b | Node a (FooTree a b) a (FooTree a b)

Re: Stupid Haskell question

1993-02-22 Thread wadler
Guy, I agree that the report should be updated to express the restriction we really have in mind. Simon: as editor, this is your bailiwick! I also think its neat that you seem to have found a use for cyclic unification. This is definitely an impetus to extend the language to include cyclic

Re: Stupid Haskell question

1993-02-22 Thread wadler
Included Message - From [EMAIL PROTECTED] Thu Feb 18 17:21:56 1993 From: Guy Steele [EMAIL PROTECTED] Date: Thu, 18 Feb 93 12:20:44 EST To: wadler [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Re: Stupid Haskell question Cc: [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL

Re: Multiple parameters to classes

1992-04-16 Thread Philip Wadler
| I am part of a group working on a new language for Microwave hardware | design (MHDL). As it turns out, we are incorporating almost all of | Haskell 1.2 into it. If there is anything written about this language, please send a pointer to this mailing list; and please keep us appraised of your

Re: Expressiveness of functional language I/O

1992-03-19 Thread Philip Wadler
Evan writes: | Consider a polymorphic continuation request such as the following: | | someRequest :: T a - (U a - Dialogue) and then shows this does not work in the stream model, unless one has existential types. Quite true, but note that there are *no* polymorphic IO functions! At least,

Re: Array Indexing

1992-03-02 Thread Philip Wadler
! It is the responsibility of the programmer to enforce bounds ! checking when required in non-derived instances of class @Ix@. ! An implementation is not required to check that an index ! lies within the bounds of an array when accessing that array. The above is fine by me, but here is a more

Re: The Great Integer Division Controversy

1992-02-24 Thread Philip Wadler
I gather the change you propose makes `div` consistent with SML and Miranda, and uses `quo` for what Scheme calls `quotient`. Sounds good to me. -- P

exit in PreludeIO

1992-02-23 Thread Philip Wadler
The function "exit" in PreludeIO would suit its purpose better if: (a) It wrote to "stderr" rather than "stdout", (b) It followed the error message with a newline. Easy and quick to change! What do people think? (Especially Paul and Joe.) -- P

functional language implementations

1992-02-18 Thread Philip Wadler
Here is my current list of Haskell implementations. If anyone has corrections or additions, please send them to me. Cheers, -- P HASKELL, Sun-3 and Sun-4 Glasgow Haskell by Cordy Hall, Kevin Hammond, Will Partain, Simon Peyton Jones, Phil Wadler compiler, implemented in Haskell, runs stand

(n+k)

1992-02-12 Thread Philip Wadler
(n+k) patterns are still causing difficulties in the syntax. I would be happy with the following: On a lhs, only allow (n+k) patterns in arguments. Thus n+1 = ... is ALWAYS a definition of (+), but f (n+1) = case m of {n+1 - ...} are still allowed.

Re: Literate comments

1992-02-06 Thread Philip Wadler
RFC-822-HEADERS: Original-Via: == We seem to be converging here. I prefer Simon's suggestion of an appendix to Paul's suggestion of a Section 1.6, but am not too bothered either way. Will also try to work in Simon's note about file extensions. I am happy to leave the question

Literate comments

1992-02-05 Thread Philip Wadler
Despite Paul having ruled on the matter, the debate still rages, with about half saying that is wonderful, and half saying it is awful. Under these circumstances, Paul's ruling seems right: it is pointless to legislate as part of the language. On the other hand, the current circumstance is