From conal at conal.net Sun Dec 2 15:03:45 2007 From: conal at conal.net (Conal Elliott) Date: Sun Dec 2 15:06:16 2007 Subject: [Haskell] IVars Message-ID: what became of (assign-once) IVars? afaict, they were in concurrent haskell and now aren't. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071202/f1daa3b8/attachment.htm From lennart at augustsson.net Mon Dec 3 03:29:32 2007 From: lennart at augustsson.net (Lennart Augustsson) Date: Mon Dec 3 03:25:10 2007 Subject: [Haskell] IVars In-Reply-To: References: Message-ID: You can make them from MVars. On Dec 2, 2007 8:03 PM, Conal Elliott wrote: > what became of (assign-once) IVars? afaict, they were in concurrent > haskell and now aren't. > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071203/a5854fcb/attachment.htm From rjmh at cs.chalmers.se Mon Dec 3 06:31:37 2007 From: rjmh at cs.chalmers.se (John Hughes) Date: Mon Dec 3 06:27:23 2007 Subject: [Haskell] Jobs in Functional Programming event at Chalmers In-Reply-To: <015701c82b6a$35131570$9f394050$@chalmers.se> References: <015701c82b6a$35131570$9f394050$@chalmers.se> Message-ID: <004401c835a0$12d4baf0$387e30d0$@chalmers.se> I'm proud to announce that the first "Jobs in Functional Programming" recruitment evening will be held at Chalmers University on the 14th of December. As far as I am aware, this is the first time such an event has been held anywhere in the world. While we're holding the event at Chalmers because we have many skilled functional programmers among our students, it is of course open to anyone who would like to take part. All the details can be found at www.jobs-in-fp.org. Welcome to what promises to be a very exciting event! John Hughes -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071203/f60aaccd/attachment.htm From conal at conal.net Tue Dec 4 01:25:17 2007 From: conal at conal.net (Conal Elliott) Date: Tue Dec 4 01:20:55 2007 Subject: [Haskell] IVars In-Reply-To: References: Message-ID: Oh. Simple enough. Thanks. Another question: why the IO in readIVar :: IVar a -> IO a, instead of just readIVar :: IVar a -> a? After all, won't readIVar iv yield the same result (eventually) every time it's called? On Dec 3, 2007 12:29 AM, Lennart Augustsson wrote: > You can make them from MVars. > > On Dec 2, 2007 8:03 PM, Conal Elliott wrote: > > > what became of (assign-once) IVars? afaict, they were in concurrent > > haskell and now aren't. > > > > _______________________________________________ > > Haskell mailing list > > Haskell@haskell.org > > http://www.haskell.org/mailman/listinfo/haskell > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071203/861f3097/attachment.htm From lennart at augustsson.net Tue Dec 4 03:19:23 2007 From: lennart at augustsson.net (Lennart Augustsson) Date: Tue Dec 4 03:14:57 2007 Subject: [Haskell] IVars In-Reply-To: References: Message-ID: Good question. That must be a matter of taste, because as you say the read will always produce the same result. But it sill is a bit of a strange operation. -- Lennart On Dec 4, 2007 6:25 AM, Conal Elliott wrote: > Oh. Simple enough. Thanks. > > Another question: why the IO in readIVar :: IVar a -> IO a, instead of > just readIVar :: IVar a -> a? After all, won't readIVar iv yield the same > result (eventually) every time it's called? > > > On Dec 3, 2007 12:29 AM, Lennart Augustsson > wrote: > > > You can make them from MVars. > > > > On Dec 2, 2007 8:03 PM, Conal Elliott wrote: > > > > > what became of (assign-once) IVars? afaict, they were in concurrent > > > haskell and now aren't. > > > > > > _______________________________________________ > > > Haskell mailing list > > > Haskell@haskell.org > > > http://www.haskell.org/mailman/listinfo/haskell > > > > > > > > > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071204/6f9108b5/attachment.htm From simonpj at microsoft.com Tue Dec 4 03:25:28 2007 From: simonpj at microsoft.com (Simon Peyton-Jones) Date: Tue Dec 4 03:21:04 2007 Subject: [Haskell] IVars In-Reply-To: References: Message-ID: But since the read may block, it matters *when* you perform it. For example if you print "Hello" and then read the IVar, you'll block after printing; but if you read the IVar and then print, the print won't come out. If the operation was pure (no IO) then you'd have a lot less control over when it happened. Simon From: haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] On Behalf Of Lennart Augustsson Sent: 04 December 2007 08:19 To: Conal Elliott Cc: haskell@haskell.org Subject: Re: [Haskell] IVars Good question. That must be a matter of taste, because as you say the read will always produce the same result. But it sill is a bit of a strange operation. -- Lennart On Dec 4, 2007 6:25 AM, Conal Elliott < conal@conal.net> wrote: Oh. Simple enough. Thanks. Another question: why the IO in readIVar :: IVar a -> IO a, instead of just readIVar :: IVar a -> a? After all, won't readIVar iv yield the same result (eventually) every time it's called? On Dec 3, 2007 12:29 AM, Lennart Augustsson > wrote: You can make them from MVars. On Dec 2, 2007 8:03 PM, Conal Elliott > wrote: what became of (assign-once) IVars? afaict, they were in concurrent haskell and now aren't. _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071204/e71d2125/attachment-0001.htm From hcar at haskell.org Tue Dec 4 05:18:06 2007 From: hcar at haskell.org (Andres Loeh) Date: Tue Dec 4 05:13:41 2007 Subject: [Haskell] REMINDER: HC&A Report (December 2007 edition) Message-ID: <20071204101806.GJ15967@cs.uu.nl> Dear Haskellers, the deadline for the December 2007 edition of the Haskell Communities and Activities Report is only a few days away. If you haven't already, please write an entry for your new project, or update your old entry. Until now, I have about 30 reactions. This is okay compared to the development of previous editions, but not enough given the number of announcements on this list during the past months. Also, many regular contributors haven't yet submitted their entries. Please do! The deadline is Friday, 7 December 2007. If you absolutely cannot make it by Friday, I may be able to give a few days extension on an individual basis. Please contact me if you have any questions. Please mail your entries to , in plain text or pseudo-(La)TeX format. More information can be found in the original Call for Contributions at http://www.haskell.org/pipermail/haskell/2007-November/019988.html I look forward to receiving your contributions. Thanks a lot, Andres (current editor) From nikhil at bluespec.com Tue Dec 4 07:17:49 2007 From: nikhil at bluespec.com (Rishiyur Nikhil) Date: Tue Dec 4 07:13:25 2007 Subject: [Haskell] Re: Haskell Digest, Vol 52, Issue 1 In-Reply-To: <20071204082110.363F2324314@www.haskell.org> References: <20071204082110.363F2324314@www.haskell.org> Message-ID: <867033cd0712040417m78081f18t3343f4326d44eb07@mail.gmail.com> Simon Peyton-Jones said: > But since the read may block, it matters *when* you perform it. > For example if you print "Hello" and then read the IVar, you'll > block after printing; but if you read the IVar and then print, the > print won't come out. If the operation was pure (no IO) then you'd > have a lot less control over when it happened. But this is true of any expression in a non-strict language. Why the special treatment of IVars? Nikhil -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071204/d6a4b31c/attachment.htm From simonmarhaskell at gmail.com Tue Dec 4 08:53:07 2007 From: simonmarhaskell at gmail.com (Simon Marlow) Date: Tue Dec 4 08:48:46 2007 Subject: [Haskell] Re: Haskell Digest, Vol 52, Issue 1 In-Reply-To: <867033cd0712040417m78081f18t3343f4326d44eb07@mail.gmail.com> References: <20071204082110.363F2324314@www.haskell.org> <867033cd0712040417m78081f18t3343f4326d44eb07@mail.gmail.com> Message-ID: <47555BC3.4010501@gmail.com> Rishiyur Nikhil wrote: > Simon Peyton-Jones said: > > > But since the read may block, it matters *when* you perform it. > > For example if you print "Hello" and then read the IVar, you'll > > block after printing; but if you read the IVar and then print, the > > print won't come out. If the operation was pure (no IO) then you'd > > have a lot less control over when it happened. > > But this is true of any expression in a non-strict language. > > Why the special treatment of IVars? Consider this: do x <- newIVar let y = readIVar x writeIVar x 3 print y (I wrote the let to better illustrate the problem, of course you can inline y if you want). Now suppose the compiler decided to evaluate y before the writeIVar. What's to prevent it doing that? Nothing in the Haskell spec, only implementation convention. GHC will not transform the program in this way, because it can have some other undesirable effects. e.g. see http://hackage.haskell.org/trac/ghc/ticket/1592 A pure readIVar would be just like lazy I/O, with similar drawbacks. With readIVar, the effect that lets you observe the evaluation order is writeIVar; with hGetContents it is hClose. Conclusion: it's probably no worse than lazy I/O. Cheers, Simon From morrispwj at gmail.com Tue Dec 4 09:42:36 2007 From: morrispwj at gmail.com (Peter Morris) Date: Tue Dec 4 09:38:10 2007 Subject: [Haskell] Small Workshop: DEPENDENTLY TYPED PROGRAMMING Message-ID: Hi everybody, You may be interested to know that we (Thorsten Altenkirch, Tarmo Uustalu & myself) are organizing a small TYPES workshop on *Dependently Typed Programming*. This is a workshop in the tradition of previous workshops on "Dependent Types in Programming" and "Dependently Typed Programming" which cover the use of dependent types in programming in languages like Agda, Cayenne, Coq's CIC, DML, Epigram, Omega, ... The workshop is taking place 18-20 February in Nottingham at the NCSL conference centre. This is on campus but much nicer than the usual student accommodation! The invited speakers at the workshop will be Lennart Augustsson and Xavier Leroy. For more details see the web page: http://sneezy.cs.nott.ac.uk/darcs/DTP08 The deadline for talks and registration will be in January. However, if you know you would like to come we would appreciate it if you could email us (_@_ dtpnott08 cs.nott.ac.uk) as soon as possible to register your intentions. We have to promise a certain number of rooms and you will also ensure you get accommodation at the NCSL. Cheers, The Organizers -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071204/70baaa52/attachment.htm From jmaessen at alum.mit.edu Tue Dec 4 12:02:27 2007 From: jmaessen at alum.mit.edu (Jan-Willem Maessen) Date: Tue Dec 4 11:58:07 2007 Subject: [Haskell] IVar In-Reply-To: <47555BC3.4010501@gmail.com> References: <20071204082110.363F2324314@www.haskell.org> <867033cd0712040417m78081f18t3343f4326d44eb07@mail.gmail.com> <47555BC3.4010501@gmail.com> Message-ID: <18D3254B-D99E-46BB-8E69-4273541D3832@alum.mit.edu> On Dec 4, 2007, at 8:53 AM, Simon Marlow wrote: > Rishiyur Nikhil wrote: >> Simon Peyton-Jones said: >> > But since the read may block, it matters *when* you perform it. >> > For example if you print "Hello" and then read the IVar, you'll >> > block after printing; but if you read the IVar and then print, the >> > print won't come out. If the operation was pure (no IO) then >> you'd >> > have a lot less control over when it happened. >> But this is true of any expression in a non-strict language. >> Why the special treatment of IVars? > > Consider this: > > do > x <- newIVar > let y = readIVar x > writeIVar x 3 > print y > > (I wrote the let to better illustrate the problem, of course you can > inline y if you want). Now suppose the compiler decided to evaluate > y before the writeIVar. What's to prevent it doing that? Nothing > in the Haskell spec, only implementation convention. Nope, semantics. If we have a cyclic dependency, we have to respect it---it's just like thunk evaluation order in that respect. If we decide to do the evaluation eagerly, we have to be prepared to bail out when the information we require is not available to us. The easiest expedient from GHC's perspective is to perform the evaluation lazily, just as we'd expect. > GHC will not transform the program in this way, because it can have > some other undesirable effects. e.g. see > > http://hackage.haskell.org/trac/ghc/ticket/1592 > > A pure readIVar would be just like lazy I/O, with similar > drawbacks. With readIVar, the effect that lets you observe the > evaluation order is writeIVar; with hGetContents it is hClose. > Conclusion: it's probably no worse than lazy I/O. Actually, it's considerably better. The only thing we can observe is that the implementation failed to respect the desired semantics (which state that computation blocks until the value is available). That causes problems with the strictness properties of I/O, but everything to do with the strictness properties of I/O is problematic (because we have to decide whether exit = _|_ or not as the above report notes). It doesn't, so far as I can see, cause problems with the strictness properties of pure computations except that a thread can block in the middle of a pure computation waiting for an IVar to fill. Possibly tricky from an RTS perspective, but there's no *semantic* problem. -Jan > > > Cheers, > Simon > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell From iavor.diatchki at gmail.com Tue Dec 4 14:41:37 2007 From: iavor.diatchki at gmail.com (Iavor Diatchki) Date: Tue Dec 4 14:37:11 2007 Subject: [Haskell] Nested guards? Message-ID: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> Hi, Lately I have been using pattern guards more than usual and I find that occasionally I need to nest them (i.e., I have alternatives with a common prefix). This seems to happen when I need to do some preliminary checking, followed by some decision making. Here is an example: server text | Just xs <- parse text , | "field1" `elem` xs = ... do one thing ... | "field2" `elem` xs = ... do something else ... server _ = ... invalid request ... As far as I can see this should be a fairly simple change to the pattern bindings extension. Would anyone else find this a useful feature, and if so what syntax should we use? -Iavor From zunino at di.unipi.it Tue Dec 4 15:23:33 2007 From: zunino at di.unipi.it (Roberto Zunino) Date: Tue Dec 4 15:19:38 2007 Subject: [Haskell] Nested guards? In-Reply-To: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> References: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> Message-ID: <4755B745.2080002@di.unipi.it> Iavor Diatchki wrote: > server text > | Just xs <- parse text > , | "field1" `elem` xs = ... do one thing ... > | "field2" `elem` xs = ... do something else ... > > server _ = ... invalid request ... What about: server text | Just xs <- parse text = let x | "field1" `elem` xs = error "... do one thing ..." | "field2" `elem` xs = error "... do something else ..." in x server _ = error "... invalid request ..." Regards, Zun. From taralx at gmail.com Tue Dec 4 17:57:12 2007 From: taralx at gmail.com (Taral) Date: Tue Dec 4 17:52:43 2007 Subject: [Haskell] Re: Haskell Digest, Vol 52, Issue 1 In-Reply-To: <47555BC3.4010501@gmail.com> References: <20071204082110.363F2324314@www.haskell.org> <867033cd0712040417m78081f18t3343f4326d44eb07@mail.gmail.com> <47555BC3.4010501@gmail.com> Message-ID: On 12/4/07, Simon Marlow wrote: > do > x <- newIVar > let y = readIVar x > writeIVar x 3 > print y > > (I wrote the let to better illustrate the problem, of course you can inline > y if you want). Now suppose the compiler decided to evaluate y before the > writeIVar. What's to prevent it doing that? Look at the translation: newIVar >>= (\x -> let y = readIVar x in writeIVar x 3 >> print y) y can't be floated out because it depends on x. -- Taral "Please let me know if there's any further trouble I can give you." -- Unknown From taralx at gmail.com Tue Dec 4 18:02:46 2007 From: taralx at gmail.com (Taral) Date: Tue Dec 4 17:58:18 2007 Subject: [Haskell] Nested guards? In-Reply-To: <4755B745.2080002@di.unipi.it> References: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> <4755B745.2080002@di.unipi.it> Message-ID: On 12/4/07, Roberto Zunino wrote: > server text > | Just xs <- parse text = let > x | "field1" `elem` xs = error "... do one thing ..." > | "field2" `elem` xs = error "... do something else ..." > in x > server _ = error "... invalid request ..." Not the same fallthrough properties. You'd have to clone the "server _" clause into the x clause. -- Taral "Please let me know if there's any further trouble I can give you." -- Unknown From gundberg at dtek.chalmers.se Tue Dec 4 18:16:26 2007 From: gundberg at dtek.chalmers.se (Per Gundberg) Date: Tue Dec 4 18:11:58 2007 Subject: [Haskell] Nested guards? In-Reply-To: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> References: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> Message-ID: <52182.193.11.251.203.1196810186.squirrel@webmail.chalmers.se> Have you looked at the proposed view patterns? It seems like it would cover the case you gave here. I don't know if there's work being done in this area though. http://hackage.haskell.org/trac/ghc/wiki/ViewPatterns //Gundberg > Hi, > Lately I have been using pattern guards more than usual and I find > that occasionally I need to nest them (i.e., I have alternatives with > a common prefix). This seems to happen when I need to do some > preliminary checking, followed by some decision making. Here is an > example: > > server text > | Just xs <- parse text > , | "field1" `elem` xs = ... do one thing ... > | "field2" `elem` xs = ... do something else ... > > server _ = ... invalid request ... > > As far as I can see this should be a fairly simple change to the > pattern bindings extension. Would anyone else find this a useful > feature, and if so what syntax should we use? > > -Iavor > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > From lennart at augustsson.net Tue Dec 4 18:36:56 2007 From: lennart at augustsson.net (Lennart Augustsson) Date: Tue Dec 4 18:32:29 2007 Subject: [Haskell] IVars In-Reply-To: References: Message-ID: That argument doesn't totally fly since non-termination isn't considered an effect in Haskell. Bottom doesn't commute with a IO operations normally either. But not having readIVar return 'IO a' does make me a little quesy. :) -- Lennart On Dec 4, 2007 8:25 AM, Simon Peyton-Jones wrote: > But since the read may block, it matters **when** you perform it. For > example if you print "Hello" and then read the IVar, you'll block after > printing; but if you read the IVar and then print, the print won't come > out. If the operation was pure (no IO) then you'd have a lot less control > over when it happened. > > > > Simon > > > > *From:* haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] *On > Behalf Of *Lennart Augustsson > *Sent:* 04 December 2007 08:19 > *To:* Conal Elliott > *Cc:* haskell@haskell.org > *Subject:* Re: [Haskell] IVars > > > > Good question. That must be a matter of taste, because as you say the > read will always produce the same result. But it sill is a bit of a strange > operation. > > -- Lennart > > On Dec 4, 2007 6:25 AM, Conal Elliott < conal@conal.net> wrote: > > Oh. Simple enough. Thanks. > > Another question: why the IO in readIVar :: IVar a -> IO a, instead of > just readIVar :: IVar a -> a? After all, won't readIVar iv yield the same > result (eventually) every time it's called? > > > > On Dec 3, 2007 12:29 AM, Lennart Augustsson > wrote: > > You can make them from MVars. > > On Dec 2, 2007 8:03 PM, Conal Elliott wrote: > > what became of (assign-once) IVars? afaict, they were in concurrent > haskell and now aren't. > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > > > > > > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > > > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071204/ef9a260a/attachment.htm From robdockins at fastmail.fm Tue Dec 4 21:25:43 2007 From: robdockins at fastmail.fm (Robert Dockins) Date: Tue Dec 4 21:03:11 2007 Subject: [Haskell] New releases for Edison, Shellac, and the Lambda Shell Message-ID: <200712042125.43840.robdockins@fastmail.fm> Fellow Haskellers, The following packages have now all been updated to compile correctly with GHC 6.8.x and Cabal 1.2.x. Cabal 1.2 is now supported and required. GHC 6.6.x and 6.8.x are supported. I would also like to announce that these projects are now hosted from a new web home. If you have bookmarks or automated build systems that point to older versions of these packages, please update them to point to the new locations listed below. The old website will not dissapear, but it will no longer be updated. Thank you! Edison 1.2.1.1 Edison is a library of purely function data structures for Haskell. Project homepage: http://www.cs.princeton.edu/~rdockins/edison/home/ Hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/EdisonAPI-1.2.1 http://hackage.haskell.org/cgi-bin/hackage-scripts/package/EdisonCore-1.2.1.1 Shellac 0.9.1 Shellac is a framework for building read-eval-print style shells. Shells are created by declaratively defining a set of shell commands and an evaluation function. Project homepage: http://www.cs.princeton.edu/~rdockins/shellac/home/ Hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Shellac-0.9.1 http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Shellac-readline-0.9 Lambda Shell 0.9.1 The Lambda Shell is a feature-rich shell environment and command-line tool for evaluating terms of the pure, untyped lambda calculus. The Lambda Shell builds on the shell creation framework Shellac, and showcases most of Shellac's features. Project homepage: http://www.cs.princeton.edu/~rdockins/lambda/home/ Hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/LambdaShell-0.9.1 From Christian.Maeder at dfki.de Wed Dec 5 05:40:48 2007 From: Christian.Maeder at dfki.de (Christian Maeder) Date: Wed Dec 5 05:36:28 2007 Subject: [Haskell] Re: Nested guards? In-Reply-To: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> References: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> Message-ID: <47568030.6020605@dfki.de> Iavor Diatchki wrote: > Hi, > Lately I have been using pattern guards more than usual and I find > that occasionally I need to nest them (i.e., I have alternatives with > a common prefix). This seems to happen when I need to do some > preliminary checking, followed by some decision making. Here is an > example: > > server text > | Just xs <- parse text > , | "field1" `elem` xs = ... do one thing ... > | "field2" `elem` xs = ... do something else ... > > server _ = ... invalid request ... Not having used pattern guards so far, can't you write? server text = case parse text of Just xs | "field1" `elem` xs -> ... do one thing ... | "field2" `elem` xs -> ... do something else ... _ -> ... invalid request ... Christian From S.Scholz at herts.ac.uk Wed Dec 5 09:46:04 2007 From: S.Scholz at herts.ac.uk (Sven-Bodo Scholz) Date: Wed Dec 5 09:41:39 2007 Subject: [Haskell] 3 PhD Stipends in Functional Programming and Many-Cores Message-ID: <20071205144603.GA21039@herts.ac.uk> +----------------------------------------------------------------------------+ PHD STUDENTSHIPS IN PROGRAMMING LANGUAGES School of Computer Science University of Hertfordshire, UK Applications are invited for a 3-year PhD studentship in the Compiler Technology and Computer Architecture group within the School of Computer Science. We can offer three EU-funded PhD studentships as part of the EU projects "Self-Adaptive Embedded Technologies for Pervasive Computing Architectures" (Aether) and "Architecture Paradigms and Programming Languages for Efficient Programming of Multiple Cores" (Apple-CORE). The advent of multicore processors has raised new demand for techniques that allow mainstream programmers to effectively utilise machines with a rapidly growing amount of concurrency available at the hardware level. In both of the aforementioned EU-projects we address that challenge using functional techniques. While the Aether project is concerned with a stream-processing approach based on the language S-Net (), the Apple-CORE project investigates the suitability of a novel micro-threaded hardware architecture as a compilation target for functional programming languages such as the high-performance language SaC (). The architecture under consideration is developed by our partners at the University of Amsterdam (). To strengthen our research team we are looking for up to three new PhD students, who want to be involved in the theoretical and practical aspects of programming language and compiler research for the upcoming generation of highly parallel hardware architectures. Applicants should have a good honours degree or equivalent in a relevant discipline. Experience in any of the following areas is desireable: functional programming, compiler construction, type systems, concurrency theory, high-performance computing, or scientific applications. Successful applicants will become a member of the Compiler Technology and Computer Architecture group at the University of Hertfordshire, a rapidly expanding centre for research on functionally inspired approaches to the efficient utilisation of highly parallel architectures. The group currently comprises 4 academic staff, 1 research staff, and 4 PhD students plus a regular influx of shorter-term research visitors from other labs in the EU, Japan, and the US. The studentships come with a usually tax-free stipend of approximately GBP 12,600 per annum with all tuition fees and research costs being covered separately. Although the studentships do not include any teaching obligations, teaching experience can be gained by taking up extra duties which are paid for on an hourly basis. Further details regarding the studentships and how to apply are available from Mrs Lorraine Nicholls, Research Student Administrator, STRI, Faculty of Engineering and Information Sciences, University of Hertfordshire, College Lane, Hatfield, Herts, AL10 9AB, UK. Tel: +44 (0) 1707 286083 Fax: +44 (0) 1707 284185 or email: L.Nicholls@herts.ac.uk. Note, all applications must be made via Lorraine Nicholls. Informal discussions with one of the potential PhD supervisors, Dr Sven-Bodo Scholz (S.Scholz@herts.ac.uk), are encouraged before handing in an application. The short-listing process will beginn on 9. January 2008. +----------------------------------------------------------------------------+ | Dr Sven-Bodo Scholz Email : S.Scholz@herts.ac.uk | | School of Computer Science | | University of Herfordshire Web : hompages.feis.herts.ac.uk/~comqss/ | | College Lane Campus | | Hatfield, Herts, AL10 9AB, UK Phone : +44 (0)1707 28 6403 | +----------------------------------------------------------------------------+ From S.Scholz at herts.ac.uk Wed Dec 5 09:47:44 2007 From: S.Scholz at herts.ac.uk (Sven-Bodo Scholz) Date: Wed Dec 5 09:43:18 2007 Subject: [Haskell] Postdoctoral position in Functional Programming and Many-Cores Message-ID: <20071205144743.GB21039@herts.ac.uk> +----------------------------------------------------------------------------+ POSTDOCTORAL RESEARCH FELLOW IN PROGRAMMING LANGUAGES School of Computer Science University of Hertfordshire, UK Applications are invited for a 3-year postdoctoral research fellowship in functional programming, to work with Dr Sven-Bodo Scholz on the EU-funded project "Architecture Paradigms and Programming Languages for Efficient programming of multiple CORES" (Apple-CORE). The advent of multicore processors has raised new demand for techniques that allow mainstream programmers to effectively utilise machines with a rapidly growing amount of concurrency available at the hardware level. Decades of research into parallel programming have identified several challenges that need to be overcome to achieve this goal. Although the functional paradigm substantially facilitates the identification of concurrently executable tasks, its resource scheduling has proven to be a major challenge. Only in restricted settings, such as the data parallel setting of the functional language SaC (), has it been shown that satisfactory auto-parallelisation can be achieved by means of sophisticated program analysis. This project is based on a novel micro-threaded hardware architecture developed at the University of Amsterdam (). Its unique features are support for resource scheduling and fine-grain synchronisation facilities in hardware. These features make it an ideal target architecture for functional programs. The aim of the project is to explore how this may be achieved. If successful, we expect not only an improvement in the data-prallel setting, but we also believe that scalable auto-parallelisation could be possible with other forms of concurrency. Applicants for this position will hold a PhD in Computer Science, and have research experience in programming languages. Experience in any of the following areas is desireable: functional programming, compiler construction, type systems, concurrency theory, high-performance computing, or scientific applications. The successful applicant will work in collaboration with the Compiler Technology and Computer Architecture group at the University of Hertfordshire, a rapidly expanding centre for research on functionally inspired approaches to the efficient utilisation of highly parallel architectures. The group currently comprises 4 academic staff, 1 research staff, and 4 PhD students plus a regular influx of shorter-term research visitors from other labs in the EU, Japan, and the US. Salary will be within the range 25,134 - 32,796 pounds per year, depending on qualifications and experience. The post is available immediately, and will be offered on a term contract for 3 years. Further details regarding the position and how to apply are available from Dr Sven-Bodo Scholz, S.Scholz@herts.ac.uk. Applications will be screened as they arrive. For full consideration apply before 9. January 2008. +----------------------------------------------------------------------------+ | Dr Sven-Bodo Scholz Email : S.Scholz@herts.ac.uk | | School of Computer Science | | University of Herfordshire Web : hompages.feis.herts.ac.uk/~comqss/ | | College Lane Campus | | Hatfield, Herts, AL10 9AB, UK Phone : +44 (0)1707 28 6403 | +----------------------------------------------------------------------------+ From simonpj at microsoft.com Wed Dec 5 10:44:14 2007 From: simonpj at microsoft.com (Simon Peyton-Jones) Date: Wed Dec 5 10:39:45 2007 Subject: [Haskell] Nested guards? In-Reply-To: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> References: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> Message-ID: Indeed this makes sense. See Section 3 of http://research.microsoft.com/~simonpj/Papers/pat.htm It's really the syntactic/notational problem that has put me off every doing something like this. I just couldn't come up with a compelling syntax. (The syntax GHC uses has the great merit that it's identical to that for list comprehensions.) Simon | -----Original Message----- | From: haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] On Behalf Of Iavor Diatchki | Sent: 04 December 2007 19:42 | To: Haskell users | Subject: [Haskell] Nested guards? | | Hi, | Lately I have been using pattern guards more than usual and I find | that occasionally I need to nest them (i.e., I have alternatives with | a common prefix). This seems to happen when I need to do some | preliminary checking, followed by some decision making. Here is an | example: | | server text | | Just xs <- parse text | , | "field1" `elem` xs = ... do one thing ... | | "field2" `elem` xs = ... do something else ... | | server _ = ... invalid request ... | | As far as I can see this should be a fairly simple change to the | pattern bindings extension. Would anyone else find this a useful | feature, and if so what syntax should we use? | | -Iavor | _______________________________________________ | Haskell mailing list | Haskell@haskell.org | http://www.haskell.org/mailman/listinfo/haskell From demis at dimi.uniud.it Wed Dec 5 12:44:51 2007 From: demis at dimi.uniud.it (demis@dimi.uniud.it) Date: Wed Dec 5 12:40:25 2007 Subject: [Haskell] CfPart: 3rd Int'l Workshop on Automated Specification and Verification of Web Systems (WWV'07) Message-ID: <20071205174455.7855947C681@smtp.uniud.it> Skipped content of type multipart/alternative From g9ks157k at acme.softbase.org Wed Dec 5 17:12:06 2007 From: g9ks157k at acme.softbase.org (Wolfgang Jeltsch) Date: Wed Dec 5 17:08:01 2007 Subject: [Haskell] Nested guards? In-Reply-To: <52182.193.11.251.203.1196810186.squirrel@webmail.chalmers.se> References: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> <52182.193.11.251.203.1196810186.squirrel@webmail.chalmers.se> Message-ID: <200712052312.06658.g9ks157k@acme.softbase.org> Am Mittwoch, 5. Dezember 2007 00:16 schrieb Per Gundberg: > Have you looked at the proposed view patterns? It seems like it would > cover the case you gave here. I don't know if there's work being done in > this area though. > > http://hackage.haskell.org/trac/ghc/wiki/ViewPatterns > > //Gundberg I cannot resist citing Henning Thielemann (actually translating from German). The following text is from is very good squib about how to become a scripting language hater within five days [1]. Please take it with a grain of humor. I don?t want to offend anyone. Here?s the text: > The root idea of functional programming simplifies many things. No need to > distinguish between constants and variables, no ?call by reference?, no > assignments, no predefined loop structures?everything is manageable and the > effects of functions are controllable. > > It is clear that this situation must not stay this way. Bit by bit, > disciples of Perl and Python discover Haskell and demand that Haskell will > be plastered with syntactic sugar until the simplicity of the functional > approach isn?t visible anymore. Sadly, they seem to be successful with this > as syntax extensions like parallel list comprehensions show. > > Many Haskell newcomers don?t seem to bother studying the concept of > functions and the wide variety of applications of higher order functions. > They rather avoid everything systematic and construct their programs mainly > from syntactic sugar like list comprehensions, guards, pattern guards, infix > operators and do notation, optionally also with pettifogging recursions. > Because they don?t know anything else, they aren?t tired of emphasizing how > important such syntactic sugar is. In addition, the strict order of > dataflow imposed by functions is attacked again and again. Yes, global > variables are just immortal. [1] Best wishes, Wolfgang From waldmann at imn.htwk-leipzig.de Wed Dec 5 19:03:56 2007 From: waldmann at imn.htwk-leipzig.de (Johannes Waldmann) Date: Wed Dec 5 18:59:26 2007 Subject: [Haskell] Nested guards? In-Reply-To: <200712052312.06658.g9ks157k@acme.softbase.org> References: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> <52182.193.11.251.203.1196810186.squirrel@webmail.chalmers.se> <200712052312.06658.g9ks157k@acme.softbase.org> Message-ID: <47573C6C.6070605@imn.htwk-leipzig.de> Wolfgang Jeltsch wrote: > I cannot resist citing Henning Thielemann [...] Amen to that. From vandijk.roel at gmail.com Thu Dec 6 04:00:59 2007 From: vandijk.roel at gmail.com (Roel van Dijk) Date: Thu Dec 6 03:56:26 2007 Subject: [Haskell] Nested guards? In-Reply-To: References: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> Message-ID: Note that Clean also supports nested guards. See section 3.3 of the Clean language report: http://clean.cs.ru.nl/download/Clean20/doc/CleanRep2.0.pdf Unfortunately the html version of the report appears to be broken. The report gives an example of nested guards and explains the semantics with "if then else" expressions. From simonpj at microsoft.com Thu Dec 6 04:06:36 2007 From: simonpj at microsoft.com (Simon Peyton-Jones) Date: Thu Dec 6 04:02:03 2007 Subject: [Haskell] Nested guards? In-Reply-To: References: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> Message-ID: | Note that Clean also supports nested guards. See section 3.3 of the | Clean language report: | | http://clean.cs.ru.nl/download/Clean20/doc/CleanRep2.0.pdf Interesting, I didn't know that. But (a) Clean guards don't bind, and pattern guards that bind was where this thread started. And (b) the Clean manual says: "To ensure that at least one of the alternatives of a nested guard will be successful, a nested guarded alternative must always have a 'default case' as last alternative". That's a pity. The main point about guards is that failure means "go on to the next equation", a semantics that they could have chosen I guess. Simon From v.dijk.bas at gmail.com Thu Dec 6 08:08:24 2007 From: v.dijk.bas at gmail.com (Bas van Dijk) Date: Thu Dec 6 08:03:50 2007 Subject: [Haskell] Nested guards? In-Reply-To: References: <5ab17e790712041141p2ab20e67h1f8632adbad84c2f@mail.gmail.com> Message-ID: On Dec 6, 2007 9:06 AM, Simon Peyton-Jones wrote: > b) the Clean manual says: "To ensure that at least one of the alternatives of a nested guard will be successful, a nested guarded alternative > must always have a 'default case' as last alternative". That's a pity. The main point about guards is that failure means "go on to the next > equation", a semantics that they could have chosen I guess. I brought this up some time ago on haskell-prime ( http://thread.gmane.org/gmane.comp.lang.haskell.prime/1561 ). One of the Clean guys mentioned that "the compiler can handle nested-guards with fall-throughs just fine" and that "The reason that a nested guard must have a default case is syntactical, otherwise there could be the dangling-else ambiguity". Bas From paul.hudak at yale.edu Thu Dec 6 17:39:28 2007 From: paul.hudak at yale.edu (Paul Hudak) Date: Thu Dec 6 17:35:09 2007 Subject: [Haskell] [Fwd: PADL'08: Call for Participation (Early Reg. Deadline: Dec 13)] Message-ID: <47587A20.2090001@yale.edu> From paul.hudak at yale.edu Thu Dec 6 22:31:50 2007 From: paul.hudak at yale.edu (Paul Hudak) Date: Thu Dec 6 22:27:15 2007 Subject: [Haskell] Re: PADL'08: Call for Participation (Early Reg. Deadline: Dec 13) In-Reply-To: References: Message-ID: <4758BEA6.80400@yale.edu> > CALL FOR PARTICIPATION!!! > > Tenth International Symposium on > Practical Aspects of Declarative Languages 2008 > (PADL '08) > > http://www.ist.unomaha.edu/padl2008/ > > San Francisco, USA > January 7-8, 2008 > > Co-located with ACM POPL'08 > > You are cordially invited to the Tenth International Symposium on > Practical Aspects of Declarative Languages that will be held on Jan 7-8, > 2008 right before ACM POPL. The program includes invited talks by two > eminent practitioners of declarative techniques/languages: John Launchbury > and Walter Wilson. If you are attending ACM POPL, we encourage > you to stay for a whole week in San Francisco and attend PADL as well. > Please note that the deadline for early registration is fast approaching. > > Invited Talks: > > o Industrial Functional Programming > John Launchbury > > o Large Scale Logic Servers in Business and Government > Walter Wilson > > LIST OF ACCEPTED PAPERS > > o Efficient Reasoning for Nogoods in Constraint Solvers with BDDs > Sathiamoorthy Subbarayan. > o High-Level Database Programming in Curry > Bernd Brassel, Michael Hanus and Marion Mueller. > o Parser Combinators for Ambiguous Left-Recursive Grammars > Richard Frost, Rahmatullah Hafiz and Paul Callaghan. > o Switched-on Yampa. Declarative Programming of Modular Synthesizers > George Giorgidze and Henrik Nilsson. > o The Role of Abduction in Declarative Authorization Policies > Moritz Y. Becker and Sebastian Nanz. > o Towards a High-Level Implementation of Execution Primitives for > Non-restricted, Independent And-parallelism > Amadeo Casas, Manuel Carro and Manuel Hermenegildo. > o Certified development tools implementation in Objective Caml > B. Pagano, O. Andrieu, B. Canou, E. Chailloux, > J-L Colaco, T. Moniot and P. Wang. > o DCGs + Memoing = Packrat Parsing: But is it worth it? > Ralph Becket and Zoltan Somogyi. > o Model-Based Testing of Thin-Client Web Applications and Navigation Input > P. Koopman, P. Achten and R. Plasmeijer. > o Unification of Arrays in Spreadsheets with Logic Programming > Phil Cox and Patrick Nicholson. > o A Generic Programming Toolkit for PADS/ML: First-Class Upgrades > for Third-Party Developers > M. Fernandez, K. Fisher, J. Nathan Foster, M. Greenberg and Y. Mandelbaum. > o Automatic Coding Rule Conformance Checking Using Logic Programming > G. Marpons, J. Mario, A. Herranz, L. Fredlund, > M. Carro and J. J. Moreno-Navarro. > o Multi-threading programming in Logtalk > Paulo Moura, Paul Crocker and Paulo Jorge Nunes. > o Scheduling light-weight parallelism in ARTCOP > Jost Berthold, Abyd Al Zain and Hans-Wolfgang Loidl. > o Specialising Simulator Generators for High-Performance Monte-Carlo Methods > G. Keller, H. Chaffey-Millar, M. Chakravarty, D. Stewart and C. Barner-Kowollik. > o Hierarchical Master-Worker Skeletons > Jost Berthold, Mischa Dieterle, Rita Loogen and Steffen Priebe. > o Comprehension and dependency analysis of aspect-oriented programs through declarative reasoning > Laleh Mousavi Eshkevari, Venera Arnaoudova and Constantinos Constantinides. > o An Improved Continuation Call-Based Implementation of Tabling > Pablo Chico de Guzman, Manuel Carro, Manuel Hermenegildo, > Claudio Silva and Ricardo Rocha. > o Matchete: Paths through the Pattern Matching Jungle > Martin Hirzel, Nathaniel Nystrom, Bard Bloom and Jan Vitek. > o Flexible, Rule-based Constraint Model Linearisation > Sebastian Brand, Gregory Duck, Jakob Puchinger and Peter Stuckey. > > Conference Organization: > > General Chair: Hai-Feng Guo > Program Chair: Paul Hudak & David Warren > From gvidal at dsic.upv.es Fri Dec 7 07:00:31 2007 From: gvidal at dsic.upv.es (German Vidal) Date: Fri Dec 7 06:55:57 2007 Subject: [Haskell] SAS 2008 Second Call for Papers Message-ID: PLEASE POST --> SAS 2008 at the Technical University of Valencia We are happy to announce that SAS 2008, the Static Analysis Symposium, will take place at the Technical University of Valencia: Submission of abstract: January 12, 2008 Submission of full paper: January 19, 2008 Notification: March 7, 2008 Camera-ready version: April 5, 2008 Conference: July 16-18, 2008 Please see: http://www.dsic.upv.es/~sas2008/ ** The submission site is now open ** Maria Alpuente, German Vidal (PC co-chairs) --------------------------------------------------------------------------- Call for papers Static Analysis Symposium - SAS 2008 16-18 July 2008, Valencia, Spain (co-located with LOPSTR 2008) url http://www.dsic.upv.es/~sas2008 email sas2008@dsic.upv.es Static Analysis is increasingly recognized as a fundamental tool for high performance implementations and verification of programming languages and systems. The series of Static Analysis Symposia has served as the primary venue for presentation of theoretical, practical, and application advances in the area. The technical programme for SAS 2008 will consist of invited lectures and presentations of refereed papers. Contributions are welcome on all aspects of static analysis, including, but not limited to: abstract domains abstract interpretation abstract testing compiler optimizations control flow analysis data flow analysis model checking program specialization security analysis theoretical analysis frameworks type based analysis verification systems Submissions can address any programming paradigm, including concurrent, constraint, functional, imperative, logic, and object-oriented programming. Survey papers, that present some aspect of the above topics from a new perspective, and application papers, that describe experience with industrial applications, are also welcome. Papers must describe original work, be written and presented in English, and must not substantially overlap with papers that have been published, or that are simultaneously submitted to a journal or a conference with refereed proceedings. Submitted papers should be at most 15 pages formatted in LNCS style (excluding bibliography and well-marked appendices not intended for publication). PC members are not required to read the appendices, and thus papers should be intelligible without them. The conference proceedings is planned to be published by Springer-Verlag in the Lecture Notes in Computer Science series. Invited Speakers Roberto Giacobazzi (Universita' degli Studi di Verona, Italy) Ben Liblit (University of Wisconsin-Madison, USA) PC co-chairs Maria Alpuente (Technical University of Valencia, Spain) German Vidal (Technical University of Valencia, Spain) PC members Elvira Albert (Complutense University of Madrid, Spain) Roberto Bagnara (University of Parma, Italy) Maurice Bruynooghe (Katholieke Universiteit Leuven, Belgium) Radhia Cousot (CNRS & Ecole Polytechnique, France) Javier Esparza (Technical University of Munchen, Germany) Sandro Etalle (University of Twente, The Netherlands) Moreno Falaschi (University of Siena, Italy) Stephen Fink (IBM T.J. Watson Research Center, USA) John Gallagher (Roskilde University, Denmark) Maria del Mar Gallardo (University of Malaga, Spain) Chris Hankin (Imperial College, UK) Manuel Hermenegildo (Technical University of Madrid, Spain) Julia Lawall (University of Copenhagen, Denmark) Alexey Loginov (IBM T.J. Watson Research Center, USA) Hanne Riis Nielson (Technical University of Denmark, Denmark) David Schmidt (Kansas State University, USA) Harald Sondergaard (University of Melbourne, Australia) Tachio Terauchi (Tohoku University, Japan) Ji Wang (National Laboratory for Parallel and Distributed Processing, China) Organizing committee chair Alicia Villanueva (Technical University of Valencia, Spain) Important dates Submission of abstract: January 12, 2008 Submission of full paper: January 19, 2008 Notification: March 7, 2008 Camera-ready version: April 5, 2008 Conference: July 16-18, 2008 --------------------------------------------------------------------------- From paul at cogito.org.uk Fri Dec 7 14:01:09 2007 From: paul at cogito.org.uk (Paul Johnson) Date: Fri Dec 7 13:56:35 2007 Subject: [Haskell] IVars In-Reply-To: References: Message-ID: <47599875.4020207@cogito.org.uk> Conal Elliott wrote: > Oh. Simple enough. Thanks. > > Another question: why the IO in readIVar :: IVar a -> IO a, instead > of just readIVar :: IVar a -> a? After all, won't readIVar iv yield > the same result (eventually) every time it's called? Because it won't necessarily yield the same result the next time you run it. This is the same reason the stuff in System.Environment returns values in IO. Paul. From coeus at gmx.de Sat Dec 8 14:12:11 2007 From: coeus at gmx.de (Marc A. Ziegert) Date: Sat Dec 8 14:07:51 2007 Subject: [Haskell] IVars In-Reply-To: <47599875.4020207@cogito.org.uk> References: <47599875.4020207@cogito.org.uk> Message-ID: <200712082012.20224.coeus@gmx.de> many many answers, many guesses... let's compare these semantics: readIVar :: IVar a -> IO a readIVar' :: IVar a -> a readIVar' = unsafePerformIO . readIVar so, we do not need readIVar'. it could be a nice addition to the libraries, maybe as "unsafeReadIVar" or "unsafeReadMVar". but the other way: readIVar v = return $ readIVar' v does not work. with this definition, readIVar itself does not block anymore. it's like hGetContents. and... readIVar v = return $! readIVar' v evaluates too much: it wont work if the stored value evaluates to 1) undefined or 2) _|_. it may even cause a 3) deadlock: do writeIVar v (readIVar' w) x<-readIVar v writeIVar w "cat" return x :: IO String readIVar should only return the 'reference'(internal pointer) to the read object without evaluating it. in other words: readIVar should wait to receive but not look into the received "box"; it may contain a nasty undead werecat of some type. (Schr?dinger's Law.) - marc Am Freitag, 7. Dezember 2007 schrieb Paul Johnson: > Conal Elliott wrote: > > Oh. Simple enough. Thanks. > > > > Another question: why the IO in readIVar :: IVar a -> IO a, instead > > of just readIVar :: IVar a -> a? After all, won't readIVar iv yield > > the same result (eventually) every time it's called? > Because it won't necessarily yield the same result the next time you run > it. This is the same reason the stuff in System.Environment returns > values in IO. > > Paul. > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. Url : http://www.haskell.org/pipermail/haskell/attachments/20071208/fa158f42/attachment.bin From lennart at augustsson.net Sun Dec 9 04:25:10 2007 From: lennart at augustsson.net (Lennart Augustsson) Date: Sun Dec 9 04:20:28 2007 Subject: [Haskell] IVars In-Reply-To: <200712082012.20224.coeus@gmx.de> References: <47599875.4020207@cogito.org.uk> <200712082012.20224.coeus@gmx.de> Message-ID: Before we can talk about what right and wrong we need to know what the semantics of IVars should be. On Dec 8, 2007 7:12 PM, Marc A. Ziegert wrote: > many many answers, many guesses... > let's compare these semantics: > > readIVar :: IVar a -> IO a > readIVar' :: IVar a -> a > readIVar' = unsafePerformIO . readIVar > > so, we do not need readIVar'. it could be a nice addition to the > libraries, maybe as "unsafeReadIVar" or "unsafeReadMVar". > but the other way: > > readIVar v = return $ readIVar' v > > does not work. with this definition, readIVar itself does not block > anymore. it's like hGetContents. > and... > > readIVar v = return $! readIVar' v > > evaluates too much: > it wont work if the stored value evaluates to 1) undefined or 2) _|_. > it may even cause a 3) deadlock: > > do > writeIVar v (readIVar' w) > x<-readIVar v > writeIVar w "cat" > return x :: IO String > > readIVar should only return the 'reference'(internal pointer) to the read > object without evaluating it. in other words: > readIVar should wait to receive but not look into the received "box"; it > may contain a nasty undead werecat of some type. (Schr?dinger's Law.) > > - marc > > > > > > Am Freitag, 7. Dezember 2007 schrieb Paul Johnson: > > Conal Elliott wrote: > > > Oh. Simple enough. Thanks. > > > > > > Another question: why the IO in readIVar :: IVar a -> IO a, instead > > > of just readIVar :: IVar a -> a? After all, won't readIVar iv yield > > > the same result (eventually) every time it's called? > > Because it won't necessarily yield the same result the next time you run > > it. This is the same reason the stuff in System.Environment returns > > values in IO. > > > > Paul. > > _______________________________________________ > > Haskell mailing list > > Haskell@haskell.org > > http://www.haskell.org/mailman/listinfo/haskell > > > > > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071209/fa9290f6/attachment.htm From rjmh at cs.chalmers.se Sun Dec 9 19:17:42 2007 From: rjmh at cs.chalmers.se (John Hughes) Date: Sun Dec 9 19:13:05 2007 Subject: [Haskell] Last chance to recruit functional programmers via "Jobs in Functional Programming" at Chalmers Message-ID: <005501c83ac2$17c2adc0$47480940$@chalmers.se> I?m happy to report that the ?Jobs in Functional Programming? event to be held at Chalmers this Friday looks like being a big success. We have seven companies involved, and five speakers?and almost 70 people registered BEFORE we put up posters around the campus, including some people who are travelling from other countries just for this event. If you?re recruiting functional programmers, and you HAVEN?T got in touch with me yet, then there is still time?although I can?t accept any more speakers now. But if you would like to send recruitment materials, then I will be only too happy to ensure that participants receive a copy. Just don?t ask me to print your materials for you: there won?t be time for that. If you would like to send such materials, then courier them to me at Department of Computer Science and Engineering Chalmers University of Technology S-41296 G?TEBORG Sweden They need to arrive by Friday morning at the latest. Let me know by email to expect them. It?s delightful to find that there are both job-seekers and employers enough to make this kind of event a success! John Hughes -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071210/0681c186/attachment.htm From dons at galois.com Sun Dec 9 19:32:24 2007 From: dons at galois.com (Don Stewart) Date: Sun Dec 9 23:02:43 2007 Subject: [Haskell] ANNOUNCE: xmonad 0.5: a tiling window manager Message-ID: <20071210003224.GA23988@scytale.galois.com> The xmonad dev team is pleased to announce the 0.5 release of xmonad! http://xmonad.org xmonad is a tiling window manager for X. Windows are arranged automatically to tile the screen without gaps or overlap, maximising screen use. Window manager features are accessible from the keyboard: a mouse is optional. xmonad is extensible in Haskell, allowing for powerful customisation. Custom layout algorithms, key bindings and other extensions may be written by the user in config files. Layouts are applied dynamically, and different layouts may be used on each workspace. Xinerama is fully supported, allowing windows to be tiled on several physical screens. Features: * Very stable, fast, small and simple. * Automatic window tiling and management * First class keyboard support: a mouse is unnecessary * Full support for tiling windows on multi-head displays * Full support for floating windows * XRandR support to rotate, add or remove monitors * Per-workspace layout algorithms * Per-screens custom status bars * Easy, powerful customisation and reconfiguration in Haskell * Large extension library * Extensive documentation and support for hacking Get it! More information, screenshots, documentation, tutorials and community resources are available from the xmonad home page: http://xmonad.org The 0.5 release, and its dependencies, are available from hackage.haskell.org, here: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xmonad **The headlines** xmonad 0.5 is a major new release of xmonad, allowing, for the first time, dynamic extension in Haskell without requiring recompilation. Extension and configuration of xmonad is now faster, simpler, and more flexible. All configuration is done via the ~/.xmonad/xmonad.hs file. Example config files and screenshots are available on the wiki: http://haskell.org/haskellwiki/Xmonad/Config_archive This marks the final break from its dwm origins. As a result, xmonad is now also much easier to package, distribute and extend, as recompilation of xmonad is not required to extend it. New features: * xmonad is now a library, as is the collection of xmonad extensions * xmonad is configured by editing ~/.xmonad/xmonad.hs * simpler layout hooks type and interface * small EDSL for writing window management rules * support for ghc 6.8.x * xmonad now requires Cabal 1.2 or newer * small bug fixes Extensions: xmonad comes with a huge library of extensions (now more than 5 times the size of xmonad), contributed by viewers like you. Extensions enable pretty much arbitrary window manager behaviour to be implemented by users, in Haskell, in the config files. Examples include: * ion-like window tabs * status bar support * X property and hints support * altnerative layout algorithms For more information on using and writing extensions see the webpage. The library of extensions is available from hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xmonad-contrib Brought to you by the xmonad team: Spencer Janssen Don Stewart Jason Creighton Andrea Rossato David Roundy Brent Yorgey with code contributions from: Brandon Allbery Chris Mears Shachaf Ben-Kiki Eric Mertens Alec Berryman Neil Mitchell Gwern Branwen Devin Mullins Joachim Breitner Daniel Neri Alexandre Buisse Stefan O'Rear Nick Burlett Simon Peyton Jones Peter De Wachter Hans Philipp Annen Aaron Denney Karsten Schoelzel Nelson Elhage Michael Sloan Shae Erisson Ivan Tarasov Joachim Fasting Alex Tarkovsky Michael Fellinger Christian Thiemann David Glasser Joe Thornber Kai Grossjohann Matsuyama Tomohiro Dave Harrison Daniel Wagner Juraj Hercek Ferenc Wagner Sam Hughes Jamie Webb Miikka Koskinen Klaus Weidner David Lazar nornagon Lucas Mai timthelion Robert Marlow Valery V. Vorotyntsev Dougal Stanton Joel Suovaniemi Mats Jansborg Dmitry Kurochkin Clemens Fruhwirth As well as the support of many others on the #xmonad and #haskell IRC channels, and the wider Haskell and window manager communities. Thanks to everyone for their support! From frederic.loulergue at univ-orleans.fr Mon Dec 10 07:06:29 2007 From: frederic.loulergue at univ-orleans.fr (=?ISO-8859-1?Q?Loulergue_Fr=E9d=E9ric?=) Date: Mon Dec 10 07:01:43 2007 Subject: [Haskell] Call for Papers - PAPP 2008 Message-ID: <475D2BC5.4080206@univ-orleans.fr> ===================================================== PAPP 2008 Fifth International Workshop on aPpplications of declArative and object-oriented Parallel Programming part of The International Conference on Computational Science June 23-25, 2008, Krakow, Poland http://f.loulergue.free.fr/PAPP2008 ===================================================== AIMS AND SCOPE Computational Science applications are more and more complex to develop and require more and more computing power. Parallel and grid computing are solutions to the increasing need for computing power. High level languages offer a high degree of abstraction which ease the development of complex systems. Moreover, being based on formal semantics, it is possible to certify the correctness of critical parts of the applications. Algorithmic skeletons, parallel extensions of functional languages such as Haskell and ML, parallel logic and constraint programming, parallel execution of declarative programs such as SQL queries, genericity and meta-programming in object-oriented languages, etc. have produced methods and tools that improve the price/performance ratio of parallel software, and broaden the range of target applications. The PAPP workshop focuses on practical aspects of high-level parallel programming: design, implementation and optimization of high-level programming languages, libraries, middlewares and tools (performance predictors working on high-level parallel/grid source code, visualisations of abstract behaviour, automatic hotspot detectors, high-level GRID resource managers, compilers, automatic generators, etc.), applications in all fields of computational science, benchmarks and experiments. Research on high-level grid programming is particularly relevant as well as domain specific parallel software. The aim of all these languages and tools is to improve and ease the development of applications. Thus the Fifth PAPP workshop focuses on applications. The PAPP workshop is aimed both at researchers involved in the development of high level approaches for parallel and grid computing and computational science researchers who are potential users of these languages and tools. Topics We welcome submission of original, unpublished papers in English on topics including: * applications in all fields of high-performance computing and visualisation (using high-level tools) * high-level models (CGM, BSP, MPM, LogP, etc.) and tools for parallel and grid computing * high-level parallel language design, implementation and optimisation * modular, object-oriented, functional, logic, constraint programming for parallel, distributed and grid computing systems * algorithmic skeletons, patterns and high-level parallel libraries * generative (e.g. template-based) programming with algorithmic skeletons, patterns and high-level parallel libraries * benchmarks and experiments using such languages and tools All the contributions should illustrate the proposed techniques on a significant application. PAPER SUBMISSION AND PUBLICATION Prospective authors are invited to submit full papers in English presenting original research. Submitted papers must be unpublished and not submitted for publication elsewhere. Papers will go through a rigorous reviewing process. Each paper will be reviewed by at least three referees. The accepted papers will be published in the Springer-Verlag Lecture Notes in Computer Science (LNCS) series, as part of the ICCS proceedings. Submission must be done through the ICCS website: http://www.iccs-meeting.org/iccs2008/papers/upload.php. We invite you to submit a full paper of 8 pages formatted according to the rules of LNCS, describing new and original results, no later than January 3, 2008. Submission implies the willingness of at least one of the authors to register and present the paper. An early email to papp at free.fr with your intention to submit a paper would be greatly appreciated (especially if you have doubts about the relevance of your paper). Accepted papers Accepted papers should be presented at the workshop. Authors will be invited to submit extended and revised versions of their papers. Accepted manuscripts will be published in a special issue of Scalable Computing: Practice and Experience. Important Dates * January 3, 2008 - Full paper due * March 1, 2008 - Notification * March 15, 2008 - Camera-ready paper due * September 15, 2008 - Journal version due PROGRAMME COMMITTEE * Marco Aldinucci (University of Pisa, Italy) * Anne Benoit (ENS Lyon, France) * Umit V Catalyurek (The Ohio State University, USA) * Manuel Chakravarty (University of New South Wales, Australia) * Fr?d?ric Gava (University Paris XII Val de Marne, France) * Alexandros Gerbessiotis (NJIT, USA) * Clemens Grelck (University of Luebeck, Germany) * Iwasaki Hideya (The University of Electro-communications, Japan) * Paul H J Kelly (Imperial College London, UK) * Christoph Kessler (Link?pings Universitet, Sweden) * Rita Loogen (University of Marburg, Germany) * Fr?d?ric Loulergue (The University of Orl?ans, France) * Kiminori Matsuzaki (The University of Tokyo, Japan) * Samuel Midkiff (Purdue University, USA) * Susanna Pelagatti (University of Pisa, Italy) * Bruno Raffin (INRIA, France) * Casiano Rodriguez Leon (University La Laguna, Spain) ORGANIZERS * Dr. Anne BENOIT Laboratoire d'Informatique du Parallelisme Ecole Normale Sup?rieure de Lyon 46 All?e d'Italie 69364 Lyon Cedex 07 - France * Pr. Frederic LOULERGUE Laboratoire d'Informatique Fondamentale d'Orl?ans Universit? d'Orl?ans Batiment IIIA - Rue L?onard de Vinci - BP6759 45067 Orl?ans Cedex 2 - France From kfisher at research.att.com Tue Dec 11 13:31:28 2007 From: kfisher at research.att.com (Kathleen Fisher) Date: Tue Dec 11 13:29:24 2007 Subject: [Haskell] CUFP Report Available Message-ID: Jeremy Gibbons has written a very detailed report on the 2007 Commercial Users of Functional Programming Workshop. His report is available from the CUFP web page (http:// cufp.functionalprogramming.com) as well as from the CUFP google group page (http://groups.google.com/group/cufp). Thank you, Jeremy! Peter Thiemann and his students are just finishing up the post processing of the recordings of the talks, and we are in the process of getting those talks loaded onto the web. I'll send a further announcement when the talks are available. Kathleen From oleg at okmij.org Wed Dec 12 05:23:52 2007 From: oleg at okmij.org (oleg@okmij.org) Date: Wed Dec 12 05:21:06 2007 Subject: [Haskell] Genuine shift/reset in Haskell98 Message-ID: <20071212102352.36E18ACB7@Adric.metnet.fnmoc.navy.mil> This message announces the Haskell98 implementation of Asai and Kameyama's polymorphic delimited continuations, with effect typing, full soundness (well-typed terms don't give any run-time exceptions), answer-type modification and polymorphism. Thanks to parameterized monads the implementation is the straightforward translation of the rules of the calculus. Parameterized monads seem to have proven their claim for syntactic sugar. http://okmij.org/ftp/Haskell/ShiftResetGenuine.hs Delimited control operators shift/reset are, fortunately, becoming popular. Alas, all widely available implementations suffer deficiencies: for example, the type system does not prevent attempts to execute shift outside the dynamic scope of reset, which leads to a run-time error. Furthermore, the implementations do not permit modifications of the answer-type, and so make impossible many elegant applications of shift/reset such as fully typed sprintf. In particular, shift id (or, shift return, in the monadic form), so often used in linguistics, are not typeable in any widely available implementation of delimited continuations. Related to the first issue, implemented calculi of delimited continuations are not strongly normalizing. That fact has been known for some time; it has been shown recently that the calculus of multi-prompt delimited continuations -- the DC calculus of the DDBinding paper, implemented in the DelimCC Haskell library -- expresses the fix-point combinator and emulates general recursive types, and so is, in fact, Turing complete. http://okmij.org/ftp/Computation/Continuations.html#delimcc-rectype Back in 1989 Danvy and Filinski recognized that ensuring strong type soundness (aka, control decency: no naked shift) requires a type-and-effect system. They proposed a (monomorphically typed) type system with answer-type modifications. Alas, it has not been implemented in any widely available language (or even formally published for that matter: the only source is the DIKU Technical Report). In the recent APLAS 2007 paper, Asai and Kameyama have developed a polymorphically typed calculus of delimited continuations with answer type modifications. They have proven greatly desirable properties of their calculus: strong type soundness, principal types, the existence of a type inference algorithm, preservation of types and equality through CPS translation, confluence, strong normalization for the subcalculus without fix. http://logic.cs.tsukuba.ac.jp/~kam/paper/aplas07.pdf http://pllab.is.ocha.ac.jp/~asai/papers/aplas07slide.pdf The particularly elegant application of their calculus is typed sprintf: sprintf format_expression arg1 arg2 .... The type system ensures that the number and the types of format specifiers in format_expression agree with the number and the types of arg1, etc. Provided control operators supporting both answer-type modification and polymorphism, sprintf is expressible as a regular function (and a very simple one: the entire solution takes only four lines). This problem is described in more detail in http://pllab.is.ocha.ac.jp/~asai/papers/tr07-1.ps.gz Alas, Asai and Kameyama's calculus has only been implemented in a privately modified version of mini-ML. This link at the beginning points to the complete, short implementation, including the sprintf example. The implementation is in Haskell98; contrary to the popular belief, the latter is still a capable language. Thus the genuine control operators have become practically available for the first time. We rely on parameterized monads, Robert Atkey, Parameterised Notions of Computation, Msfp2006 http://homepages.inf.ed.ac.uk/ratkey/param-notions.pdf see also http://www.haskell.org/pipermail/haskell/2006-December/018917.html To be more precise, we represent the the effectful expression e, whose type is characterized by the judgment Gamma; a |- e:tau; b as a parameterized monad C a b tau. We represent an effectful function type sigma/a -> tau/b of the calculus as an arrow type sigma -> C a b tau. We greatly benefit from two lucky circumstances. First, the rule 'app' of Asai and Kameyama (Fig 3 of their paper) turns out to be expressible as a composition of two binds in the parameterized monad. Second, the existing type inference of Haskell matches unbelievably well with the let-rule of Asai and Kameyama: the type of only pure expressions can be generalized. Indeed, impure expressions have the type C a b tau and can be meaningfully used only with bind, which forces the monomorphic treatment. Pure expressions such as functions, numbers, etc. can be applied without the assistance of bind; luckily, Haskell generalizes the type in their definitions automatically. The rest of the implementation is the trivial transcription of the types in Fig 3 and the derivation of the corresponding proof terms. The sprintf test has the following form (slightly less elegant compared to ML) stest1 = run $ sprintf (ret "Hello world") -- "Hello world" stest2 = run $ sprintf (ret "Hello " ^ fmt str ^ ret "!") $$ "world" -- "Hello world!" stest3 = run $ sprintf (ret "The value of " ^ fmt str ^ ret " is " ^ fmt int) $$ "x" $$ 3 -- "The value of x is 3" Obviously, the type of sprintf (format_expression) depends on the number and the type of format specifiers (fmt) in the format expression. The function sprintf is a simple ordinary function: sprintf p = reset p From igloo at earth.li Wed Dec 12 13:44:58 2007 From: igloo at earth.li (Ian Lynagh) Date: Wed Dec 12 13:40:06 2007 Subject: [Haskell] ANNOUNCE: GHC version 6.8.2 Message-ID: <20071212184457.GA8806@matrix.chaos.earth.li> ============================================================= The (Interactive) Glasgow Haskell Compiler -- version 6.8.2 ============================================================= The GHC Team is pleased to announce a new patchlevel release of GHC. This release contains a number of bugfixes relative to 6.8.1, including some significant performance fixes, so we recommend upgrading. Release notes are here: http://haskell.org/ghc/docs/6.8.2/html/users_guide/release-6-8-2.html How to get it ~~~~~~~~~~~~~ The easy way is to go to the web page, which should be self-explanatory: http://www.haskell.org/ghc/ We supply binary builds in the native package format for many platforms, and the source distribution is available from the same place. Packages will appear as they are built - if the package for your system isn't available yet, please try again later. Background ~~~~~~~~~~ Haskell is a standard lazy functional programming language; the current language version is Haskell 98, agreed in December 1998 and revised December 2002. GHC is a state-of-the-art programming suite for Haskell. Included is an optimising compiler generating good code for a variety of platforms, together with an interactive system for convenient, quick development. The distribution includes space and time profiling facilities, a large collection of libraries, and support for various language extensions, including concurrency, exceptions, and foreign language interfaces (C, whatever). GHC is distributed under a BSD-style open source license. A wide variety of Haskell related resources (tutorials, libraries, specifications, documentation, compilers, interpreters, references, contact information, links to research groups) are available from the Haskell home page (see below). On-line GHC-related resources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Relevant URLs on the World-Wide Web: GHC home page http://www.haskell.org/ghc/ GHC developers' home page http://hackage.haskell.org/trac/ghc/ Haskell home page http://www.haskell.org/ Supported Platforms ~~~~~~~~~~~~~~~~~~~ The list of platforms we support, and the people responsible for them, is here: http://hackage.haskell.org/trac/ghc/wiki/Contributors Ports to other platforms are possible with varying degrees of difficulty. The Building Guide describes how to go about porting to a new platform: http://hackage.haskell.org/trac/ghc/wiki/Building Developers ~~~~~~~~~~ We welcome new contributors. Instructions on accessing our source code repository, and getting started with hacking on GHC, are available from the GHC's developer's site run by Trac: http://hackage.haskell.org/trac/ghc/ Mailing lists ~~~~~~~~~~~~~ We run mailing lists for GHC users and bug reports; to subscribe, use the web interfaces at http://www.haskell.org/mailman/listinfo/glasgow-haskell-users http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs There are several other haskell and ghc-related mailing lists on www.haskell.org; for the full list, see http://www.haskell.org/mailman/listinfo/ Some GHC developers hang out on #haskell on IRC, too: http://www.haskell.org/haskellwiki/IRC_channel Please report bugs using our bug tracking system. Instructions on reporting bugs can be found here: http://www.haskell.org/ghc/reportabug From chak at cse.unsw.edu.au Thu Dec 13 00:29:13 2007 From: chak at cse.unsw.edu.au (Manuel M T Chakravarty) Date: Thu Dec 13 00:24:24 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <20071212184457.GA8806@matrix.chaos.earth.li> References: <20071212184457.GA8806@matrix.chaos.earth.li> Message-ID: <5A789366-EC12-4642-A806-AD009A06BFD1@cse.unsw.edu.au> Ian Lynagh wrote: > ============================================================= > The (Interactive) Glasgow Haskell Compiler -- version 6.8.2 > ============================================================= > > The GHC Team is pleased to announce a new patchlevel release of GHC. > This release contains a number of bugfixes relative to 6.8.1, > including > some significant performance fixes, so we recommend upgrading. A binary distribution for Mac OS X 10.5 (Leopard) is available from http://www.cse.unsw.edu.au/~chak/haskell/ghc-6.8.2-i386-apple-darwin.tar.bz2 To use this binary distribution, you need to have "readline" from MacPorts installed. Manuel PS: This time around, there should be no dependency on MacPorts' "gmp", but this is hard for me to test locally. From claus.reinke at talk21.com Thu Dec 13 08:05:40 2007 From: claus.reinke at talk21.com (Claus Reinke) Date: Thu Dec 13 08:00:49 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 References: <20071212184457.GA8806@matrix.chaos.earth.li> Message-ID: <008201c83d88$ddee2ec0$09137ad5@cr3lt> > With the Windows release of GHC 6.8.2, GHCi does not find .ghci in > %HOME% (though it finds it in the current directory): try %HOMEDRIVE% %HOMEPATH% instead? or the result of 'System.Directory.getHomeDirectory'. you might have set %HOME% to help some unix software along, but this variable doesn't seem to exist by default. claus http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx http://en.wikipedia.org/wiki/Home_directory From alex at alexjacobson.com Thu Dec 13 15:32:36 2007 From: alex at alexjacobson.com (Alex Jacobson) Date: Thu Dec 13 15:28:01 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <5A789366-EC12-4642-A806-AD009A06BFD1@cse.unsw.edu.au> References: <20071212184457.GA8806@matrix.chaos.earth.li> <5A789366-EC12-4642-A806-AD009A06BFD1@cse.unsw.edu.au> Message-ID: <476196E4.6070403@alexjacobson.com> Will this also work with Tiger or do I have to upgrade? -Alex- Manuel M T Chakravarty wrote: > Ian Lynagh wrote: >> ============================================================= >> The (Interactive) Glasgow Haskell Compiler -- version 6.8.2 >> ============================================================= >> >> The GHC Team is pleased to announce a new patchlevel release of GHC. >> This release contains a number of bugfixes relative to 6.8.1, including >> some significant performance fixes, so we recommend upgrading. > > A binary distribution for Mac OS X 10.5 (Leopard) is available from > > > http://www.cse.unsw.edu.au/~chak/haskell/ghc-6.8.2-i386-apple-darwin.tar.bz2 > > > To use this binary distribution, you need to have "readline" from > MacPorts installed. > > Manuel > > PS: This time around, there should be no dependency on MacPorts' "gmp", > but this is hard for me to test locally. > _______________________________________________ > Glasgow-haskell-users mailing list > Glasgow-haskell-users@haskell.org > http://www.haskell.org/mailman/listinfo/glasgow-haskell-users From chak at cse.unsw.edu.au Thu Dec 13 20:05:56 2007 From: chak at cse.unsw.edu.au (Manuel M T Chakravarty) Date: Thu Dec 13 20:01:09 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <476196E4.6070403@alexjacobson.com> References: <20071212184457.GA8806@matrix.chaos.earth.li> <5A789366-EC12-4642-A806-AD009A06BFD1@cse.unsw.edu.au> <476196E4.6070403@alexjacobson.com> Message-ID: <755B2D44-8776-4A09-AFD3-7B23E9B0ADE5@cse.unsw.edu.au> Alex Jacobson: > Will this also work with Tiger or do I have to upgrade? > I don't know. I have no box with Tiger to test. Give it a try. The worst that can happen is that it is going to complain about some missing libraries or similar. Manuel > Manuel M T Chakravarty wrote: >> Ian Lynagh wrote: >>> ============================================================= >>> The (Interactive) Glasgow Haskell Compiler -- version 6.8.2 >>> ============================================================= >>> >>> The GHC Team is pleased to announce a new patchlevel release of GHC. >>> This release contains a number of bugfixes relative to 6.8.1, >>> including >>> some significant performance fixes, so we recommend upgrading. >> A binary distribution for Mac OS X 10.5 (Leopard) is available from >> http://www.cse.unsw.edu.au/~chak/haskell/ghc-6.8.2-i386-apple-darwin.tar.bz2 >> To use this binary distribution, you need to have "readline" from >> MacPorts installed. >> Manuel >> PS: This time around, there should be no dependency on MacPorts' >> "gmp", but this is hard for me to test locally. >> _______________________________________________ >> Glasgow-haskell-users mailing list >> Glasgow-haskell-users@haskell.org >> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users > From jeremy.gibbons at comlab.ox.ac.uk Fri Dec 14 04:54:05 2007 From: jeremy.gibbons at comlab.ox.ac.uk (Jeremy Gibbons) Date: Fri Dec 14 04:49:54 2007 Subject: [Haskell] Mathematics of Program Construction 2008: Call for papers Message-ID: <4066A678-1513-42FF-A8F7-008F4B65D36F@comlab.ox.ac.uk> I don't believe that has been sent to the Haskell mailing list before, but apologies if it has. This CFP has been around since October; the submission deadline is 14th Jan (abstracts). Jeremy * CALL FOR PAPERS 9th International Conference on Mathematics of Program Construction (MPC'08) Marseille (Luminy), France, July 15-18th 2008 http://mpc08.lri.fr BACKGROUND The biennial MPC conferences aim to promote the development of mathematical principles and techniques that are demonstrably practical and effective in the process of constructing computer programs. Topics of interest range from algorithmics to support for program construction in programming languages and systems. The previous conferences were held in Twente, The Netherlands (1989), Oxford, UK (1992), Kloster Irsee, Germany (1995), Marstrand, Sweden (1998), Ponte de Lima, Portugal (2000), Dagstuhl, Germany (2002), Stirling, UK (2004, colocated with AMAST '04) and Kuressaare, Estonia (2006, colocated with AMAST '06). The 2008 conference will be held in Marseille, France at the International Center for Mathematical Meetings (http://http://www.cirm.univ-mrs.fr/web.ang). INVITED SPEAKERS To be announced. IMPORTANT DATES * Submission of abstracts: 14 January 2008 * Submission of full papers: 21 January 2008 * Notification of authors: 10 March 2008 * Camera-ready version: 10 April 2008 TOPICS Papers are solicited on mathematical methods and tools put to use in program construction. Topics of interest range from algorithmics to support for program construction in programming languages and systems. Some typical areas are type systems, program analysis and transformation, programming-language semantics, program logics. Theoretical contributions are welcome provided their relevance for program construction is clear. Reports on applications are welcome provided their mathematical basis is evident. SUBMISSION Submission is in two stages. Abstracts (plain text) must be submitted by 14 January 2008. Full papers (pdf) adhering to the llncs style must be submitted by 21 January 2008. There is no official page limit, but authors should strive for brevity. The web-based submission system will open in early December 2007. Papers must report previously unpublished work and not be submitted concurrently to another conference with refereed proceedings. Accepted papers must be presented at the conference by one of the authors. The proceedings of MPC'08 will be published in the Lecture Notes in Computer Science series of Springer-Verlag. After the conference, the authors of the best papers will be invited to submit revised versions to a special issue of the Science of Computer Programming journal of Elsevier. PROGRAMME COMMITTEE Christine Paulin-Mohring INRIA-Universit? Paris-Sud, France (chair) Philippe Audebaud Ecole Normale Sup?rieure Lyon, France (co-chair) Ralph-Johan Back Abo Akademi University, Finland Eerke Boiten University of Kent, UK Venanzio Capretta University of Nijmegen, Netherlands Sharon Curtis Oxford Brookes University, UK Jules Desharnais Universit? Laval, Qu?bec, Canada Peter Dybjer Chalmers University of Technology, Sweden Jeremy Gibbons University of Oxford, UK Lindsay Groves Victoria University of Wellington, New Zealand Ian Hayes University of Queensland, Australia Eric Hehner University of Toronto, Canada Johan Jeuring Utrecht University, Netherlands Dexter Kozen Cornell University, USA Christian Lengauer Universit?t Passau, Germany Lambert Meertens University of Utrecht, Netherlands Bernhard M?ller Universit?t Augsburg, Germany Carroll Morgan University of New South Wales, Australia Shin-Cheng Mu Academia Sinica, Taiwan Jose Nuno Oliveira Universidade do Minho, Portugal Tim Sheard Portland State University, USA Tarmo Uustalu Institute of Cybernetics Tallin, Estonia VENUE The conference will be held in Marseille, the second largest city in France next to Paris. Its port is the most important in France, and opens the city to the world through the Mediterranean Sea. MPC'08 will be hosted by the International Center for Mathematical Meetings. The center is located inside the Campus of Luminy Faculty. It is close to the "Calanques", an astounding wild coastline composed of creeks stretching from Marseille to Cassis. LOCAL ORGANIZERS MPC 2008 is organized with the support of INRIA. The local organizers are Philippe Audebaud and Christine Paulin-Mohring. Enquiries regarding the programme (submission etc.) should be addressed to mpc08(at)lri.fr From max.rabkin at gmail.com Fri Dec 14 08:35:09 2007 From: max.rabkin at gmail.com (Max Rabkin) Date: Fri Dec 14 08:30:09 2007 Subject: [Haskell] South African Computer Olympiad Message-ID: Hi Haskellers We have just added support for GHC to the marking system for the South African Computer Olympiad. Therefore, I would like to invite you to join us for our public Training Camp tomorrow. The primary purpose of the competition is to prepare the South African squad for the International Olympiad in Informatics, but we are opening it to the public, too. The format of the competition is three problems over five hours, with each solution consisting of a source file in C, C++, Java or Haskell, which is compiled and executed against a set of test data on our servers. The contest will be held tomorrow (Saturday 15th) from 13:00 to 18:00 South African Standard Time (GMT+2). We will hold a discussion afterwards in the #saco channel on the FreeNode IRC network. Email queries to online-contest@olympiad.cs.uct.ac.za You can find out more and register at http://olympiad.cs.uct.ac.za/contest.html I apologise for the late notice: we have been affected by a countrywide power shortage, with our server going down every couple of days for the past week or two. Hoping to see you there, Max Rabkin From rjmh at cs.chalmers.se Mon Dec 17 13:52:24 2007 From: rjmh at cs.chalmers.se (John Hughes) Date: Mon Dec 17 13:47:15 2007 Subject: [Haskell] Jobs in Functional Programming: the dust settles Message-ID: <001c01c840dd$f6d1e500$e475af00$@chalmers.se> The "Jobs in Functional Programming" event at Chalmers is now over-and was a resounding success! So many people preregistered. 111 in total. that I began to worry about the fire regulations for the room we were using! We ran out of chairs, and latecomers were standing around the walls. Six companies sent speakers for the event, and they gave excellent presentations, with many jobs available. All in all, it was a very exciting evening! Photographs and more details can be found at www.jobs-in-fp.org. John Hughes -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071217/d7ce6aa4/attachment.htm From conal at conal.net Mon Dec 17 14:08:07 2007 From: conal at conal.net (Conal Elliott) Date: Mon Dec 17 14:02:59 2007 Subject: [Haskell] problem with hs-plugins 1.1 on Windows: _WaitForSingleObject Message-ID: I compiled a fresh darcs-get of the latest hs-plugins (through patch 209). it all compiles fine, but the tests die with complaints like this one: +Main.exe: +c:/ghc/ghc-6.8.1.20071102/lib\base-3.0.0.0/HSbase-3.0.0.0.o: unknown symbol `_WaitForSingleObject' +Main.exe: user error (resolvedObjs failed.) + Other unknown symbols: directory-1.0.0.0/HSdirectory-1.0.0.0.o: unknown symbol `_GetTempPathA' process-1.0.0.0/HSprocess-1.0.0.0.o: unknown symbol `_CloseHandle' One other error: +Main.exe: unloadObj: can't find `c:/ghc/ghc-6.8.1.20071102/lib\old- locale-1.0.0.0/HSold-locale-1.0.0.0.o' to unload +Main.exe: user error (unloadObj: failed) Any suggestions? Thanks, - Conal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071217/d3c55c69/attachment.htm From duncan.coutts at worc.ox.ac.uk Mon Dec 17 15:52:30 2007 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Dec 17 15:48:50 2007 Subject: [Haskell] problem with hs-plugins 1.1 on Windows: _WaitForSingleObject In-Reply-To: References: Message-ID: <1197924750.15218.319.camel@localhost> On Mon, 2007-12-17 at 11:08 -0800, Conal Elliott wrote: > I compiled a fresh darcs-get of the latest hs-plugins (through patch > 209). it all compiles fine, but the tests die with complaints like > this one: > > Any suggestions? Try contacting the maintainer of the package. In the plugins.cabal file it says: author: Don Stewart maintainer: Don Stewart Most published packages list a maintainer and many list a web page too. Duncan From chak at cse.unsw.edu.au Mon Dec 17 20:08:50 2007 From: chak at cse.unsw.edu.au (Manuel M T Chakravarty) Date: Mon Dec 17 20:03:51 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <5A789366-EC12-4642-A806-AD009A06BFD1@cse.unsw.edu.au> References: <20071212184457.GA8806@matrix.chaos.earth.li> <5A789366-EC12-4642-A806-AD009A06BFD1@cse.unsw.edu.au> Message-ID: <2DAAD1F4-80A6-41FC-B8E6-BADF14D69873@cse.unsw.edu.au> I wrote, > Ian Lynagh wrote: >> ============================================================= >> The (Interactive) Glasgow Haskell Compiler -- version 6.8.2 >> ============================================================= >> >> The GHC Team is pleased to announce a new patchlevel release of GHC. >> This release contains a number of bugfixes relative to 6.8.1, >> including >> some significant performance fixes, so we recommend upgrading. > > A binary distribution for Mac OS X 10.5 (Leopard) is available from > > http://www.cse.unsw.edu.au/~chak/haskell/ghc-6.8.2-i386-apple-darwin.tar.bz2 > > To use this binary distribution, you need to have "readline" from > MacPorts installed. > > Manuel > > PS: This time around, there should be no dependency on MacPorts' > "gmp", but this is hard for me to test locally. I just updated the binary distribution at http://www.cse.unsw.edu.au/~chak/haskell/ghc-6.8.2-i386-apple-darwin.tar.bz2 It *definitely* does not require any version of GMP to be pre- installed anymore. All that is needed it MacPort's readline. Ian, can you please update the binary on the download page? Manuel PS: Moreover, binaries produced by the above compiler will run on any Leopard box. From jules at jellybean.co.uk Tue Dec 18 05:48:20 2007 From: jules at jellybean.co.uk (Jules Bean) Date: Tue Dec 18 05:43:11 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <2DAAD1F4-80A6-41FC-B8E6-BADF14D69873@cse.unsw.edu.au> References: <20071212184457.GA8806@matrix.chaos.earth.li> <5A789366-EC12-4642-A806-AD009A06BFD1@cse.unsw.edu.au> <2DAAD1F4-80A6-41FC-B8E6-BADF14D69873@cse.unsw.edu.au> Message-ID: <4767A574.1060402@jellybean.co.uk> Manuel M T Chakravarty wrote: > PS: Moreover, binaries produced by the above compiler will run on any > Leopard box. That's great news. Can you add a note about how you achieved that to http://hackage.haskell.org/trac/ghc/ticket/1540 please? My previous attempts to distribute ghc-compiled softrware to other mac users have always fallen foul of dependencies on gmp... Jules From chak at cse.unsw.edu.au Wed Dec 19 19:46:34 2007 From: chak at cse.unsw.edu.au (Manuel M T Chakravarty) Date: Wed Dec 19 19:41:26 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <4767A574.1060402@jellybean.co.uk> References: <20071212184457.GA8806@matrix.chaos.earth.li> <5A789366-EC12-4642-A806-AD009A06BFD1@cse.unsw.edu.au> <2DAAD1F4-80A6-41FC-B8E6-BADF14D69873@cse.unsw.edu.au> <4767A574.1060402@jellybean.co.uk> Message-ID: <79472816-3C68-47BB-9F50-826AA756EB0F@cse.unsw.edu.au> Jules Bean: > Manuel M T Chakravarty wrote: >> PS: Moreover, binaries produced by the above compiler will run on >> any Leopard box. > > That's great news. > > Can you add a note about how you achieved that to > > http://hackage.haskell.org/trac/ghc/ticket/1540 > > please? > > My previous attempts to distribute ghc-compiled softrware to other > mac users have always fallen foul of dependencies on gmp... I have added some remarks to that ticket, but it really should work out of the box now if you use my binary dist for Macs or with the HEAD. Manuel From dekudekuplex at yahoo.com Wed Dec 19 21:13:17 2007 From: dekudekuplex at yahoo.com (Benjamin L. Russell) Date: Wed Dec 19 21:08:00 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <008201c83d88$ddee2ec0$09137ad5@cr3lt> Message-ID: <31114.34422.qm@web30206.mail.mud.yahoo.com> This fixed the problem, and on Windows XP Professional, I was able to set GHCi to find .ghci in %HOMEPATH%, which turned out to be c:\Documents and Settings\. However, I would like to override this setting, and either have GHCi look for .ghci in %HOME%, as opposed to %HOMEPATH% (so that this value is not automatically set by the OS), or to set %HOMEPATH% itself to be c:\home. However, when I go to the Control Panel, then to the System applet, then to the Advanced tab, then click on the Environment Variables button, and then create an environmental variable called "HOMEPATH" (either local or global), this setting does not override the default setting for this environmental variable, and GHCi still looks for .ghci in the default location (c:\Documents and Settings\). Does anybody know how to cause GHCi to look for .ghci in c:\home? Benjamin L. Russell --- Claus Reinke wrote: > > With the Windows release of GHC 6.8.2, GHCi does > not find .ghci in > > %HOME% (though it finds it in the current > directory): > > try %HOMEDRIVE% %HOMEPATH% instead? > > or the result of > 'System.Directory.getHomeDirectory'. > > you might have set %HOME% to help some unix software > along, but this variable doesn't seem to exist by > default. > > claus > > http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx > > http://en.wikipedia.org/wiki/Home_directory > > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > From simonmarhaskell at gmail.com Thu Dec 20 04:32:51 2007 From: simonmarhaskell at gmail.com (Simon Marlow) Date: Thu Dec 20 04:27:35 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <31114.34422.qm@web30206.mail.mud.yahoo.com> References: <31114.34422.qm@web30206.mail.mud.yahoo.com> Message-ID: <476A36C3.1050203@gmail.com> Benjamin L. Russell wrote: > This fixed the problem, and on Windows XP > Professional, I was able to set GHCi to find .ghci in > %HOMEPATH%, which turned out to be c:\Documents and > Settings\. > > However, I would like to override this setting, and > either have GHCi look for .ghci in %HOME%, as opposed > to %HOMEPATH% (so that this value is not automatically > set by the OS), or to set %HOMEPATH% itself to be > c:\home. > > However, when I go to the Control Panel, then to the > System applet, then to the Advanced tab, then click on > the Environment Variables button, and then create an > environmental variable called "HOMEPATH" (either local > or global), this setting does not override the default > setting for this environmental variable, and GHCi > still looks for .ghci in the default location > (c:\Documents and Settings\). > > Does anybody know how to cause GHCi to look for .ghci > in c:\home? Create a .ghci file in c:\Documents And Settings\, with the following contents: :cmd readFile "c:\\home\\.ghci" Cheers, Simon From simonmarhaskell at gmail.com Thu Dec 20 06:15:06 2007 From: simonmarhaskell at gmail.com (Simon Marlow) Date: Thu Dec 20 06:09:52 2007 Subject: [Haskell] ANNOUNCE: Haddock version 0.9 Message-ID: <476A4EBA.80907@gmail.com> Announcing the release of Haddock 0.9 http://www.haskell.org/haddock/ http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haddock-0.9 While Haddock 2 is still in development and should be available shortly, this is an updated version of the old Haddock that works with the latest tools and has various other improvements (all of which have also been rolled into Haddock 2). Changes in version 0.9: * Infix type operators, e.g., first :: a~>a' -> (a,b)~>(a',b) * Add a search box to the index page which automatically narrows the index to the search as you type (thanks to Neil Mitchell). * Add a --ghc-pkg flag * Add a flag --allow-missing-html * URL expansion for %%, %L, %{LINE} * added substitution %{FILE///c} * Lexing of /.../ is now more like '...', in that a / character must be matched by another / character on the same line, otherwise it is treated as a literal '/'. This removes a common source of accidental parse errors in documentation. * Various bugs were fixed. * Cabal 1.2 is now required, and Haddock builds with GHC 6.8.x. From hpacheco at gmail.com Thu Dec 20 11:53:03 2007 From: hpacheco at gmail.com (Hugo Pacheco) Date: Thu Dec 20 11:47:47 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <476A36C3.1050203@gmail.com> References: <31114.34422.qm@web30206.mail.mud.yahoo.com> <476A36C3.1050203@gmail.com> Message-ID: <7b92c2840712200853n45b8fc4av3f7e9c142d902cf@mail.gmail.com> The binaries do work in Leopard, but it misses all library files, such as System.IO. How can I build them form the sources? I have no cabal-install as well. and the macports 6.6 is broken. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071220/fced0105/attachment.htm From alex at alexjacobson.com Thu Dec 20 13:19:48 2007 From: alex at alexjacobson.com (Alex Jacobson) Date: Thu Dec 20 13:14:55 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <7b92c2840712200853n45b8fc4av3f7e9c142d902cf@mail.gmail.com> References: <31114.34422.qm@web30206.mail.mud.yahoo.com> <476A36C3.1050203@gmail.com> <7b92c2840712200853n45b8fc4av3f7e9c142d902cf@mail.gmail.com> Message-ID: <476AB244.6050606@alexjacobson.com> My experience with the mac stuff is that you are just better off building everything yourself. It runs in the background while you go eat dinner and then you are done. -Alex- Hugo Pacheco wrote: > The binaries do work in Leopard, but it misses all library files, such > as System.IO. > How can I build them form the sources? I have no cabal-install as well. > and the macports 6.6 is broken. > > > ------------------------------------------------------------------------ > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell From hpacheco at gmail.com Thu Dec 20 14:31:03 2007 From: hpacheco at gmail.com (Hugo Pacheco) Date: Thu Dec 20 14:25:47 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <476AB244.6050606@alexjacobson.com> References: <31114.34422.qm@web30206.mail.mud.yahoo.com> <476A36C3.1050203@gmail.com> <7b92c2840712200853n45b8fc4av3f7e9c142d902cf@mail.gmail.com> <476AB244.6050606@alexjacobson.com> Message-ID: <7b92c2840712201131u38100a8ege72f2da3f510fbe5@mail.gmail.com> >From the ghc-6.8.2 sources then, I'm just afraid of possible errors, and I don't have any previous ghc installed. Do the sources permit bootstrapping? From what I know... *The source distribution needs an installed GHC (version 6.0 at least). If your platform isn't currently supported with a binary distribution, then you'll need to consult the section on Porting GHCin the Building Guide. * I'm afraid of the same error as macports 6.6.1: configure: error: GHC is required unless bootstrapping from .hc files. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071220/1e900cfc/attachment.htm From gwright at comcast.net Thu Dec 20 15:00:11 2007 From: gwright at comcast.net (Gregory Wright) Date: Thu Dec 20 14:55:03 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <7b92c2840712201131u38100a8ege72f2da3f510fbe5@mail.gmail.com> References: <31114.34422.qm@web30206.mail.mud.yahoo.com> <476A36C3.1050203@gmail.com> <7b92c2840712200853n45b8fc4av3f7e9c142d902cf@mail.gmail.com> <476AB244.6050606@alexjacobson.com> <7b92c2840712201131u38100a8ege72f2da3f510fbe5@mail.gmail.com> Message-ID: Hi, On Dec 20, 2007, at 2:31 PM, Hugo Pacheco wrote: > >From the ghc-6.8.2 sources then, I'm just afraid of possible > errors, and I don't have any previous ghc installed. > > Do the sources permit bootstrapping? From what I know... > The source distribution needs an installed GHC (version 6.0 at > least). If your platform isn't currently supported with a binary > distribution, then you'll need to consult the section on Porting GHC > in the Building Guide. > > I'm afraid of the same error as macports 6.6.1: > > configure: error: GHC is required unless bootstrapping from .hc files. > The macports 6.8.2 should be ready soon for Tiger (PPC and Intel) and Leopard (Intel only). I have had successful builds on these platforms and the Portfile is updated. However, the 6.8 branch seems to have introduced a bug in file locking (#1992 in the trac) that causes the build to fail once out of every four or five times. This is not acceptable for a production release, so this has to be tracked down before GHC from macports is updated. Sorry for the delay, Greg -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071220/a4ec38b7/attachment.htm From hpacheco at gmail.com Thu Dec 20 17:30:00 2007 From: hpacheco at gmail.com (Hugo Pacheco) Date: Thu Dec 20 17:24:41 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: References: <31114.34422.qm@web30206.mail.mud.yahoo.com> <476A36C3.1050203@gmail.com> <7b92c2840712200853n45b8fc4av3f7e9c142d902cf@mail.gmail.com> <476AB244.6050606@alexjacobson.com> <7b92c2840712201131u38100a8ege72f2da3f510fbe5@mail.gmail.com> Message-ID: <7b92c2840712201430y636167f7u3b7b2c3c9d995332@mail.gmail.com> But is it like days, weeks, months? I really need GHC installed on my intel mac w/ leopard. How can I build the libraries in the current leopard release? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071220/469378fe/attachment.htm From ninegua at gmail.com Thu Dec 20 19:27:44 2007 From: ninegua at gmail.com (Paul L) Date: Thu Dec 20 19:22:26 2007 Subject: [Haskell] help needed to test new GLFW package Message-ID: <856033f20712201627y2bd05dd6w97a1865bc4027fc4@mail.gmail.com> With the new Cabal 1.2, it's now possible to make platform dependent C code compilation. So I've made available new version of GLFW that follows standard Cabal installation steps, it's at: http://www.cs.yale.edu/homes/hl293/download/GLFW-0.2.tar.gz Note that this is VERY experimental. Help is needed to test the package on different combinations of GHC + OS platforms. I've already tested it on Linux (i386 32bit) + GHC 6.8.2/6.6.1, Windows XP and OS X 10.4 (Intel) + GHC 6.6 (with Cabal 1.2.2). I'll appreciate feedbacks from GHC 6.8/6.6 on Linux (IA64), Windows Vista, and OS X 10.5 (intel) or OS X (ppc). If no major installation problem remains, I'm going to put it up on hackageDB. Thanks! -- Regards, Paul Liu Yale Haskell Group http://www.haskell.org/yale From dekudekuplex at yahoo.com Thu Dec 20 20:41:41 2007 From: dekudekuplex at yahoo.com (Benjamin L. Russell) Date: Thu Dec 20 20:36:21 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: Message-ID: <871383.75283.qm@web30209.mail.mud.yahoo.com> Will a binary version of 6.8.2 be released any time soon for Mac OS X 10.5.x Leopard running on a PowerPC, as opposed to an Intel? I have a first-generation aluminum PowerBook with a PowerPC currently running Mac OS X 10.2.8 Jaguar, and am considering upgrading to Leopard next month, but want to install GHC 6.8.2 on it with a binary. Does this mean that I should not upgrade to that OS version? Benjamin L. Russell --- Gregory Wright wrote: > ... > The macports 6.8.2 should be ready soon for Tiger > (PPC and Intel) and > Leopard (Intel only). > I have had successful builds on these platforms and > the Portfile is > updated. However, > the 6.8 branch seems to have introduced a bug in > file locking (#1992 > in the trac) that > causes the build to fail once out of every four or > five times. This > is not acceptable for > a production release, so this has to be tracked down > before GHC from > macports is > updated. > > Sorry for the delay, > Greg > > > > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > From hpacheco at gmail.com Thu Dec 20 22:35:31 2007 From: hpacheco at gmail.com (Hugo Pacheco) Date: Thu Dec 20 22:30:10 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <871383.75283.qm@web30209.mail.mud.yahoo.com> References: <871383.75283.qm@web30209.mail.mud.yahoo.com> Message-ID: <7b92c2840712201935s352495e5x4f4bb1748f011e69@mail.gmail.com> Hmm, basically, the build from the GHC site ssimply installs the executables, every libary file is missing somehow (all the base package.. etc) Therefore I have two options to have a working 6.8.x installation: - wait around a week for a new macport (preferable) - try to install the missing libraries in the corrent directories I'm sorry for enquiring about this kind of specific stuff hugo -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071221/f7dc467e/attachment.htm From haskell at list.mightyreason.com Fri Dec 21 04:58:49 2007 From: haskell at list.mightyreason.com (Chris Kuklewicz) Date: Fri Dec 21 04:53:35 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <871383.75283.qm@web30209.mail.mud.yahoo.com> References: <871383.75283.qm@web30209.mail.mud.yahoo.com> Message-ID: <476B8E59.10701@list.mightyreason.com> Benjamin L. Russell wrote: > Will a binary version of 6.8.2 be released any time > soon for Mac OS X 10.5.x Leopard running on a PowerPC, > as opposed to an Intel? > > I have a first-generation aluminum PowerBook with a > PowerPC currently running Mac OS X 10.2.8 Jaguar, and > am considering upgrading to Leopard next month, but > want to install GHC 6.8.2 on it with a binary. > > Does this mean that I should not upgrade to that OS > version? I have a PPC laptop with OS 10.5.1 Leopard. The ghc-6.8.1 does not work. Though there is limited success if you only ever use -fvia-C. Fixing one problem ( http://hackage.haskell.org/trac/ghc/ticket/1843 ) has merely revealed another ( http://hackage.haskell.org/trac/ghc/ticket/1958 ). The problem is being worked on. But you will not get (PPC && Leopard && ghc-6.8) yet. From dekudekuplex at yahoo.com Fri Dec 21 05:40:47 2007 From: dekudekuplex at yahoo.com (Benjamin L. Russell) Date: Fri Dec 21 05:35:25 2007 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.8.2 In-Reply-To: <476A36C3.1050203@gmail.com> Message-ID: <513737.99488.qm@web30207.mail.mud.yahoo.com> Thank you; yes, that will work for the time being, until an option for specifying the %HOME% directory is re-incorporated back into a future version of GHCi. It would probably be better if GHCi simply looked for .ghci in the location specified by the %HOME% environmental variable (which can be customized), instead of the one in the %HOMEPATH% variable (which cannot). One of the best solutions, in my opinion, would be if GHCi looked for .ghci in a location specified by a custom %GHCHOME% environmental variable, since the %HOME% variable is also used by Emacs. That way, I could put .ghci in a location separate from both the Emacs and OS home directories. Benjamin L. Russell --- Simon Marlow wrote: > Benjamin L. Russell wrote: > > This fixed the problem, and on Windows XP > > Professional, I was able to set GHCi to find .ghci > in > > %HOMEPATH%, which turned out to be c:\Documents > and > > Settings\. > > > > However, I would like to override this setting, > and > > either have GHCi look for .ghci in %HOME%, as > opposed > > to %HOMEPATH% (so that this value is not > automatically > > set by the OS), or to set %HOMEPATH% itself to be > > c:\home. > > > > However, when I go to the Control Panel, then to > the > > System applet, then to the Advanced tab, then > click on > > the Environment Variables button, and then create > an > > environmental variable called "HOMEPATH" (either > local > > or global), this setting does not override the > default > > setting for this environmental variable, and GHCi > > still looks for .ghci in the default location > > (c:\Documents and Settings\). > > > > Does anybody know how to cause GHCi to look for > .ghci > > in c:\home? > > Create a .ghci file in c:\Documents And > Settings\, with the following > contents: > > :cmd readFile "c:\\home\\.ghci" > > Cheers, > Simon > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > From mh at informatik.uni-kiel.de Fri Dec 21 09:25:30 2007 From: mh at informatik.uni-kiel.de (Michael Hanus) Date: Fri Dec 21 09:20:09 2007 Subject: [Haskell] LOPSTR 2008: Preliminary Call for Papers Message-ID: <20071221142530.E2B2E84006@localhost> ====================================================================== CALL FOR PAPERS 18th International Symposium on International Symposium on Logic-Based Program Synthesis and Transformation LOPSTR 2008 http://www.informatik.uni-kiel.de/~mh/lopstr08/ July 17-18, 2008, Valencia, Spain (co-located with SAS 2008) ====================================================================== Objectives: The aim of the LOPSTR series is to stimulate and promote international research and collaboration on logic-based program development. LOPSTR is open to contributions in logic-based program development in any language paradigm. LOPSTR has a reputation for being a lively, friendly forum for presenting and discussing work in progress. Formal proceedings are produced only after the symposium, so authors can incorporate this feedback in the published papers. Topics: Topics of interest cover all aspects of logic-based program development, all stages of the software life cycle, and issues of both programming-in-the-small and programming-in-the-large. Papers describing applications in these areas are especially welcome. Contributions are welcome on all aspects of logic-based program development, including, but not limited to: specification synthesis verification transformation analysis optimisation composition security reuse applications and tools component-based software development software architectures agent-based software development program refinement Survey papers, that present some aspect of the above topics from a new perspective, and application papers, that describe experience with industrial applications, are also welcome. Papers must describe original work, be written and presented in English, and must not substantially overlap with papers that have been published or that are simultaneously submitted to a journal, conference, or workshop with refereed proceedings. Work that already appeared in unpublished or informally published workshop proceedings may be submitted (please contact the PC chair in case of questions). IMPORTANT DATES AND SUBMISSION GUIDELINES: Paper/extended abstract submission: May 7, 2008 Notification (for pre-proceedings): June 8, 2008 Camera-ready (for pre-proceedings): June 29, 2008 Symposium: July 17-18, 2008 Submissions can either be (short) extended abstracts or (full) papers whose length should not exceed 9 and 15 pages (including references), respectively. Submissions must be formatted in the Springer LNCS style (excluding well-marked appendices not intended for publication). Referees are not required to read the appendices, and thus papers should be intelligible without them. Short papers may describe work-in-progress or tool demonstrations. Both accepted short and full papers will appear in the pre-proceedings. The full papers will automatically appear in the formal proceedings that is expected to be published by Springer-Verlag in the LNCS series. In addition, after the symposium, the programme committee will select those short papers to be considered for formal publication. These authors will be invited to revise and extend their submissions in the light of the comments of the reviewers and the feedback solicited at the meeting. Then after another round of reviewing, the revised papers which are accepted will be also published in the formal proceedings. Papers should be submitted either in PDF or PostScript via the web page of LOPSTR 2008. Program Committee: Slim Abdennadher German University Cairo Danny De Schreye K.U.Leuven, Belgium Wlodek Drabent Polish Academy of Sciences, Poland / Linköping Univ., Sweden Gopal Gupta University of Texas at Dallas, USA Michael Hanus University of Kiel, Germany (Chair) Patricia Hill University of Leeds, UK Andy King University of Kent, UK Michael Leuschel University of Duesseldorf, Germany Torben Mogensen DIKU, University of Copenhagen, Denmark Mario Ornaghi Universita degli Studi di Milano, Italy Etienne Payet Universite de La Reunion, France Alberto Pettorossi University of Rome Tor Vergata, Italy German Puebla Technical University of Madrid, Spain C.R. Ramakrishnan SUNY at Stony Brook, USA Sabina Rossi Universita Ca' Foscari di Venezia, Italy Chiaki Sakama Wakayama University, Japan Josep Silva Technical University of Valencia, Spain Wim Vanhoof University of Namur, Belgium Eelco Visser Delft University of Technology, The Netherlands ---------------------------------------------------------------------- From hcar at haskell.org Sat Dec 22 10:08:19 2007 From: hcar at haskell.org (Andres Loeh) Date: Sat Dec 22 10:02:54 2007 Subject: [Haskell] ANNOUNCE: Haskell Communities & Activities Report (13th ed., December 2007) Message-ID: <20071222150819.GR15967@cs.uu.nl> On behalf of the many, many contributors, I am pleased to announce that the Haskell Communities and Activities Report (13th edition, December 2007) http://www.haskell.org/communities/ is now available from the Haskell Communities home page in PDF and HTML formats. Many thanks go to all the people that contributed to this report, both directly, by sending in descriptions, and indirectly, by doing all the interesting things that are reported. I hope you will find it as interesting a read as we did. If you haven't encountered the Haskell Communities and Activities Reports before, you may like to know that the first of these reports was published in November 2001. Their goal is to improve the communication between the increasingly diverse groups, projects and individuals working on, with, or inspired by Haskell. The idea behind these reports is simple: Every six months, a call goes out to all of you enjoying Haskell to contribute brief summaries of your own area of work. Many of you respond (eagerly, unprompted, and well in time for the actual deadline ;) ) to the call. The editor collects all the contributions into a single report and feeds that back to the community. When we try for the next update, six months from now, you might want to report on your own work, project, research area or group as well. So, please put the following into your diaries now: ---------------------------------------- End of April 2008: target deadline for contributions to the May 2008 edition of the HC&A Report ---------------------------------------- Unfortunately, many Haskellers working on interesting projects are so busy with their work that they seem to have lost the time to follow the Haskell related mailing lists and newsgroups, and have trouble even finding time to report on their work. If you are a member, user or friend of a project so burdened, please find someone willing to make time to report and ask them to `register' with the editor for a simple e-mail reminder in the middle of April (you could point me to them as well, and we can then politely ask if they want to contribute, but it might work better if you do the initial asking). Of course, they will still have to find the ten to fifteen minutes to draw up their report, but maybe we can increase our coverage of all that is going on in the community. Feel free to circulate this announcement further in order to reach people who might otherwise not see it. Enjoy! Andres Loeh -- Haskell Communities and Activities Report (http://haskell.org/communities) From conal at conal.net Sun Dec 23 19:15:09 2007 From: conal at conal.net (Conal Elliott) Date: Sun Dec 23 19:09:39 2007 Subject: [Haskell] garbage collection of Concurrent Haskell threads? Message-ID: The classic paper "The Incremental Garbage Collection of Processes" ( http://citeseer.ist.psu.edu/baker77incremental.html) describes "futures" and how particularly garbage collecting them when their pending result is no longer referenced. I've been playing with an implementation of futures in Concurrent Haskell (http://haskell.org/haskellwiki/Reactive), using MVars, and I'm stumped about how to GC non-winning threads in a race between futures ("parallel or"). I'm having winner kill loser, which seems to work fine, though is potentially dangerous w.r.t locked resources. Still, the elegance of a GC-based solution appeals to me. Has anyone explored process GC ideas for Concurrent Haskell (or STM)? Futures are implemented using Concurrent Haskell's MVars. I first tried using STM and TVars, simply using orElse to implement mappend for futures. However, I didn't see how to avoid nesting "atomically", which yielded a run-time error. If anyone has ideas about using STM & TVars for futures, I'd love to hear. Thanks, - Conal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071223/7a8f4ef0/attachment.htm From simonpj at microsoft.com Mon Dec 24 04:02:47 2007 From: simonpj at microsoft.com (Simon Peyton-Jones) Date: Mon Dec 24 03:55:26 2007 Subject: [Haskell] garbage collection of Concurrent Haskell threads? In-Reply-To: References: Message-ID: GHC already garbage-collects threads that are blocked on an MVar that is otherwise inaccessible (and hence cannot be updated). More precisely, GHC sends the thread an asynchronous exception (ThreadBlocked or something), so that it has a chance to clean up. So perhaps the GC you want is already implemented? Simon From: haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] On Behalf Of Conal Elliott Sent: 24 December 2007 00:15 To: haskell@haskell.org Subject: [Haskell] garbage collection of Concurrent Haskell threads? The classic paper "The Incremental Garbage Collection of Processes" (http://citeseer.ist.psu.edu/baker77incremental.html) describes "futures" and how particularly garbage collecting them when their pending result is no longer referenced. I've been playing with an implementation of futures in Concurrent Haskell ( http://haskell.org/haskellwiki/Reactive), using MVars, and I'm stumped about how to GC non-winning threads in a race between futures ("parallel or"). I'm having winner kill loser, which seems to work fine, though is potentially dangerous w.r.t locked resources. Still, the elegance of a GC-based solution appeals to me. Has anyone explored process GC ideas for Concurrent Haskell (or STM)? Futures are implemented using Concurrent Haskell's MVars. I first tried using STM and TVars, simply using orElse to implement mappend for futures. However, I didn't see how to avoid nesting "atomically", which yielded a run-time error. If anyone has ideas about using STM & TVars for futures, I'd love to hear. Thanks, - Conal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071224/aaa4a0a4/attachment-0001.htm From conal at conal.net Mon Dec 24 13:48:38 2007 From: conal at conal.net (Conal Elliott) Date: Mon Dec 24 13:43:06 2007 Subject: [Haskell] garbage collection of Concurrent Haskell threads? In-Reply-To: References: Message-ID: Thanks, Simon. If I understand the mechanism you're describing, it discards readers of an empty MVar when there are no other references to the MVar *because* the MVar can never get written. And if there are other readers but no writers, then I'm guessing GC wouldn't know that, and none of the readers get discarded. Is that so? I think Baker & Hewitt's trick was analogous to discarding writers of an already full MVar w