RE: Missing HPPA1.1 GHC 2.10 link
Sven's hppa-1.1 binaries seem to have moved to: ftp://ftp.informatik.uni-muenchen.de/pub/local/pms/OLDSTUFF/ I'll update the web pages. There's also a 3.03 binary set there that will probably be more useful to you than 2.10. BTW, we haven't ported 4.02 to HPPA1.1 yet - it will certainly need some effort, although probably not too much. We'll be happy to help out if you could provide us with an account... Cheers, Simon
RE: fromInteger/hClose bugs in 4.03
OK, the Word module has been fixed in the repository, but not the Int module. Ok, done now. Hmmm, looking at the sources, I don't understand the reason why the IntXY methods for fromInteger use a case while the corresponding methods in Word don't: Int.lhs: [...] fromInteger (J# s# d#) = case (integer2Int# s# d#) of { i# - I8# (intToInt8# i#) } [...] Word.lhs: [...] fromInteger (J# s# d#) = W8# (wordToWord8# (integer2Word# s# d#)) [...] No particular reason, the code generated is the same in either case. Cheers, Simon
Re: Haskell 2 -- Dependent types?
On 22-Feb-1999, Nick Kallen [EMAIL PROTECTED] wrote: min2 :: [a] - a min2 ((l:ls) :: [a] = Sorted) = l min2 l = min l What's the semantics of that supposed to be? If the list is not known to be definitely sorted, will it check sortedness at runtime? If not, then the semantics could be nondeterministic, in general, so you've broken referential transparency. If so, what's the difference between that and this? min3 :: [a] - a min3 (l:ls) | sorted (l:ls) = l min3 l = min l Here I'm just using an ordinary guard, and `sorted' is just an ordinary function. Heh. I'm not seriously advocating adding my magic operator to the language, but I am pointing out that explicitly passing around proofs is a pain in the ass. This is good evidence that Fergus is right when he says: "As a programmer, I want the two to be clearly separated." However, his clear separation would not allow min2, would it? It would allow min3, above. I'm not sure what min2 buys you over min3. If the `Sorted' type is defined in terms of `sorted', then a compiler ought to be able to optimize min3 just as well as min2, I think. -- Fergus Henderson [EMAIL PROTECTED] | "Binaries may die WWW: http://www.cs.mu.oz.au/~fjh | but source code lives forever" PGP: finger [EMAIL PROTECTED]| -- leaked Microsoft memo.
Re: Haskell 2 -- MR, for Curry's sakes go.
John Launchbury: I agree that the MR is a pain. [...] Now we find that some type declarations contain more class info than type!! And some type(+class) declarations are longer than the definition! This sounds a trite point, but it gets very annoying when one is "rapid-prototyping" (aka hacking, aka not wanting to think too hard about what type is really is), and one finds a correct function definition won't compile without a type sig, which itself then becomes wrong later, when one "prototypes" elsewhere -- even if the defintion was till completely correct. I think the MR and the default mechanism are both hacks that were introduced to serve a purpose. Few people love them, but I also suspect that few people think they serve no useful purpose at all. As far as I can see, it's alleged to serve a number of purposes... o Avoiding "call by name" like behaviour on unwittingly overloaded CAFs; o Avoiding some cases where (some extra) ambiguity may arise without the MR; o Getting the best possible types in instances where there's an MR 'monomorphisation', followed by a top-level generalisation step. Sorry if I'm a bit vague on the latter two; it's been a while since I've seen a thoroughgoing Apologia for the MR. At any rate, the first is surely best taken care of as a matter of compiler pragmatics. A compiler can clearly do at least as well by treating it as a 'stiff warning message' type offence, but more importantly, this would allow a compiler to do _better_, where it can detect that there's not really such a problem, or that it can be finessed by multiple specialised instances, or whatever. The second I don't feel too concerned about: adding ambiguity to a language that doesn't suffer from it would make me worry, but this is far from the case, here... The last is the one I'm the least clear on. Is this at least helped by adding scoped type sigs, or something of that sort? Can someone racapitulate on this point, or ideally even give the low-down on the 'state of the art' for alternative solutions to this one? What we need is a general solution to managing classes and ambiguity, and then hopefully we can dispense with the hacks. That would indeed be nice. Slan libh, Alex.
Re: Haskell-2
I think views are really neat, but am not quite sure how I feel about pattern guards. Views are neat. Pattern guards are an absolute must. They are just The Right Thing when you need them, and working around not having them is clumsy. -- Lennart
CFP WFLP99
Apologies if you receive multiple copies of this announcement -- CALL FOR PAPERS/PARTICIPATION WFLP'99 8th International Workshop on Functional and Logic Programming (http://www-leibniz.imag.fr/PMP/WFLP99) Grenoble, France 28-30 June 1999 -- AIMS and SCOP WFLP'99 is the 8th of a series of international meetings. The aim of the WFLP'99 workshop is to bring together researchers and students in order to communicate and discuss recent developements as well as new research directions in the area of declarative programming languages. The topics of interest include but are not limited to: Extentions of declarative languages Constraint logic programming Functional programming Integration of declarative languages Concurrent declarative languages Implementation of declarative languages Semantics Inductive declarative programming Program analysis Programming environments Constraint Term and Graph Rewriting Constraint Term and Graph Narrowing Specification and Verification --- SUBMISSION Authors are invited to submit an extented abstract in Postscript format not exceeding12 pages via email to [EMAIL PROTECTED] before May 1st, 1999. --- LOCATION and Accomodation WFLP99 will take place at the Chateau de la Baume near Grenoble, France. The participants will stay either at the Chateau or at the nearest hotels (5'walk). Full board is about 61 Euros per day for a single room and 45,7 Euros for a double room. Payments will be made directely to the Chateau de la Baume either by credit cards or cash. More information will be available on the home page of the workshop. --- REGISTRATION FORM for WFLP`99 The number of places is limited. Please fill the registration form and send it as soon as possible via email to [EMAIL PROTECTED] befor May 1st, 1999. First Name: .. Last Name: ... Institution: . E-mail: .. www: . Address: . I prefere a single room : () yes () do not care I prefere a double room : () yes () yes with ()no In case of a shortage of rooms, I am willing to share a room: () yes () yes with () no Date of arrival: . First meal: () Breakfast, () Lunch, () Dinner Date of departure: Last meal: () Breakfast, () Lunch, () Dinner I intend to give a talk: () short-15' () long-30' Message to the organizers: --- DATES Registration: 1 May Talk abstracts: 1 May Workshop: 28-30 June --- CONTACT WFLP99 Rachid Echahed Laboratoire LEIBNIZ 46, avenue Felix Viallet 38031 Grenoble, France Phone : +33 4 76 57 48 91 Fax: +33 4 76 57 46 02 Email: [EMAIL PROTECTED] --- TRAVEL INFORMATION Grenoble is easily reachable by car, train or plane. Train: From Paris, the fast TGV train departs from Gare de Lyon several times a day and reaches Grenoble within 3 hours. Plane: The airport of Lyon-Satolas is served by most major airlines. From Lyon-Satolas you can take a shuttle bus to Grenoble (one hour). Grenoble Airport (Saint Geoirs) is served mostly by domestic flights, and from there you can take a bus to Grenoble (40'). From the railwaystation or bus station you can take a Taxi or a bus to go to the Chateau de La Baune. More information will be available on the home page of the workshop.