From byorgey at seas.upenn.edu Sat Nov 1 16:42:05 2008 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Sat Nov 1 16:37:08 2008 Subject: [Haskell] Haskell Weekly News: Issue 91 - November 1, 2008 Message-ID: <20081101204205.GA5464@seas.upenn.edu> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20081101 Issue 91 - November 01, 2008 --------------------------------------------------------------------------- Welcome to issue 91 of HWN, a newsletter covering developments in the [1]Haskell community. Announcements blas version 0.6. Patrick Perry [2]announced a [3]new version of the Haskell BLAS bindings, now with support for the ST monad! darcs hacking sprint #1 (report). Eric Y. Kow [4]summarized the [5]progress made during the darcs hacking sprint last weekend. Looks like exciting stuff! Much more detail and links can be found in Eric's original email. LAST CALL: Haskell Communities and Activities Report. Janis Voigtlaender [6]is extending the submission deadline for the 15th edition of the Haskell Community and Activities Report by a few days. If you haven't already, please [7]write an entry for your new project or update your old entry. Data.TCache 0.5.1. Alberto G. Corona [8]announced the release of [9]Data.TCache, which implements a transactional cache with configurable persistence. It tries to simulate Hibernate for Java or Rails for Ruby; the main difference is that transactions are done in memory trough STM. multirec-0.1. Andres Loeh [10]announced the release of the [11]multirec package, which provides a mechanism to talk about fixed points of systems of datatypes that may be mutually recursive. On top of this representations, generic functions such as the fold or the Zipper can then be defined. Making 'Super Nario Bros.' in Haskell. Korcan Hussein [12]linked to a [13]super mario brothers clone which was [14]written in Haskell! Chart-0.9. Tim Docker [15]announced the 0.9 release of the [16]Chart library, a library for drawing 2D charts. Publication of InputYourData.com + Project Announcement. Enzo Haussecker [17]announced the publication of [18]InputYourData.com, an online tool, written in Haskell, for financial, mathematical and scientific calculations. Enzo also described an idea to create a similar website where web applications are created by the user. If you are intrigued by this project and have substantial experience in designing Haskell-based web applications, please send Enzo your resume and a brief summery of why you are interested. Blog noise [19]Haskell news from the [20]blogosphere. * Mark Jason Dominus: [21]Atypical Typing. Mark describes his OOPSLA talk about Haskell's type system. * Eric Kow (kowey): [22]official darcs blog!. * Ben Moseley: [23]2 Minute intro to Associated Types / Type Families. * Ivan Lazar Miljenovic: [24]Honours + LXDE. Ivan discusses the status of his Haskell-oriented Mathematics Honours thesis. * Jason Dagit: [25]Darcs Hacking Sprint - Summary from Portland Team. * Eric Kow (kowey): [26]darcs hacking sprint - Team Brighton Day 2. * Dan Piponi (sigfpe): [27]Operads and their Monads. Quotes of the Week * lispy: I just wanted to make sure that this was illegal first * quicksilver: it doesn't entirely help that SQL is a series of broken standards layered over very poor decisions by large corporations * Baughn: SingInTime> hello world SingInTime: Type mismatch: Expected type: IRC [a], inferred type: IO () About the Haskell Weekly News New editions are posted to [28]the Haskell mailing list as well as to [29]the Haskell Sequence and [30]Planet Haskell. [31]RSS is also available, and headlines appear on [32]haskell.org. To help create new editions of this newsletter, please see the information on [33]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [34]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47117 3. http://quantile95.com/2008/10/31/ann-blas-bindings-for-haskell-version-06/ 4. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47114 5. http://blog.darcs.net/2008/10/darcs-hacking-sprint-1-report.html 6. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47078 7. http://www.haskell.org/pipermail/haskell/2008-October/020651.html 8. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47016 9. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/TCache 10. http://article.gmane.org/gmane.comp.lang.haskell.general/16574 11. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/multirec 12. http://article.gmane.org/gmane.comp.lang.haskell.general/16572 13. http://uk.youtube.com/watch?v=gVLFGQGRsDw 14. http://svn.coderepos.org/share/lang/haskell/nario/ 15. http://article.gmane.org/gmane.comp.lang.haskell.general/16570 16. http://dockerz.net/software/chart.html 17. http://article.gmane.org/gmane.comp.lang.haskell.general/16550 18. http://inputyourdata.com/ 19. http://planet.haskell.org/ 20. http://haskell.org/haskellwiki/Blog_articles 21. http://blog.plover.com/talk/atypical-typing.html 22. http://koweycode.blogspot.com/2008/10/official-darcs-blog.html 23. http://nattermorphisms.blogspot.com/2008/10/2-minute-intro-to-associated-types-type.html 24. http://ivanmiljenovic.wordpress.com/2008/10/29/honours-lxde/ 25. http://blog.codersbase.com/2008/10/28/darcs-hacking-sprint-summary-from-portland-team/ 26. http://koweycode.blogspot.com/2008/10/darcs-hacking-sprint-team-brighton-day.html 27. http://sigfpe.blogspot.com/2008/10/operads-and-their-monads.html 28. http://www.haskell.org/mailman/listinfo/haskell 29. http://sequence.complete.org/ 30. http://planet.haskell.org/ 31. http://sequence.complete.org/node/feed 32. http://haskell.org/ 33. http://haskell.org/haskellwiki/HWN 34. http://code.haskell.org/~byorgey/code/hwn/ From gwern0 at gmail.com Sat Nov 1 20:23:55 2008 From: gwern0 at gmail.com (Gwern Branwen) Date: Sat Nov 1 20:18:57 2008 Subject: [Haskell] Publication of InputYourData.com + Project Announcement In-Reply-To: References: Message-ID: 2008/10/26 Enzo Haussecker : > I would like to announce the publication of InputYourData.com (beta) ? the > online resource tool for financial, mathematical and scientific > calculations. All web applications found at http://inputyourdata.com/ are > written solely in Haskell and based on the Network.CGI framework. > This website began as an experiment to familiarize myself with the monadic > features of Haskell and their use in web programming. Namely, the mapping > and manipulation of user inputs as typed objects. Through these experiments > I found that Haskell allows for an efficient system where a variety of > operations can be preformed while minimizing as many resources (such as time > and memory space) as possible. > I am now interested in developing a similar type of website, except wiki > style ? where all web applications are created by the user. Essentially, I > am designing a web application where users can symbolically declare the > arguments of a function and that function's call based on arbitrary > variables. For example, say a user would like to create a web application to > compute the roots of a second degree polynomial. He/she would simply declare > the arguments to her function ? three complex numbers a b and c, and the > call of that function ? (-b ? sqrt (b^2 - 4*a*c))/(2*a). The product of that > users inputs will render a web application that looks similar > to http://inputyourdata.com/cgi-bin/quadratic.cgi (all text is to be updated > by the user as well). As one could imagine, other, more complex functions > invo lving vectors, matrices, stock prices, and other arguments can also be > defined in terms of arbitrary variables and declared as an inputs to my > wiki-style web application. That sounds interesting, certainly. But out of curiosity, how would you handle the security aspect? It sounds like the utility of such a wiki lies in letting the user use the full power of Haskell for development & configuration (which has worked out well for XMonad) - but obviously that implies letting random users run arbitrary code on your host. Are you going to just sandbox the web server in a chroot or something? > If you are intrigued by this project and you have substantial experience in > designing Haskell-based web applications, please send me your resume and a > brief summery of why you are interested. > Regards, > Enzo Haussecker -- gwern From marco-oweber at gmx.de Sun Nov 2 08:47:50 2008 From: marco-oweber at gmx.de (Marc Weber) Date: Sun Nov 2 08:42:56 2008 Subject: [Haskell] Need help with VXML again (fun deps and forall types) Message-ID: <20081102134750.GA19947@gmx.de> Some time I've announced that I'm working on VXML, a validating xml library. The use case which makes trouble is elem+ (one or more) This example is encoded in this way: root -> St 1 id :1 endable : True a -> St 1 b -> St 1 c -> St 12 id :11 endable : True (a|b|c) -> St 1 d -> St 11 id :12 endable : False d -> St 11 to be read as: When creating a new root element start with state 1, then expect one of a,b,c subelemnts. If subelement c is added continue with state 12. The element may not be finalized (endable false because a "d" is expected). Following that we end in a loop at state 11 which is endable when only adding more d subelemnts. in VXML it looks like this print $ fStr $ runRoot $ vdo -- forceElements c e d e -- first, result has state 12 A d e -- second, result has state 11 X d e -- thrd, result has state 11 d e -- fourth, result has state 11 Y -- ... Now I'd like to do something convinient such as foldr1 (>>) print $ [1..10] I've called the corresponding function in VXML vxmlgtgt because it can be used like a monad and even do notation is supported using the vdo cpp macro rebinding (>>), (>>=) and return. Obviously I can only use foldr from X up to Y because A has a different return type. If you download the latest version of the library (git clone git://mawercer.de/vxml; git checkout fc160ab # is master branch ) you see that it actually works quite fine -- helper function: vxmlSeqPlus_ (f,fl) = f `vxmlgtgt` (foldr1 vxmlgtgt fl) -- usage example from testSimple.hs, note that both (d e) have different types vxmlSeqPlus_ ((d e), replicate 9 (d e)) d is actually a function creating the d element requiring a function as first argument which adds attrubutes and subelemnts (e is a nop here) This all makes d having a type which looks rather complicated: el*: the result type (String only in the current implementation) data VXML st el_ st2 el2_ st3 el3_ a = VXML { runVVXML :: (PT st el_ -> PT st2 el2_) -- [1] -> (a, PT st el_ -> PT st3 el3_) -- [2] } [1] : st -> st2 : The function which is passed [2] : st -> st3 : The type of function which is returned taking a function modyfiying the parent and adding "d" resulting in st3 (st3 is either State12 in A, or State11 in Y talking about the example given above) Its even getting more interesting now: Because I'd like to use different result types (String, ByteString, ...) I've used a type var to represent that type. I've called them el el2 el3 etc. When finally creating the document by using runRoot the result types propagates through the xml tree by functional dependencies. An example is the AddElT class which actually does add a subelement: class AddElT est el_ estc elc_ est2 el2_ | est estc -> est2 -- result state is determined by parent and child element state , est est2 estc el2_ -> el_ -- the result type of child and parent privious sibling are determined by the el2_ return type and the element states , est est2 estc el2_ -> elc_ where addElT :: PT est el_ -> PT estc elc_ -> PT est2 el2_ The instance has constraints like this determining el_ elc_ and st2 instance ( , DetermineElAddEl (NYV (Element elType AttrsOk st hchs)) el2 cest2 elc2 (NYV (Element elType AttrsOk st2 HTrue)) el3 , Consume st (Elem celType) st2 [..] ) => AddElT [..] Determining states form leafs to the root then propagating String or ByteString result type form the root to the leaf depending on states works fine until I start trying to use shortcut for the foldr1 example above. Instead of vxmlSeqPlus_ ((d e), replicate 9 (d e)) I'd like to write this. Of course the lamba here is polymorphic because it must return State 12 the first time and State 11 in the following cases. vxmlMapSeqPlus_ (\_ -> d e) [1..10] -- Ex I It's implementation is straight forward: vxmlMapSeqPlus_ f (x:xs) = vxmlSeqPlus_ (f x, map f xs) vxmlMapSeqPlus_ _ [] = error "vxmlSeqPlus has been called with empty list" My attempt to assign a type looks like this: vxmlMapSeqPlus_ :: ( VXMLMonad m st el st2 el2 st3 el3 st3 el3 , VXMLMonad m st el st3 el3 st3 el3 st3 el3 ) => (forall st' elA st'' elB . t -> m st el st' elA st'' elB ()) -> [t] -> m st el st2 el2 st3 el3 () vxmlMapSeqPlus_ f (x:xs) = vxmlSeqPlus_ (f x , map f xs) vxmlMapSeqPlus_ _ [] = error "vxmlSeqPlus has been called with empty list" where class VXMLMonad m st el_ st2 el2_ st3 el3_ st4 el4_ where vxmlgtgt :: m st el_ st2 el2_ st3 el3_ a -> m st el_ st3 el3_ st4 el4_ b -> m st el_ st2 el2_ st4 el4_ b vxmlgtgt a b = vxmlbind a $ const b vxmlbind :: m st el_ st2 el2_ st3 el3_ a -> (a -> m st el_ st3 el3_ st4 el4_ b) -> m st el_ st2 el2_ st4 el4_ b However when compiling the example (Ex I) there are a bunch of errors telling me that ghc can't find the matching instances caused by missing specialization of st.. That is ghc does no longer determine the resulting state based on parent and previous childs. Without state it can't propagate the el type ... You can see both examples in testSimple.hs vxmlSeqPlus_ ((d e), replicate 9 (d e)) vxmlMapSeqPlus_ (\n -> d e ) [1..10] So my question is: The second line does work fine, the first one dosen't. How to write vxmlMapSeqPlus_ so that I can compile the example? vxmlMapSeqPlus_ (\n -> d e ) [1..10] (d e) `vxmlgtgt` (foldr1 vxmlgtgt $ map (const $ d e) [2..10]) If you want to try this with ghc older than 6.10 you'll have to rewrite the vdo notation using vxmlbind and vxmlgtgt.. Do you have any idea how to make this work as expected? That's the last issue preventing me from trying to use it in real life projects. Sincerly Marc Weber From agocorona at gmail.com Sun Nov 2 09:02:10 2008 From: agocorona at gmail.com (Alberto G. Corona ) Date: Sun Nov 2 08:57:11 2008 Subject: [Haskell] ANNOUNCE: RefSerialize-0.2.1 Message-ID: I uploadad RefSerialize to Hackage . Read, Show and Data.Binary do not check for repeated references to the same data address. As a result, the data is serialized multiple times when serialized. This is a waste of space in the filesystem and also a waste of serialization time. but the worst consequence is that, when the serialized data is read, it allocates multiple copies in memory for the same object referenced multiple times. Because multiple referenced data is very typical in a pure language such is Haskell, this means that the resulting data loose the beatiful economy of space and processing time that referential transparency permits. This package allows the serialization and deserialization of large data structures without duplication of data, with the result of optimized performance and memory usage. It is also useful for debugging purposes. There are automatic derived instances for instances of Read/Show, lists and strings. the deserializer contains a almos complete set of Parsec.Token parsers for deserialization. Every instance of Show/Read is also a instance of Data.RefSerialize The serialized string has the form "expr( var1, ...varn) where var1=value1,..valn=valueN " so that the string can ve EVALuated. See demo.hs and tutorial. I presumably will add a entry in haskell-web.blogspot.com To develop: -derived instances for Data.Binary -serialization to/from ByteStings I wrote this module because I needed to serialize lists of verisions of the same data with slight modifications between each version. This is a short tutorial (in tutorial.txt) runW applies showp, the serialization parser of the instance Int for the RefSerialize class Data.RefSerialize>let x= 5 :: Int Data.RefSerialize>runW $ showp x "5" every instance of Read and Show is an instance of RefSerialize. rshowp is derived from showp, it labels the serialized data with a variable name Data.RefSerialize>runW $ rshowp x " v8 where {v8= 5; }" Data.RefSerialize>runW $ rshowp [2::Int,3::Int] " v6 where {v6= [ v9, v10]; v9= 2; v10= 3; }" while showp does a normal show serialization Data.RefSerialize>runW $ showp [x,x] "[5, 5]" rshowp variables are serialized memory references: no piece of data that point to the same addrees is serialized but one time Data.RefSerialize>runW $ rshowp [x,x] " v9 where {v6= 5; v9= [ v6, v6]; }" This happens recursively Data.RefSerialize>let xs= [x,x] in str = runW $ rshowp [xs,xs] Data.RefSerialize>str " v8 where {v8= [ v10, v10]; v9= 5; v10= [ v9, v9]; }" the rshowp serialized data is read with rreadp. The showp serialized data is read by readp Data.RefSerialize>let xss= runR rreadp str :: [[Int]] Data.RefSerialize>print xss [[5,5],[5,5]] this is the deserialized data the deserialized data keep the references!! pointers are restored! That is the whole point! Data.RefSerialize>varName xss !! 0 == varName xss !! 1 True rShow= runW rshowp rRead= runR rreadp Data.RefSerialize>rShow x " v11 where {v11= 5; }" In the definition of a referencing parser non referencing parsers can be used and viceversa. Use a referencing parser when the piece of data is being referenced many times inside the serialized data. by default the referencing parser is constructed by: rshowp= insertVar showp rreadp= readVar readp but this can be redefined. See for example the instance of [] in RefSerialize.hs This is an example of a showp parser for a simple data structure. data S= S Int Int deriving ( Show, Eq) instance Serialize S where showp (S x y)= do xs <- rshowp x -- rshowp parsers can be inside showp parser ys <- rshowp y return $ "S "++xs++" "++ys readp = do symbol "S" -- I included a (almost) complete Parsec for deserialization x <- rreadp y <- rreadp return $ S x y there is a mix between referencing and no referencing parser here: Data.RefSerialize>putStrLn $ runW $ showp $ S x x S v23 v23 where {v23= 5; } (I corrected some errors in this file here) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20081102/cf532cf9/attachment.htm From ivan.miljenovic at gmail.com Sun Nov 2 22:35:58 2008 From: ivan.miljenovic at gmail.com (Ivan Lazar Miljenovic) Date: Sun Nov 2 22:31:07 2008 Subject: [Haskell] ANNOUNCE: Graphalyze-0.5 and SourceGraph-0.3 Message-ID: <20081103133558.5512b2d9@gmail.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I've just submitted my thesis this morning (w00t!!!) and as such I'm announcing the latest versions of Graphalyze [1,2] and SourceGraph [3,4], which fix a couple of bugs in the previous versions (these bugs were fixed whilst waiting for my supervisor to finish reading through my draft, and as such I had to re-write bits of my thesis that talked about the limitations of the software :s ). [1] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Graphalyze [2] http://code.haskell.org/Graphalyze [3] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/SourceGraph [4] http://code.haskell.org/SourceGraph Briefly, SourceGraph is a utility that uses the Graphalyze library to analyse Cabalized Haskell software. Its input/output is rather restrictive at the moment: it takes a single argument, which is the path to a .cabal file, and then produces an HTML report in: /SourceGraph/.html This report contains visualisation of the code for each module, for the imports (similar to what graphmod [5] does) as well as the entire code base. Furthermore, the entire code base is also visualised with functions grouped by the modules they're defined in, as well some simple analyses (such as comparing the export list to what functions are actually roots, similar to the output for top-level functions returned by GHC when using -fwarn-unused-binds). Main changes in Graphalyze since version 0.4: * When writing my thesis, I found some obvious silly mistakes (such as copying the rootsOf function definition to leavesOf, but not changing the function definition). * Images in the document representation are now inline elements. * When using Pandoc [6] for document generation, the size of generated graphs is now customisable on a per-format basis; furthermore, for web pages graph visualisations link to larger versions. Also, graph visualisations can now be created in a sub-directory. Main changes in SourceGraph since version 0.2: * Now uses Cabal 1.6 * Improve visual layout of generated HTML report (still no CSS though). * "Smarter" analysis: don't show trivial analysis results, and when analysing the entire code base don't return cliques, etc. that contain functions all in the same module (as they would have been reported in the per-module section). Note, however, that the parsing limitations for version 0.2 still apply: cpp is still as-yet unsupported (as I'm not sure what I'll do about choosing cpp flags); Template Haskell, HaRP and HXML are still ignored and functions in class declarations/records are still ignored (the former because it's ambiguous which actual function you want, the latter because they're boring :p ). Also, SourceGraph is _still_ not a refactoring tool ;-) If anyone's interested, I'll soon be uploading the final version of my thesis to my blog. Also, if anyone is interested in hacking on any of this, feel free! I'll probably leave it for a while (I'm going to be doing Java coding over summer, blech :s ), but I intend to come back to it later on. - -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkkOcaAACgkQfEfFJ9JhvyjhIwCeM9VXsJeSVK2CdWURJDer6zoA A5YAoIfayHtjpw0qt/gyPZhhhypOwzSh =x+/X -----END PGP SIGNATURE----- From marlowsd at gmail.com Mon Nov 3 04:18:20 2008 From: marlowsd at gmail.com (Simon Marlow) Date: Mon Nov 3 04:13:27 2008 Subject: [Haskell] Fwd: ACL2 2009 Call for Papers Message-ID: <490EC1DC.9070307@gmail.com> [ forwarding on behalf of Sandip Ray ] [ Apologies if you get several copies of this call for papers. Please share it with students and colleagues who may be interested in the workshop. ] =============================================================================== CALL FOR PAPERS =============================================================================== ACL2 2009 International Workshop on the ACL2 Theorem Prover and Its Applications May 11-12, 2009 Northeastern University, Boston, MA, USA http://www.cs.utexas.edu/~sandip/acl2-09/ In cooperation with ACM SIGPLAN =============================================================================== IMPORTANT DATES Abstract Submission: January 12, 2009 Paper Submission: January 19, 2009 Acceptance Notification: February 23, 2009 Final Version: March 23, 2009 =============================================================================== SCOPE OF CONFERENCE ACL2 2009 is a major forum for the users of the ACL2 theorem proving system to present research related to the ACL2 theorem prover and its application, and is the eighth in the series of workshops, occurring at approximately 18-month intervals. ACL2 is a state-of-the-art automated reasoning system, the latest in the Boyer-Moore family of theorem provers, for which its authors received the 2005 ACM Software Systems Award. ACL2 2009 is planned as a two-day workshop to be held in Boston, MA, USA, on May 11-12, 2009. In addition to paper presentations, ACL2 2009 is anticipated to include two keynote lectures, a panel discussion, and several rump sessions discussing ongoing research. We invite submission of papers on any topic related to ACL2 and its applications. We strongly encourage the participation of users of other theorem provers and researchers and practitioners interested in theorem proving technology. Appropriate topics include, but are not limited to, the following: * Applications of ACL2 in hardware and software system verification * Formalization of mathematics in ACL2 * Use of ACL2 in emerging and novel application areas * New libraries, tools, and interfaces for ACL2 * Connection of ACL2 with other formal (and semi-formal) verification tools * Foundational issues related to ACL2 * Comparison of ACL2 with other formal verification tools * Reports and proposals on improvement of ACL2 * Challenge problems related to implementation and applications of ACL2 * Classroom and pedagogical experiences in the use of ACL2 =============================================================================== PAPER SUBMISSION Submissions must be made electronically in PDF format through the ACL2 2009 Web site. Submissions must use ACM SIG Proceedings format with letter-size paper (see URL http://www.acm.org/sigs/pubs/proceed/template.html). ACL2 2009 is organized in cooperation with ACM SIGPLAN and the proceedings are expected to be published in the ACM Digital Library. Two categories of papers will be accepted: long (at most 10 pages) and short (at most 4 pages). Authors may assume that the audience has a working knowledge of ACL2's syntax, basic commands, and modeling techniques. Papers should contain a short abstract of about 150 words, clearly stating the contribution of the submission. Papers should be self-contained, but we strongly encourage authors to follow the tradition (where applicable) of providing ACL2 "books", or script files, with instructions for their execution. For accepted papers, these books will be mirrored from the ACL2 Home Page and included in the future ACL2 distributions. At least one author of each accepted paper will be required to register for the workshop and present the paper. ============================================================================== ORGANIZATION Co-Chairmen: Sandip Ray, University of Texas at Austin, USA David Russinoff, Advanced Micro Devices, Inc., USA Local Arrangements: Panagiotis Manolios, Northeastern University, USA Publications: Ruben Gamboa, University of Wyoming Steering Committee: John Cowles, University of Wyoming, USA Ruben Gamboa, University of Wyoming, USA Matt Kaufmann, University of Texas at Austin, USA Panagiotis Manolios, Northeastern University, USA J Strother Moore, University of Texas at Austin, USA Jun Sawada, IBM Austin Research Laboratory, USA Matt Wilding, Rockwell Collins, Inc., USA ============================================================================== PROGRAM COMMITTEE * John Cowles, University of Wyoming, USA * Ruben Gamboa, University of Wyoming, USA * Mike Gordon, Cambridge University, UK * Matt Kaufmann, University of Texas at Austin, USA * Francisco Palomo Lozano, Universidad de Cadiz, Spain * Panagiotis Manolios, Northeastern University, USA * John Matthews, Galois, Inc., USA * J Strother Moore, University of Texas at Austin, USA * Rex Page, University of Oklahoma, USA * Jun Sawada, IBM Austin Research Laboratory, USA * Julien Schmaltz, Radboud University, Nijmegen, the Netherlands * Natarajan Shankar, SRI International, USA * Rob Sumners, Advanced Micro Devices, Inc., USA * Freek Wiedijk, Radboud University, Nijmegen, the Netherlands * Matt Wilding, Rockwell Collins, Inc., USA From camior at gmail.com Mon Nov 3 13:25:23 2008 From: camior at gmail.com (David Sankel) Date: Mon Nov 3 13:20:21 2008 Subject: [Haskell] ANNOUNCE: htags-1.0 Message-ID: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/htags htags is a tag file generator to enable extra functionality in editors like vim. It expands upon hasktags by using a full Haskell 98 parser and options for recursion. -- David Sankel Sankel Software www.sankelsoftware.com 585 617 4748 (Office) 585 309 2016 (Mobile) From nicolas.pouillard at gmail.com Mon Nov 3 13:35:15 2008 From: nicolas.pouillard at gmail.com (Nicolas Pouillard) Date: Mon Nov 3 13:31:02 2008 Subject: [Haskell] ANNOUNCE: htags-1.0 In-Reply-To: References: Message-ID: <1225737239-sup-975@ausone.local> Excerpts from David Sankel's message of Mon Nov 03 19:25:23 +0100 2008: > http://hackage.haskell.org/cgi-bin/hackage-scripts/package/htags > > htags is a tag file generator to enable extra functionality in editors > like vim. It expands upon hasktags by using a full Haskell 98 parser > and options for recursion. Hi, I've just tried to install it and the build fails here (GHC 6.8.3) $ cabal update $ cabal install htags ??(Mon,Nov03)?? Resolving dependencies... Downloading htags-1.0... Configuring htags-1.0... Preprocessing executables for htags-1.0... Building htags-1.0... src/htags.hs:8:7: Could not find module `GenTags': Use -v to see a list of the files searched for. cabal: Error: some packages failed to install: htags-1.0 failed during the building phase. The exception was: exit: ExitFailure 1 Best regards, -- Nicolas Pouillard aka Ertai From dons at galois.com Mon Nov 3 13:50:55 2008 From: dons at galois.com (Don Stewart) Date: Mon Nov 3 13:45:34 2008 Subject: [Haskell] ANNOUNCE: htags-1.0 In-Reply-To: <1225737239-sup-975@ausone.local> References: <1225737239-sup-975@ausone.local> Message-ID: <20081103185055.GE22845@scytale.galois.com> nicolas.pouillard: > Excerpts from David Sankel's message of Mon Nov 03 19:25:23 +0100 2008: > > http://hackage.haskell.org/cgi-bin/hackage-scripts/package/htags > > > > htags is a tag file generator to enable extra functionality in editors > > like vim. It expands upon hasktags by using a full Haskell 98 parser > > and options for recursion. > > Hi, > > I've just tried to install it and the build fails here (GHC 6.8.3) > > $ cabal update > $ cabal install htags ??(Mon,Nov03)?? > Resolving dependencies... > Downloading htags-1.0... > Configuring htags-1.0... > Preprocessing executables for htags-1.0... > Building htags-1.0... > > src/htags.hs:8:7: > Could not find module `GenTags': > Use -v to see a list of the files searched for. > cabal: Error: some packages failed to install: > htags-1.0 failed during the building phase. The exception was: > exit: ExitFailure 1 > Worked for me. Package for Arch Linux, http://aur.archlinux.org/packages.php?ID=21145 From agocorona at gmail.com Mon Nov 3 16:03:26 2008 From: agocorona at gmail.com (Alberto G. Corona ) Date: Mon Nov 3 15:58:25 2008 Subject: [Haskell] ANNOUNCE: RefSerialize-0.2.1 In-Reply-To: References: Message-ID: actualized to 0.2.3 due to some errors in the cabal description. Sorry, some needed module was not exported. 2008/11/2 Alberto G. Corona > I uploadad RefSerialize > to Hackage . > > Read, Show and Data.Binary do not check for repeated references to the same > data address. As a result, the data is serialized multiple times when > serialized. This is a waste of space in the filesystem and also a waste of > serialization time. but the worst consequence is that, when the serialized > data is read, it allocates multiple copies in memory for the same object > referenced multiple times. Because multiple referenced data is very typical > in a pure language such is Haskell, this means that the resulting data loose > the beatiful economy of space and processing time that referential > transparency permits. > > This package allows the serialization and deserialization of large data > structures without duplication of data, with > the result of optimized performance and memory usage. It is also useful for > debugging purposes. > > There are automatic derived instances for instances of Read/Show, lists and > strings. the deserializer contains a almos complete set of Parsec.Token > parsers for deserialization. > > Every instance of Show/Read is also a instance of Data.RefSerialize > > The serialized string has the form "expr( var1, ...varn) where > var1=value1,..valn=valueN " so that the > string can ve EVALuated. > > See demo.hs and tutorial. I presumably will add a entry in > haskell-web.blogspot.com > > To develop: -derived instances for Data.Binary > -serialization to/from ByteStings > > I wrote this module because I needed to serialize lists of verisions of the > same data with slight modifications between each version. > > > This is a short tutorial (in tutorial.txt) > > > > runW applies showp, the serialization parser of the instance Int for the > RefSerialize class > > Data.RefSerialize>let x= 5 :: Int > Data.RefSerialize>runW $ showp x > "5" > > every instance of Read and Show is an instance of RefSerialize. > > rshowp is derived from showp, it labels the serialized data with a variable > name > > Data.RefSerialize>runW $ rshowp x > " v8 where {v8= 5; }" > > Data.RefSerialize>runW $ rshowp [2::Int,3::Int] > " v6 where {v6= [ v9, v10]; v9= 2; v10= 3; }" > > while showp does a normal show serialization > > Data.RefSerialize>runW $ showp [x,x] > "[5, 5]" > > rshowp variables are serialized memory references: no piece of data that > point to the same addrees is serialized but one time > > Data.RefSerialize>runW $ rshowp [x,x] > " v9 where {v6= 5; v9= [ v6, v6]; }" > > This happens recursively > > Data.RefSerialize>let xs= [x,x] in str = runW $ rshowp [xs,xs] > Data.RefSerialize>str > " v8 where {v8= [ v10, v10]; v9= 5; v10= [ v9, v9]; }" > > the rshowp serialized data is read with rreadp. The showp serialized data > is read by readp > > Data.RefSerialize>let xss= runR rreadp str :: [[Int]] > Data.RefSerialize>print xss > [[5,5],[5,5]] > > this is the deserialized data > > the deserialized data keep the references!! pointers are restored! That is > the whole point! > > Data.RefSerialize>varName xss !! 0 == varName xss !! 1 > True > > > rShow= runW rshowp > rRead= runR rreadp > > Data.RefSerialize>rShow x > " v11 where {v11= 5; }" > > > In the definition of a referencing parser non referencing parsers can be > used and viceversa. Use a referencing parser > when the piece of data is being referenced many times inside the serialized > data. > > by default the referencing parser is constructed by: > > rshowp= insertVar showp > rreadp= readVar readp > but this can be redefined. See for example the instance of [] in > RefSerialize.hs > > This is an example of a showp parser for a simple data structure. > > data S= S Int Int deriving ( Show, Eq) > > instance Serialize S where > showp (S x y)= do > xs <- rshowp x -- rshowp parsers can be inside showp > parser > ys <- rshowp y > return $ "S "++xs++" "++ys > > > > readp = do > symbol "S" -- I included a (almost) complete Parsec > for deserialization > x <- rreadp > y <- rreadp > return $ S x y > > there is a mix between referencing and no referencing parser here: > > Data.RefSerialize>putStrLn $ runW $ showp $ S x x > S v23 v23 where {v23= 5; } > > > (I corrected some errors in this file here) > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20081103/1fe890fa/attachment.htm From marco-oweber at gmx.de Mon Nov 3 19:20:43 2008 From: marco-oweber at gmx.de (Marc Weber) Date: Mon Nov 3 19:15:40 2008 Subject: [Haskell] ANNOUNCE: htags-1.0 In-Reply-To: References: Message-ID: <20081104002043.GF8582@gmx.de> On Mon, Nov 03, 2008 at 01:25:23PM -0500, David Sankel wrote: > http://hackage.haskell.org/cgi-bin/hackage-scripts/package/htags > > htags is a tag file generator to enable extra functionality in editors > like vim. It expands upon hasktags by using a full Haskell 98 parser > and options for recursion. Maybe you want to take some ideas from my enhanced hasktags version: http://mawercer.de/~nix/hasktags.hs It has some features such as indexing only the first of those three matches (if they are found within 5 lines).. foo :: MyType -> IO () foo (Bar _) = foo (Cee _) = It's still not perfect. How do you handle extensions and cpp stuff? I mean will your program still parse #ifdef foo = #else foo = #endif ? No it doesn't. I've tried it. It doesn't handle .lhs files as well. Maybe it would be nice to have one hasktag program providing different strategies on hackage which could by synchronized with the one distributed with ghc? For vim you can also add tag classes (eg telling vim wether a found token is a (f)unction or a (c)lass ..) See the output of my enhanced version to generate some examples. Apart from .lhs and #ifdefs htags seems to work fine. Marc From nominolo at googlemail.com Mon Nov 3 19:40:20 2008 From: nominolo at googlemail.com (Thomas Schilling) Date: Mon Nov 3 19:35:16 2008 Subject: [Haskell] ANNOUNCE: htags-1.0 In-Reply-To: References: Message-ID: <916b84820811031640o16bea973yfaf0233322e850e9@mail.gmail.com> Nice! FWIW, there's also GHC's version of ghctags which uses the GHC API. This is both good and bad: Good: - Precise source information - Parses everything that GHC parses (and typechecks) - It automatically runs GHC's pre-processors. Bad: - The source has to typecheck. - It's rather slow (then again you don't run it very often) I'm using it for the GHC source code, and it works rather well now. If anyone is interested we could certainly release a version that works with 6.10.1 (or if someone wants to backport it, go ahead). Cheers, Thomas 2008/11/3 David Sankel : > http://hackage.haskell.org/cgi-bin/hackage-scripts/package/htags > > htags is a tag file generator to enable extra functionality in editors > like vim. It expands upon hasktags by using a full Haskell 98 parser > and options for recursion. > > -- > David Sankel > Sankel Software > www.sankelsoftware.com > 585 617 4748 (Office) > 585 309 2016 (Mobile) > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > From fmics2009 at dsic.upv.es Tue Nov 4 09:43:10 2008 From: fmics2009 at dsic.upv.es (FMICS 2009 workshop chair) Date: Tue Nov 4 09:38:16 2008 Subject: [Haskell] FMICS 2009: First Call for Papers Message-ID: <49105F7E.40400@dsic.upv.es> FMICS 2009 - FIRST CALL FOR PAPERS Please visit: http://www.dsic.upv.es/workshops/fmics2009 ************************************************** * 14th International Workshop on * * Formal Methods for Industrial Critical Systems * * FMICS 2009 * * * * November 2-3, 2009 * * Eindhoven, The Netherlands * ************************************************** IMPORTANT DATES --------------- Deadline for abstracts: 1st April Deadline for papers: 7 April Accept/Reject notification: 15 June Camera-ready version: 15 July Workshop: 2-3 November SCOPE OF THE WORKSHOP --------------------- The aim of the ERCIM FMICS workshop series is to provide a forum for researchers who are interested in the development and application of formal methods in industry. In particular, these workshops bring together scientists and engineers that are active in the area of formal methods and interested in exchanging their experiences in the industrial usage of these methods. These workshops also strive to promote research and development for the improvement of formal methods and tools for industrial applications. Topics include, but are not restricted to: - Design, specification, code generation and testing based on formal methods. - Methods, techniques and tools to support automated analysis, certification, debugging, learning, optimization and transformation of complex, distributed, real-time systems and embedded systems. - Verification and validation methods that address shortcomings of existing methods with respect to their industrial applicability (e.g., scalability and usability issues). - Tools for the development of formal design descriptions. - Case studies and experience reports on industrial applications of formal methods, focusing on lessons learned or identification of new research directions. - Impact of the adoption of formal methods on the development process and associated costs. - Application of formal methods in standardization and industrial forums. INVITED SPEAKERS ---------------- To be announced CO-CHAIRS --------- Maria Alpuente (Technical University of Valencia, Spain) Byron Cook (Microsoft Research, UK) PROGRAM COMMITTEE ------------------- Hassan Ait-Kaci (Ilog, Canada) Maria Alpuente (Technical University of Valencia, Spain) Thomas Arts (IT-Universitetet i Goteborg, Sweden) Demis Ballis (Universita degli Studi di Udine, Italy) Josh Berdine (Microsoft Research, UK) Lubos Brim (Masarykova Univerzita, Czech Republic) Darren Cofer (Rockwell Collins, USA) Byron Cook (Microsoft Research, UK) Patrick Cousot (Ecole Normale Superieure, France) Santiago Escobar (Technical University of Valencia, Spain) Azadeh Farzan (University of Toronto, Canada) Hubert Garavel (INRIA Rhone-Alpes, France) Stefania Gnesi (ISTI-CNR, Italy) Alexey Gotsman (University of Cambridge, UK) Holger Hermanns (Universitat des Saarlandes, Germany) Christophe Joubert (Technical University of Valencia, Spain) Daniel Kroening (ETH Zurich, Switzerland) Michael Leuschel (Heinrich-Heine-Universitat Dusseldorf, Germany) Pedro Merino (Universidad de Malaga, Spain) Juan Jose Moreno-Navarro (Universidad Politecnica de Madrid, Spain) Corina Pasareanu (NASA Ames Research Center, USA) Jaco van de Pol (Universiteit Twente, The Netherlands) Murali Rangarajan (Honeywell, USA) Jakob Rehof (Technische Universitat Dortmund, Germany) Andrey Rybalchenko (Max-Planck-Gesellschaft, Germany) Marcel Verhoef (Chess, The Netherlands) Martin Wirsing (Ludwig-Maximilians-Universitat Munchen, Germany) Hongseok Yang (Queen Mary, University of London, UK) Greta Yorsh (IBM T.J. Watson Research Center, USA) ERCIM FMICS WG COORDINATOR -------------------------- Alessandro Fantechi (Universita degli Studi di Firenze and ISTI-CNR, Italy) WORKSHOP CHAIR -------------- Christophe Joubert (Technical University of Valencia, Spain) PAPER SUBMISSIONS ----------------- Submissions must be made electronically. Papers should be up to 16 pages in LNCS format, with the names and affiliations of the authors and a clear and informative abstract. Additional details may be included in a clearly marked appendix, which will be read at the discretion of the program committee. All submissions must report on original research. Submitted papers must not have previously appeared in a journal or conference with published proceedings and must not be concurrently submitted to any other peer-reviewed workshop, symposium, conference or archival journal. Any partial overlap with any such published or concurrently submitted paper must be clearly indicated. Case study papers should identify lessons learned, validate theoretical results (such as scalability of methods), or provide specific motivation for further research and development. Publication of the workshop proceedings in the Springer series Lecture No tes in Computer Science (LNCS) is envisaged. CO-LOCATION ----------- FMICS 2009 is part of the first Formal Methods Week (FMweek), which will bring together a choice of events in the area, including FM 2009 (16th symposium on Formal Methods), TESTCOM/FATES (conference on Testing of Communicating Systems and workshop on Formal Approaches to Testing of Software), FORMATS (Formal Modelling and Analysis of Timed Systems), PDMC (Parallel and Distributed Methods of verifiCation), and the REFINE Workshop. For the latest information on FMweek, please visit http://www.win.tue.nl/fmweek. From igloo at earth.li Tue Nov 4 13:11:06 2008 From: igloo at earth.li (Ian Lynagh) Date: Tue Nov 4 13:06:02 2008 Subject: [Haskell] ANNOUNCE: GHC version 6.10.1 Message-ID: <20081104181106.GA20684@matrix.chaos.earth.li> ============================================================== The (Interactive) Glasgow Haskell Compiler -- version 6.10.1 ============================================================== The GHC Team is pleased to announce a new major release of GHC. There have been a number of significant changes since the last major release, including: * Some new language features have been implemented: * Record syntax: wild-card patterns, punning, and field disambiguation * Generalised quasi-quotes * Generalised list comprehensions * View patterns * Type families have been completely re-implemented * Now comes with Haddock 2, which supports all GHC extensions * Parallel garbage collection * Base provides extensible exceptions * The GHC API is easier to use * External core (output only) now works again * Data Parallel Haskell (DPH) comes as part of GHC The full release notes are here: http://haskell.org/ghc/docs/6.10.1/html/users_guide/release-6-10-1.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 kolmodin at dtek.chalmers.se Tue Nov 4 14:28:45 2008 From: kolmodin at dtek.chalmers.se (Lennart Kolmodin) Date: Tue Nov 4 14:27:56 2008 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.10.1 In-Reply-To: <20081104181106.GA20684@matrix.chaos.earth.li> References: <20081104181106.GA20684@matrix.chaos.earth.li> Message-ID: <4910A26D.1040909@dtek.chalmers.se> Hello fellow GHC users, Ian Lynagh wrote: > ============================================================== > The (Interactive) Glasgow Haskell Compiler -- version 6.10.1 > ============================================================== [snip] > > How to get it > ~~~~~~~~~~~~~ > > The easy way is to go to the web page, which should be self-explanatory: > > http://www.haskell.org/ghc/ Gentoo Linux users can get it from the gentoo-haskell overlay[1]. If you're not familiar with this overlay (a gold mine for haskell hackers using gentoo), you can easily use layman[2] to get access. Make sure you have darcs installed, as it is a requirement for our overlay. Once layman is set up, add the overlay with: $ layman -a haskell Note that ghc-6.10.1 still is masked by keyword, and you need to unmask it first. If you're not familiar with how to do this, here's a quick guide: # make sure /etc/portage exists $ [[ -d /etc/portage ]] || mkdir /etc/portage # accept ghc being ~arch $ echo "dev-lang/ghc" >> /etc/portage/package.keywords # ghc requires the very latest libedit package $ echo "dev-libs/libedit" >> /etc/portage/package.keywords You may then install ghc-6.10.1 by saying: # this requires that you already have an older ghc version installed $ USE="ghcbootstrap -binary" emerge ghc The USE flags are required as we don't just yet provide the required binaries to bootstrap ghc. The command above requires that you already have a ghc version installed to bootstrap with. This version will be replaced with ghc-6.10.1 once the installation finishes. GHC binaries will follow shortly, which will shorten the procedure to: $ emerge ghc The packages from extralibs will also be available from the overlay. If you run into trouble, reply to the ml, or find us in #gentoo-haskell at freenode. Cheers, Lennart Kolmodin -- using his Gentoo Linux Developer hat [1] http://code.haskell.org/gentoo/gentoo-haskell/ [2] http://www.gentoo.org/proj/en/overlays/userguide.xml From chak at cse.unsw.edu.au Tue Nov 4 19:26:20 2008 From: chak at cse.unsw.edu.au (Manuel M T Chakravarty) Date: Tue Nov 4 19:21:18 2008 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.10.1 - MacOS installer In-Reply-To: References: <20081104181106.GA20684@matrix.chaos.earth.li> Message-ID: Jason Dagit: > On Tue, Nov 4, 2008 at 10:11 AM, Ian Lynagh wrote: >> >> 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. > > I'm on OSX and I currently have ghc-6.6.1 and ghc-6.8.3 (installed > from a pkg). I would like to add ghc-6.10.1 to my system. I tried to > do this with RC1 of 6.10, but I found that it uninstalled my > ghc-6.8.3. > > What will I need to do to get both 6.8.3 and 6.10.1? Are you sure it does deinstall the 6.8 compiler? Or does it just overwrite the symbolic links in /usr/bin? To check, have a look at /Library/Frameworks/GHC.framework/Versions After installing 6.10, there should be a 608/ and a 610/ directory. This certainly happens on my Mac and I am not aware of an option to change that behaviour. And while we are at it...a BIG FAT WARNING: If you installed the 6.10.200081007 pre-release installer package, uninstall that *before* installing the 6.10.1 package. For reasons, I don't understand, the installer otherwise half removes the old package, but doesn't seem to install the new one. Can a Mac expert shed any light on that behaviour? If you tried installing 6.10.1 before reading that, just remove the partial installation you are left with, and install again. Manuel From allbery at ece.cmu.edu Tue Nov 4 21:02:12 2008 From: allbery at ece.cmu.edu (Brandon S. Allbery KF8NH) Date: Tue Nov 4 20:57:09 2008 Subject: [Haskell] Re: ANNOUNCE: GHC version 6.10.1 - MacOS installer In-Reply-To: References: <20081104181106.GA20684@matrix.chaos.earth.li> Message-ID: On 2008 Nov 4, at 20:26, Jason Dagit wrote: > On Tue, Nov 4, 2008 at 4:26 PM, Manuel M T Chakravarty > wrote: >> Jason Dagit: >>> I'm on OSX and I currently have ghc-6.6.1 and ghc-6.8.3 (installed >>> from a pkg). I would like to add ghc-6.10.1 to my system. I tried >>> to >>> do this with RC1 of 6.10, but I found that it uninstalled my >>> ghc-6.8.3. >>> >>> What will I need to do to get both 6.8.3 and 6.10.1? >> >> Are you sure it does deinstall the 6.8 compiler? Or does it just >> overwrite >> the symbolic links in /usr/bin? To check, have a look at >> >> /Library/Frameworks/GHC.framework/Versions >> >> After installing 6.10, there should be a 608/ and a 610/ >> directory. This >> certainly happens on my Mac and I am not aware of an option to >> change that >> behaviour. > > I haven't tried the 6.10.1 install, but after using the 6.8.3 pkg > followed by the 6.10 RC1 pkg, followed by the 6.8.3 pkg, I have just > 608 in the directory you mention. I expect if you used the OSX installer then /Library/Receipts is screwing you (it wipes the old files listed in the .bom file). Try finding and removing the receipt directory and bom file before installing. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH From DekuDekuplex at Yahoo.com Wed Nov 5 05:25:40 2008 From: DekuDekuplex at Yahoo.com (Benjamin L.Russell) Date: Wed Nov 5 05:20:43 2008 Subject: [Haskell] ANN: The Haskell-Beginners mailing list has now been added to the fa.haskell Usenet gateway. Message-ID: <1ns2h4dtdi4e86cjuu3urcs55n3pjljorn@4ax.com> With the help of Kjetil Torgrim Homme, the administrator for the gateway at fa.* (including fa.haskell) (see "fa.* groups - news.groups | Google Groups" at http://groups.google.com/group/news.groups/msg/cce2e80da2f608ca), as well as some critical information from Jeffrey M. Vinocur on comp.lang.haskell and comp.lang.functional (see "adding a mailing list to fa.haskell? - comp.lang.functional | Google Groups" at http://groups.google.com/group/comp.lang.functional/browse_thread/thread/ce6e26af9e7a01e1), and some account management on my part, the Haskell-Beginners mailing list has finally been added to the fa.haskell Usenet newsgroup! fa.haskell - nntpnews.net http://www.nntpnews.net/f2460/ Previously, only the Haskell and Haskell-Cafe mailing lists were echoed. You can now read Haskell-Beginners even when the Gmane mailing list archive (see http://www.gmane.org/) is down with a newsreader on fa.haskell (although, since the gateway is unidirectional, you cannot post with fa.haskell--use the mailing list or Gmane for that). Many thanks to Jeffrey M. Vinocur on comp.lang.haskell and comp.lang.functional for his timely information on who was in charge of fa.haskell, and to Kjetil Torgrim Homme, the administrator of fa.haskell. Without their help, this addition would not have been possible. -- Benjamin L. Russell From rjmh at cs.chalmers.se Wed Nov 5 16:03:35 2008 From: rjmh at cs.chalmers.se (John Hughes) Date: Wed Nov 5 15:58:55 2008 Subject: [Haskell] 1-year postdoc position in Chalmers Functional Programming group Message-ID: <748FA9FAB2DB4386939DE3408062DA50@HallDesktop> The Chalmers Functional Programming Group would like to recruit a post-doctoral researcher for a one-year tax-free stipend funded by Intel. The funded project will develop a Domain Specific Language (DSL) for high level modelling, design and analysis of hardware and microarchitectures. We will concentrate on providing language support for the abstractions involved. Intel funded the following research proposal by Mary Sheeran and Koen Claessen from the FP group and Per Larsson-Edefors from the VLSI group: http://www.cs.chalmers.se/~ms/IntelProp.pdf Our contact person at Intel is Carl Seger, who is visiting faculty at our Department. We have been working with Intel for some years, and find the contact to be very stimulating. Our most recent project was on Wired, a DSL for low level hardware design, documented in Emil Axelsson's recent PhD thesis: http://www.cs.chalmers.se/~emax/documents/PhD_thesis.pdf We are looking for a researcher with a very strong background and research record in functional programming, and preferably also in domain specific languages. We will work in Haskell, given the expertise available in the group. We feel that knowledge of functional programming is most important, but of course an interest in hardware or architectural modelling would also be an advantage. We would like to get the project underway on Jan. 1 2009 or as soon as possible thereafter. For further information about the project, our group and Chalmers, please contact Mary Sheeran (ms at chalmers.se). An application, which should be sent by email to both Mary and Koen Claessen (koen at chalmers.se), should consist of your CV, a list of publications with links to relevant papers, and a brief description of your research to date. The deadline for applications is December 1 2008. To be eligible, you must have a doctorate from a non-Swedish University. We will plan to interview suitable candidates. The Chalmers Functional Programming group has as its senior members John Hughes, Mary Sheeran, Koen Claessen, Patrik Jansson and Bj?rn von Sydow, as well as around 8 post-docs and doctoral students. Much of our work has centred on DSLs (QuickCheck, Lava, Wired) and we are embarking on both this project and a project with Ericsson to develop a DSL for Digital Signal Processing algorithm design. One of our doctoral students, Joel Svensson, is developing a DSL for GPU programming. We provide an excellent research environment, and can also strongly recommend G?teborg as a great place to live. The project is initially funded for a year, but we are hopeful of obtaining continued funding for this work. John Hughes -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20081105/02c8f516/attachment.htm From david.waern at gmail.com Wed Nov 5 18:21:00 2008 From: david.waern at gmail.com (David Waern) Date: Wed Nov 5 18:15:55 2008 Subject: [Haskell] ANNOUNCE: Haddock version 2.4.0 Message-ID: -------------------------------------------- -- Haddock 2.4.0 -------------------------------------------- A new version of Haddock, the Haskell documentation tool, is out. This is a later version than the one shipped with GHC 6.10.1, which is version 2.3.0. That version will not be released on Hackage since it only builds with GHC 6.10.1 (by accident, actually). Besides adding back support for earlier GHC versions, this release contains some more fixes and support for HTML frames. Please use the bug tracker to submit bug reports or feature requests. -------------------------------------------- -- Changes in version 2.4.0 -------------------------------------------- * Add framed view of the HTML documentation * Build with GHC 6.8.2 and 6.8.3 again * Support images in documentation comments again * Small improvements to the Hoogle output * A few bugs has been fixed -------------------------------------------- -- Changes in version 2.3.0 -------------------------------------------- * Support for GHC 6.10.1 * Slightly improved space usage * Fix a bug that made hidden modules show up in the contents & index pages * Fix a bug that made Haddock load modules twice * Improvements to the Hoogle output -------------------------------------------- -- Links -------------------------------------------- Homepage: http://www.haskell.org/haddock Hackage page: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haddock-2.4.0 Bugtracker and wiki: http://trac.haskell.org/haddock Mailing list: haskelldoc@haskell.org Code repository: http://code.haskell.org/haddock -------------------------------------------- -- Contributors -------------------------------------------- The persons who contributed to the 2.3.0 and 2.4.0 releases are: Clemens Fruhwirth Peter Gavin Ian Lynagh Neil Mitchell Luke Plant Thomas Schilling David Waern -------------------------------------------- -- Get Involved -------------------------------------------- We welcome new contributors. To get involved, start by grabbing the code: http://code.haskell.org/haddock Then take a look at the bug and feature tracker for things to work on: http://trac.haskell.org/haddock From g9ks157k at acme.softbase.org Thu Nov 6 09:59:10 2008 From: g9ks157k at acme.softbase.org (Wolfgang Jeltsch) Date: Thu Nov 6 09:54:00 2008 Subject: [Haskell] ANNOUNCE: Haddock version 2.4.0 In-Reply-To: References: Message-ID: <200811061559.10325.g9ks157k@acme.softbase.org> Am Donnerstag, 6. November 2008 00:21 schrieb David Waern: > * Add framed view of the HTML documentation After many years with many people telling us that frames are bad, you add frame support to Haddock? Hmm. Best wishes, Wolfgang From conal at conal.net Thu Nov 6 19:36:36 2008 From: conal at conal.net (Conal Elliott) Date: Thu Nov 6 19:31:22 2008 Subject: [Haskell] ANNOUNCE: lhs2tex-1.14 In-Reply-To: <20081024093328.GR8028@cs.uu.nl> References: <20081024093328.GR8028@cs.uu.nl> Message-ID: Hi Andres, I just downloaded and compiled lhs2tex-1.14 on ghc 6.10.1, and I'm getting an error: ... [16 of 19] Compiling Math ( Math.lhs, Math.o ) [17 of 19] Compiling FileNameUtils ( FileNameUtils.lhs, FileNameUtils.o ) FileNameUtils.lhs:81:35: Ambiguous type variable `b' in the constraint: `GHC.Exception.Exception b' arising from a use of `catch' at FileNameUtils.lhs:(81,35)-(89,60) Probable fix: add a type signature that fixes these type variable(s) FileNameUtils.lhs:98:44: Ambiguous type variable `e2' in the constraint: `GHC.Exception.Exception e2' arising from a use of `try' at FileNameUtils.lhs:98:44-57 Probable fix: add a type signature that fixes these type variable(s) FileNameUtils.lhs:118:35: Ambiguous type variable `e1' in the constraint: `GHC.Exception.Exception e1' arising from a use of `catch' at FileNameUtils.lhs:(118,35)-(119,104) Probable fix: add a type signature that fixes these type variable(s) FileNameUtils.lhs:122:35: Ambiguous type variable `e' in the constraint: `GHC.Exception.Exception e' arising from a use of `catch' at FileNameUtils.lhs:122:35-54 Probable fix: add a type signature that fixes these type variable(s) make: *** [lhs2TeX] Error 1 conal@compy-doble:~/cabal/lhs2tex-1.14$ Any advice? Thanks, - Conal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20081106/7e26c7c4/attachment.htm From igloo at earth.li Fri Nov 7 10:24:08 2008 From: igloo at earth.li (Ian Lynagh) Date: Fri Nov 7 10:18:53 2008 Subject: [Haskell] ANN: new community.haskell.org features: webspace, mailing lists Message-ID: <20081107152408.GA14506@matrix.chaos.earth.li> Hi all, The Community server, http://community.haskell.org/, has two new features for hosted projects. The first is project webspace. You can now make a website for your project visible at http://projects.haskell.org/yourproject/ See http://community.haskell.org/admin/using_project.html#projectweb for details. The second is mailing lists. You can now create a yourproject@projects.haskell.org mailing list. See http://community.haskell.org/admin/using_project.html#mailinglists for details. For more details about the community server, and to request an account, please see the website at http://community.haskell.org/ Thanks Ian, on behalf of the community admin team From duncan.coutts at worc.ox.ac.uk Fri Nov 7 12:07:49 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Fri Nov 7 12:02:48 2008 Subject: [Haskell] ANNOUNCE: lhs2tex-1.14 In-Reply-To: References: <20081024093328.GR8028@cs.uu.nl> Message-ID: <1226077669.8437.363.camel@localhost> On Thu, 2008-11-06 at 16:36 -0800, Conal Elliott wrote: > Hi Andres, > > I just downloaded and compiled lhs2tex-1.14 on ghc 6.10.1, and I'm > getting an error: > > ... > [16 of 19] Compiling Math ( Math.lhs, Math.o ) > [17 of 19] Compiling FileNameUtils ( FileNameUtils.lhs, > FileNameUtils.o ) > > FileNameUtils.lhs:81:35: > Ambiguous type variable `b' in the constraint: > `GHC.Exception.Exception b' > arising from a use of `catch' at > FileNameUtils.lhs:(81,35)-(89,60) > Probable fix: add a type signature that fixes these type > variable(s) > Any advice? Constrain the version of base to be < 4. You can do that in the .cabal file or if you use cabal-install-0.6 or later then it does that by default for packages which do not specify any constraint (on the basis that most existing packages build with base 3 and new ones that need base 4 will say so). Duncan From hjgtuyl at chello.nl Fri Nov 7 16:29:45 2008 From: hjgtuyl at chello.nl (Henk-Jan van Tuyl) Date: Fri Nov 7 16:24:30 2008 Subject: [Haskell] ANN: new community.haskell.org features: webspace, mailing lists In-Reply-To: <20081107152408.GA14506@matrix.chaos.earth.li> References: <20081107152408.GA14506@matrix.chaos.earth.li> Message-ID: I have created a stub article about this at http://www.haskell.org/haskellwiki/Community_server Regards, Henk-Jan van Tuyl -- http://functor.bamikanarie.com http://Van.Tuyl.eu/ -- On Fri, 07 Nov 2008 16:24:08 +0100, Ian Lynagh wrote: > > Hi all, > > The Community server, http://community.haskell.org/, has two new > features for hosted projects. > > > The first is project webspace. You can now make a website for your > project visible at > http://projects.haskell.org/yourproject/ > See > http://community.haskell.org/admin/using_project.html#projectweb > for details. > > > The second is mailing lists. You can now create a > yourproject@projects.haskell.org > mailing list. See > http://community.haskell.org/admin/using_project.html#mailinglists > for details. > > > For more details about the community server, and to request an account, > please see the website at > http://community.haskell.org/ > > > Thanks > Ian, on behalf of the community admin team > -- From byorgey at seas.upenn.edu Sat Nov 8 14:53:37 2008 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Sat Nov 8 14:48:23 2008 Subject: [Haskell] Haskell Weekly News: Issue 92 - November 8, 2008 Message-ID: <20081108195336.GA15863@seas.upenn.edu> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20081108 Issue 92 - November 08, 2008 --------------------------------------------------------------------------- Welcome to issue 92 of HWN, a newsletter covering developments in the [1]Haskell community. GHC 6.10 is released!! Go forth and drool over its new features. Be sure to have the editline libraries (libedit-dev on Debian/Ubuntu, for example) installed before you try building it. Announcements GHC version 6.10.1. Ian Lynagh [2]announced the release of [3]GHC version 6.10.1! This new major release features a number of significant changes, including wild-card patterns, punning, and field disambiguation in record syntax; generalised quasi-quotes; generalised SQL-like list comprehensions; view patterns; a complete reimplementation of type families; parallel garbage collection; a new extensible exception framework; a more user-friendly API; included Data Parallel Haskell (DPH); and more! See [4]the full release notes for more information. new community.haskell.org features: webspace, mailing lists. Ian Lynagh [5]announced that the community server, http://community.haskell.org/, has two new features for hosted projects: project webspace, and project mailing lists. GHC blog. Simon Marlow [6]has set up a [7]GHC blog. This is for all things related to GHC, particularly people working on GHC to blog about what they're up to. If you want a write-bit, sign up for a [8]wordpress account, let Simon know your account name, and blog away! The GHC blog should be syndicated on [9]Planet Haskell soon. Haddock 2.4.0. David Waern [10]announced a [11]new release of [12]Haddock, the Haskell documentation tool. This is a later version than the one shipped with GHC 6.10.1, which is version 2.3.0. That version will not be released on Hackage since it only builds with GHC 6.10.1 (by accident, actually). Besides adding back support for earlier GHC versions, this release contains some more fixes and support for HTML frames. htags-1.0. David Sankel [13]announced the [14]htags package, a tag file generator to enable extra functionality in editors like vim. It expands upon hasktags by using a full Haskell 98 parser and options for recursion. Haskell Quick Reference (1-page PDF). Malcolm Wallace [15]sent a 1-page Haskell quick reference prepared for a recent Haskell tutorial. Permission is granted for anyone to distribute it more widely as they wish, in the hope that it might be useful. Editable sources can be passed along if anyone would like to extend it. Proposal for associated type synonyms in Template Haskell. Thomas van Noort [16]submitted a proposal for adding associated type synonyms to Template Haskell. Comments are welcomed. announce [("InfixApplicative", 1.0), ("OpenGLCheck", 1.0), ("obj", 0.1)]. Thomas Davie [17]announced the upload of a few packages to Hackage which he has produced while working at Anygma. [18]obj-0.1 is a library for loading and writing obj 3D models; [19]OpenGLCheck-1.0 is a micro-package containing instances of Arbitrary for the data structures provided in Graphics.Rendering.OpenGL; and [20]InfixApplicative-1.0 is a second micro-package containing a pair of functions (<^) and (^>) which can be used to provide an infix version of liftA2 applied to an operator. Graphalyze-0.5 and SourceGraph-0.3. Ivan Lazar Miljenovic [21]announced the latest versions of [22]Graphalyze and [23]SourceGraph, which fix a couple of bugs in the previous versions. zlib and bzlib 0.5 releases. Duncan Coutts [24]announced updates to the [25]zlib and [26]bzlib packages, featuring a slightly nicer extended API. The simple API that most packages use is unchanged. There is also a new parameter to control the size of the first output buffer; this lets applications save memory when they happen to have a good estimate of the output size. Discussion Efficient parallel regular expressions. Martijn van Steenbergen [27]asked about efficiently running multiple regular expressions in parallel, leading to an interesting discussion of regular expressions and various parsing methods and libraries. Problems with strictness analysis?. Patai Gergely started an informative [28]discussion about strictness, laziness, strictness analysis, and compiler optimization. If you don't know a lot about these topics but would like to learn, this thread is a good starting point! Jobs 1-year postdoc position in Chalmers Functional Programming group. John Hughes [29]announced a position for a post-doctoral researcher with the Chalmers Functional Programming Group, with a one-year tax-free stipend funded by Intel. The funded project will develop a Domain Specific Language (DSL) for high level modelling, design and analysis of hardware and microarchitectures. Blog noise [30]Haskell news from the [31]blogosphere. * Edward Kmett: [32]Still Alive. Edward is still alive but sadly lost a few recursion scheme posts. =( * >>> Max Rabkin: [33]Beautiful folding. A very cool post about composable folds! * Eric Kow (kowey): [34]timesheet helper. * Philip Wadler: [35]A bizarre function over streams. * David Sankel: [36]Introducing Reactive: Events. A very readable introduction to the Reactive library. I look forward to reading more! * "FP Lunch": [37]Numbers vs Sets. * Mark Jason Dominus: [38]Addenda to recent articles 200810. * Darcs: [39]darcs weekly news #11. * >>> Ken G.: [40]Haskell?. Ken shares some thoughts on Real World Haskell. * Real-World Haskell: [41]Some early reviews. * David Sankel: [42]freeglut + Windows + HOpenGL + HGLUT. * GHC mutterings: [43]GHC 6.10.1 is out!. * Chung-chieh Shan: [44]Cognitive jobs. * London Haskell Users Group: [45]Duncan Coutts: The Haskell Platform. The abstract for Duncan's talk at the London HUG. * Well-Typed.Com: [46]GHC 6.10.1 released!. * Well-Typed.Com: [47]Haskell Platform talk at the London Haskell Users Group. * Mark Wassell: [48]GIS with Haskell 1. * >>> phoenix: [49]Haskell Tricks: Indexing a List. Getting the index of an element satisfying a predicate by zipping. * JP Moresmau: [50]Haskell for counting votes!. JP illustrates five different voting methods with some Haskell implementations. * Ivan Lazar Miljenovic: [51]Graph Theoretic Analysis of Relationships within Discrete Data. * Braden Shepherdson: [52]Pimp Your XMonad #1: Status bars. The first in a planned series of articles on not-so-well-known ways to extend your xmonad configuration. * >>> Cory: [53]Euler and Haskell. Cory just started learning Haskell (a "fun, slightly ridiculous language") via Project Euler. * >>> Sadek Drobi: [54]Code Safety and Correctness is a matter of Mindset Cultured by the Language. * Well-Typed.Com: [55]zlib and bzlib package updates. * >>> Bryan St. Amour: [56]Haskell Solution To The Farmer Problem. * >>> Nathan Hartman: [57]Haskell, Lambert, and the Clarke Ellipsoid. Nathan has started porting a map projection library to Haskell. * David Sankel: [58]Analysis of lazy-stream programs.. Quotes of the Week * Cory: Any language which makes frequent use of monads, functors and has a wikibook describing its relation to category theory is the result of an evil genius (or several, to be precise). * mmorrow: in langs with dependent types, you can just map numbers directly to types instead of having to ride a unicycle along a tightrope while battling an unruly gang of monkeys with knives. * conal: -fsemantics-shemantics * roconnor: all sorts of wonderful things could be done if we are less anal about bottoms. No pun intended. About the Haskell Weekly News New editions are posted to [59]the Haskell mailing list as well as to [60]the Haskell Sequence and [61]Planet Haskell. [62]RSS is also available, and headlines appear on [63]haskell.org. To help create new editions of this newsletter, please see the information on [64]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [65]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/15591 3. http://www.haskell.org/ghc/ 4. http://haskell.org/ghc/docs/6.10.1/html/users_guide/release-6-10-1.html 5. http://article.gmane.org/gmane.comp.lang.haskell.general/16600 6. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/15603 7. http://ghcmutterings.wordpress.com/ 8. http://wordpress.com/ 9. http://planet.haskell.org/ 10. http://www.haskell.org//pipermail/haskell-cafe/2008-November/050271.html 11. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haddock-2.4.0 12. http://www.haskell.org/haddock 13. http://article.gmane.org/gmane.comp.lang.haskell.general/16582 14. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/htags 15. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47344 16. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47301 17. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47241 18. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/obj 19. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/OpenGLCheck 20. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/InfixApplicative 21. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47171 22. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Graphalyze 23. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/SourceGraph 24. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47144 25. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/zlib 26. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bzlib 27. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/47242 28. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/47183 29. http://article.gmane.org/gmane.comp.lang.haskell.general/16596 30. http://planet.haskell.org/ 31. http://haskell.org/haskellwiki/Blog_articles 32. http://comonad.com/reader/2008/still-alive/ 33. http://squing.blogspot.com/2008/11/beautiful-folding.html 34. http://koweycode.blogspot.com/2008/11/timesheet-wishlist.html 35. http://wadler.blogspot.com/2008/11/bizarre-function-over-streams.html 36. http://netsuperbrain.com/blog/posts/introducing-reactive-events/ 37. http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=114 38. http://blog.plover.com/addenda/200810.html 39. http://blog.darcs.net/2008/11/darcs-weekly-news-11.html 40. http://monolith149daily.blogspot.com/2008/11/haskell.html 41. http://www.realworldhaskell.org/blog/2008/11/06/some-early-reviews/ 42. http://netsuperbrain.com/blog/posts/freeglut-windows-hopengl-hglut/ 43. http://ghcmutterings.wordpress.com/2008/11/05/ghc-6101-is-out/ 44. http://conway.rutgers.edu/~ccshan/wiki/blog/posts/Cognitive_jobs/ 45. http://www.londonhug.net/2008/11/04/duncan-coutts-the-haskell-platform/ 46. http://blog.well-typed.com/2008/11/ghc-6101-released/ 47. http://blog.well-typed.com/2008/11/haskell-platform-talk-at-the-london-haskell-users-group/ 48. http://pound-stone.blogspot.com/2008/11/gis-with-haskell-1.html 49. http://phoenixblitz.blogspot.com/2008/11/haskell-tricks-indexing-list.html 50. http://jpmoresmau.blogspot.com/2008/11/haskell-for-counting-votes.html 51. http://ivanmiljenovic.wordpress.com/2008/11/03/graph-theoretic-analysis-of-relationships-within-discrete-data/ 52. http://braincrater.wordpress.com/2008/11/02/pimp-your-xmonad-1-status-bars/ 53. http://onag.blogspot.com/2008/11/euler-and-haskell.html 54. http://sadekdrobi.com/2008/11/02/code-safety-and-correctness-is-a-matter-of-mindset-cultured-by-the-language/ 55. http://blog.well-typed.com/2008/11/zlib-and-bzlib-package-updates/ 56. http://bryanstamour.com/?p=49 57. http://parsemymonad.blogspot.com/2008/10/haskell-lambert-and-clarke-ellipsoid.html 58. http://netsuperbrain.com/blog/posts/analysis-of-lazy-stream-programs/ 59. http://www.haskell.org/mailman/listinfo/haskell 60. http://sequence.complete.org/ 61. http://planet.haskell.org/ 62. http://sequence.complete.org/node/feed 63. http://haskell.org/ 64. http://haskell.org/haskellwiki/HWN 65. http://code.haskell.org/~byorgey/code/hwn/ From conal at conal.net Sun Nov 9 16:59:40 2008 From: conal at conal.net (Conal Elliott) Date: Sun Nov 9 16:54:16 2008 Subject: [Haskell] Announce: Reactive library (FRP) and mailing list Message-ID: Reactive [1] is a library for functional reactive programming (FRP), similar to the original Fran [2] but with a more modern interface (using standard type classes) and a hybrid push/pull implementation. It is designed to be used in a variety of contexts, such as interactive 2D and 3D graphics, graphical user interfaces, web services, and automatic recompilation/re-execution. It has a simple and precise semantics based on continuous time and is built on a notion of functional future values. The semantics and implementation are described in the paper "Simply efficient functional reactivity" [3]. Reactive now has a mailing list [4] and a feature/bug tracker [5]. [1] http://haskell.org/haskellwiki/Reactive [2] http://conal.net/Fran [3] http://conal.net/papers/simply-reactive [4] http://www.haskell.org/mailman/listinfo/reactive [5] http://trac.haskell.org/reactive -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20081109/856c428c/attachment.htm From dons at galois.com Sun Nov 9 17:02:47 2008 From: dons at galois.com (Don Stewart) Date: Sun Nov 9 16:57:32 2008 Subject: [Haskell] Announce: Reactive library (FRP) and mailing list In-Reply-To: References: Message-ID: <20081109220247.GM19817@scytale.galois.com> conal: > Reactive [1] is a library for functional reactive programming (FRP), > similar to the original Fran [2] but with a more modern interface (using > standard type classes) and a hybrid push/pull implementation. It is > designed to be used in a variety of contexts, such as interactive 2D and > 3D graphics, graphical user interfaces, web services, and automatic > recompilation/re-execution. It has a simple and precise semantics based > on continuous time and is built on a notion of functional future values. > The semantics and implementation are described in the paper "Simply > efficient functional reactivity" [3]. > > Reactive now has a mailing list [4] and a feature/bug tracker [5]. And now available for Arch Linux, http://aur.archlinux.org/packages.php?ID=17854 From conal at conal.net Sun Nov 9 17:03:51 2008 From: conal at conal.net (Conal Elliott) Date: Sun Nov 9 16:58:30 2008 Subject: [Haskell] Announce: FieldTrip library (functional 3D) and mailing list Message-ID: FieldTrip [1] is a library for functional 3D graphics. It is intended for building static, animated, and interactive 3D geometry, efficient enough for real-time synthesis and display. Since FieldTrip is functional, one describes what models are, not how to render them (being rather than doing). Surfaces are described as functions from 2D space to 3D space. As such, they are intrinsically curved rather than faceted. Surface rendering tessellates adaptively, caching tessellations in an efficient, infinite data structure (from the MemoTrie library) for reuse. Surface normals are computed automatically and exactly, using the derivative tools in the vector-space library. For animation or interaction, FieldTrip can be used with the Reactive [2] library for functional reactive programming (and possibly other animation frameworks). By design, FieldTrip is completely orthogonal to any formulation or implementation of FRP. The reactive-fieldtrip [3] library links Reactive and FieldTrip. FieldTrip now has a mailing list [4] and a feature/bug tracker [5]. [1] http://haskell.org/haskellwiki/FieldTrip [2] http://haskell.org/haskellwiki/reactive [3] http://haskell.org/haskellwiki/reactive-fieldtrip [4] http://www.haskell.org/mailman/listinfo/FieldTrip [5] http://trac.haskell.org/FieldTrip -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20081109/eadc6291/attachment.htm From agocorona at gmail.com Tue Nov 11 11:25:49 2008 From: agocorona at gmail.com (Alberto G. Corona ) Date: Tue Nov 11 11:20:24 2008 Subject: [Haskell] announce: Workflow-0.1 Message-ID: I needed to to define multiuser web workflows in the most transparent way. I wondered if a state monad could transparently bring automatic checkpointing of each action and automatic resume after failure. In this way a long living computation could be expressed in a single monadic computation. Additionally, for inter process communications, this package includes a primitive for activating a workflow whenever any action result meet certain condition. There are also primitives for start/restart processes, retrieval of intermediate results and unsafe IO actions inside the state monad... http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Workflow Cabal description: Transparent low level support (state logging, resume of the computation, wait for data condition) for long living, event driven processes. Workflow give the two first services to any monadic computation of type (a-> m a) usually m=IO f x >>=\x'-> g x' >>= \x''->... z by prefixing the user with the method "step": step f x >>= \x'-> step g x' >>= \x''->... This means that a workflow can be described with the familiar "do" notation. In principle, there is no other limitation on the syntax but the restriction (a -> m a): All computations consume and produce the same type of data. do notation is supported fully. Workflow export a few primitives that bring the following services: - transparent checkpointing of each step in permanent storage using TCache (step) - resume of the monadic computation at the last checkpoint after soft or hard interruption - use of versioning techniques for storing object changes (using RefSerialize) - retrieval of the object at any previous step - suspend the computation (waitFor) until the input object meet certain conditions. useful for inter-workflow comunications. At the end of the workflow all the intermediate data is erased. see demos and the header of Control.TCache for documentation. This is a piece of code is a loop that imput numbers (demo.hs). there is another process, that check the numbers entered and return Finish when match the desired number. that is detected by this thread and finalize. When number of tries are 9, The process finish, this is detected by the other process and finalizes also. That ilustrates the use of event handling (waitFor) and step execution. askNumbers name d = do step2 $ threadDelay 5000 -- wait for the other tread to process. r <- step (waitFor anything) d -- get the last value of the object with key "try-finish", to look for the other thread actions case r of Finish msg -> step2 $ print msg --the other thread sent a finalize response Try 9 num -> step1 $ return $ Finish "sorry, no more guesses" --send finalization to the wait thread _ -> do nd <- step (askNumber name) d askNumbers name nd where anything= \_-> True -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20081111/778f6adc/attachment.htm From lanek at novenine.com Wed Nov 12 04:04:25 2008 From: lanek at novenine.com (Roy Lanek) Date: Wed Nov 12 03:59:28 2008 Subject: [Haskell] XOSD x Haskell Message-ID: <20081112090425.GA10994@sirih> Hi, I am looking for XOSD (X On Screen Display) library bindings for Haskell, of the kind of X::Osd [Perl]. I haven't been able to find anything on XOSD _and_ Haskell around, who knows better? Thank you and cheers, /Roy Lanek (West Sumatra) -- ______________________________________ # _ a@@ @[ # @#@@ @ _____ ___]F ___ ___ ___ __ __ ___ __ ___ # #@_# @ ^@###@ ###@]@@@@* ##* "*#_'#@###_ ""#@##F#W"7@ # __ "@ @ @ dE #" "]F 7@ @ dL @ #F @ #" F __# @## ]L @ @ @ # ][ # @ dL @ # # # @ #WW B @ _@___#@ #___@@ #L " _# 7@@@@L@__#" 7@___@ # #@@_ # 7#@#*"##*@@@ *##^@M @@@ @@E @@@"dL###" 7##W#@ # @__@+ # d@ #@L #"#* # #MMMMMMMMM Slackware Linux MMMMMMMMMMM From lemming at henning-thielemann.de Wed Nov 12 06:54:43 2008 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Wed Nov 12 06:49:20 2008 Subject: [Haskell] The Real Monad Transformer or is Haskell.org hijacked? In-Reply-To: References: Message-ID: On Tue, 3 Apr 2007, Henning Thielemann wrote: > It was argued that people avoid Haskell because of terms from Category > theory like 'Monad'. This problem can now be solved by a wrapper which > presents all the WWW without monads! Start e.g. at > http://saxophone.jpberlin.de/MonadTransformer?source=http%3A%2F%2Fwww%2Ehaskell%2Eorg%2Fhaskellwiki%2FCategory%3AMonad&language=English > Of course the tool is written in Haskell, that is, Haskell helps solving > problems which only exist because of Haskell. > Bug reports and feature requests can be tracked at > https://sourceforge.net/projects/parallelweb The produced content has not changed very much, but the interface is much more friendly now. You can now enter the world of the Real Monad Transformer e.g. at: http://www.haskell.org.monadtransformer.parallelnetz.de/haskellwiki/Category:Monad Good luck! Henning From dons at galois.com Wed Nov 12 13:31:39 2008 From: dons at galois.com (Don Stewart) Date: Wed Nov 12 13:26:10 2008 Subject: [Haskell] XOSD x Haskell In-Reply-To: <20081112090425.GA10994@sirih> References: <20081112090425.GA10994@sirih> Message-ID: <20081112183139.GH421@scytale.galois.com> lanek: > Hi, > > I am looking for XOSD (X On Screen Display) library bindings for Haskell, of > the kind of X::Osd [Perl]. > > I haven't been able to find anything on XOSD _and_ Haskell around, who knows > better? I'm not aware of any binding to xosd for Haskell. You could certainly write one (to accompany the existing X11 bindings). In fact, this looks like something xmonad could use to visually indicate which screen has focus. Very interesting. Cheers, Don From mdmkolbe at gmail.com Wed Nov 12 18:23:00 2008 From: mdmkolbe at gmail.com (Michael D. Adams) Date: Wed Nov 12 18:17:27 2008 Subject: [Haskell] ANNOUNCE: hpapi 0.1 release Message-ID: I am pleased to announce the first release of hpapi, Performance API (PAPI) bindings for Haskell. The release is on Hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hpapi The source repository is at: http://code.haskell.org/hpapi/ Please send bug reports to What is it ========== This is a simple set of bindings for the Performance API (PAPI). PAPI provides access to various CPU counters such as cache-miss, instruction and pipeline stall counts. The easiest way to use this library is the withCounts function: withCounts :: [EventCode] -> IO a -> IO (a, [Integer]) Given a list of events to count and an IO operation it will run the operation and return the resulting counts. So you could do something like: main = do [l1,tlb,fp] <- withCounters [papi_l1_dcm, papi_tlb_dm, papi_fp_ins] ioOperationToMeasure printLn (l1, tlb, fp) To use it one will of course need the PAPI C library and any necessary kernel modifications installed. Status ====== The High Level interface (which will be sufficient for most people's needs) should be usable, but the low level interface is still alpha quality. That is to say, it is ready for people to start banging on it, but it is largely untested and the modules/interfaces may be reorganized based on user feedback. All of PAPI is supported with the exception of the following "advanced" features: - Multiplexing - Threads - Locks - Overflow - Statistical Profiling Future Directions ================= Future directions will be determined largely by user feedback. Principal areas that I am looking for feedback on are: - documentation - module organization - the handling of PAPI errors (currently it throws an IO error) - the design of the Haskell interface build on top of the C level PAPI_get_opt and PAPI_set_opt - what advanced features of PAPI to build bindings for next Comparison with GHC's built-in PAPI =================================== GHC supports a built-in version of PAPI (see http://hackage.haskell.org/trac/ghc/wiki/PAPI). This system is different in a few ways. First, hpapi allows you to measure specific parts of a program while GHCI's PAPI only does whole program measurement Second, since hpapi is a library you can have fine grained and sophisticated control over how things are measured. On the other hand GHC's PAPI as part of the RTS gives you less control, but on the plus side doesn't require any modification to the program. Finally, GHC's PAPI splits apart the counts that come from the garbage collector from those that come from the mutator, while hpapi combines them. This is a limitation of hpapi we hope to correct some time in the future. It remains to be seen whether it would be worth while to unify these two systems. ================ Bug reports as well as suggestions, feedback or contributions to the API or the documentation most welcome. Michael D. Adams From lanek at novenine.com Wed Nov 12 23:41:56 2008 From: lanek at novenine.com (Roy Lanek) Date: Wed Nov 12 23:37:53 2008 Subject: [Haskell] XOSD x Haskell In-Reply-To: <20081112183139.GH421@scytale.galois.com> References: <20081112090425.GA10994@sirih> <20081112183139.GH421@scytale.galois.com> Message-ID: <20081113044156.GA10012@sirih> > You could certainly write one (to accompany the existing X11 bindings). Would love to do it. It will be O( months ) before I even can fancy to (seriously) start such a task on the other hand. I am a newbie in Haskell, though, don't fear, I have seen functional programming from near (programming exercises in Miranda and Hope) once already. Currently I can manage to read Haskell, while the latter doesn't warranty that one knows how to write too (situation which is about to change for me) in the language. > In fact, this looks like something xmonad could use to visually indicate > which screen has focus. You can tell this better than me. Actually I am using XOsd in what I *modestly* pretend to be the most usable system monitor I have seen, or tried, a really (with reference the homonymous [subtract the 'ic'] movements) *minimalistic*-, or *essentialistic*-, flexible and configurable one. It's currently a stable *prototype* I have written in Perl after having got tired with GKrellM and friends along the years. I am using it 24/7 since more than one year together with Ion, the window manager (I couldn't care less of Ion's status bar; moreover, wasting a *line* makes a poor choice with notebooks' displays in general), though it's not bound to the window manager. After elvis (the vi clone), Mutt, mc (Midnight Commander), ELinks and the others, it has become the one thing I could hardly live without it--on a notebook in particular. And it's about time to rewrite it (it's GPLed just in case, though it hasn't been uploaded nowhere yet--no, I am not in search of a site: I own my domain names and have subscribed to hosting packages at my ISP), and to upgrade its status (away from: prototype) ... Haskell would make a good choice. Beyond that, I have read of XMonad. (Going to try it.) /Roy -- ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, # , (@@ @P # @#@@ @ L, ,, ,,,7F ,LL ,,, ,,, ,L , LLL ,, ,L, # #@&# @ *@###@ ###@(@@@@* ##* "*#,'#@###, ""#@##F#W"7@ # "@ @ @ 7E #" "(F 7@ @ #L @ #F @ #" F ,,# @## #L @ @ @ # (F # @ #L @ # # # @ #WW B @ @ #@ #L,,@@ #L " ,# 7@@@@L@ ,#" 7@, ,@ # #@@L # 7#@#*"##*@@@ *##*@M @@@ @@E @@@"#L###" 7##W#@ # @,,@+ # #@ #@L #"#* # #MMMMMMMMMM Slackware Linux MMMMMMMMMM From dons at galois.com Thu Nov 13 03:07:54 2008 From: dons at galois.com (Don Stewart) Date: Thu Nov 13 03:02:20 2008 Subject: [Haskell] XOSD x Haskell In-Reply-To: <20081112090425.GA10994@sirih> References: <20081112090425.GA10994@sirih> Message-ID: <20081113080754.GA2440@scytale.galois.com> lanek: > Hi, > > I am looking for XOSD (X On Screen Display) library bindings for Haskell, of > the kind of X::Osd [Perl]. > > I haven't been able to find anything on XOSD _and_ Haskell around, who knows > better? > I wrote a reall quick binding for you, http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xosd-0.1 Currently just the low level C binding, and some quick wrappers. A high level 'interpreter + attributes' like binding is next. If you know the C API, you can use it now. Cheers, Don From DekuDekuplex at Yahoo.com Thu Nov 13 03:20:16 2008 From: DekuDekuplex at Yahoo.com (Benjamin L.Russell) Date: Thu Nov 13 03:14:53 2008 Subject: [Haskell] Re: The Real Monad Transformer or is Haskell.org hijacked? References: Message-ID: On Wed, 12 Nov 2008 12:54:43 +0100 (CET), Henning Thielemann wrote: > >On Tue, 3 Apr 2007, Henning Thielemann wrote: > >> It was argued that people avoid Haskell because of terms from Category >> theory like 'Monad'. This problem can now be solved by a wrapper which >> presents all the WWW without monads! Start e.g. at >> http://saxophone.jpberlin.de/MonadTransformer?source=http%3A%2F%2Fwww%2Ehaskell%2Eorg%2Fhaskellwiki%2FCategory%3AMonad&language=English >> Of course the tool is written in Haskell, that is, Haskell helps solving >> problems which only exist because of Haskell. >> Bug reports and feature requests can be tracked at >> https://sourceforge.net/projects/parallelweb > >The produced content has not changed very much, but the interface is much >more friendly now. You can now enter the world of the Real Monad >Transformer e.g. at: > http://www.haskell.org.monadtransformer.parallelnetz.de/haskellwiki/Category:Monad This is obviously a pun on the HaskellWiki page on monads: Monad - HaskellWiki http://www.haskell.org/haskellwiki/Monad They also seem to have duplicated at least part of the rest of the HaskellWiki. Compare: Haskell - HaskellWiki [their duplication] http://www.haskell.org.monadtransformer.parallelnetz.de/ Haskell - HaskellWiki http://www.haskell.org/ While this doesn't seem to violate the HaskellWiki license (see http://www.haskell.org/haskellwiki/HaskellWiki:Copyrights), it would seem problematic if users searching the Web confused their content with the real HaskellWiki content. Perhaps a complaint should be filed with their system administrator? -- Benjamin L. Russell From voigt at tcs.inf.tu-dresden.de Thu Nov 13 03:26:35 2008 From: voigt at tcs.inf.tu-dresden.de (Janis Voigtlaender) Date: Thu Nov 13 03:21:01 2008 Subject: [Haskell] Re: The Real Monad Transformer or is Haskell.org hijacked? In-Reply-To: References: Message-ID: <491BE4BB.6040306@tcs.inf.tu-dresden.de> Benjamin L.Russell wrote: >>The produced content has not changed very much, but the interface is much >>more friendly now. You can now enter the world of the Real Monad >>Transformer e.g. at: >> http://www.haskell.org.monadtransformer.parallelnetz.de/haskellwiki/Category:Monad > > > This is obviously a pun on the HaskellWiki page on monads: > > Monad - HaskellWiki > http://www.haskell.org/haskellwiki/Monad > > They also seem to have duplicated at least part of the rest of the > HaskellWiki. Compare: No, the fun is that Henning has not duplicated anything. He has written a web service that acts as a kind of proxy and translates any web page my fuzzyfying monads. So if he has duplicated anything, he has duplicated the whole internet. Try to file a complaint about this ;-) -- Dr. Janis Voigtlaender http://wwwtcs.inf.tu-dresden.de/~voigt/ mailto:voigt@tcs.inf.tu-dresden.de From max.rabkin at gmail.com Thu Nov 13 03:26:54 2008 From: max.rabkin at gmail.com (Max Rabkin) Date: Thu Nov 13 03:21:18 2008 Subject: [Haskell] Re: The Real Monad Transformer or is Haskell.org hijacked? In-Reply-To: References: Message-ID: On Thu, Nov 13, 2008 at 10:20 AM, Benjamin L. Russell wrote: > They also seem to have duplicated at least part of the rest of the > HaskellWiki. It's a mirror that substitutes "Monad" for "Warm, fuzzy thing" everywhere (if you follow links, you'll see the Haddocks for "class Warm, Fuzzy Thing where..." > > -- Benjamin L. Russell From DekuDekuplex at Yahoo.com Thu Nov 13 03:51:34 2008 From: DekuDekuplex at Yahoo.com (Benjamin L.Russell) Date: Thu Nov 13 03:46:10 2008 Subject: [Haskell] Re: The Real Monad Transformer or is Haskell.org hijacked? References: <491BE4BB.6040306@tcs.inf.tu-dresden.de> Message-ID: On Thu, 13 Nov 2008 09:26:35 +0100, Janis Voigtlaender wrote: >No, the fun is that Henning has not duplicated anything. He has written >a web service that acts as a kind of proxy and translates any web page >my fuzzyfying monads. > >So if he has duplicated anything, he has duplicated the whole internet. > >Try to file a complaint about this ;-) Aha, that was what the quoted source in Henning Thielemann's message meant by "a wrapper which presents all the WWW without monads!" For some reason, because the word "monads" above had not been put into double-quotes, I had somehow thought that monads were meant, but actually, "monads" was what was actually meant. A clearer explanation would perhaps have been "a wrapper which presents all the WWW without 'monad's!" -- Benjamin L. Russell From niklas.broberg at gmail.com Fri Nov 14 20:26:45 2008 From: niklas.broberg at gmail.com (Niklas Broberg) Date: Fri Nov 14 20:21:04 2008 Subject: [Haskell] ANNOUNCE: haskell-src-exts 0.4.1 Message-ID: Fellow Haskelleers, it is my pleasure to announce the new release of the haskell-src-exts package, version 0.4.1: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src-exts-0.4.1 darcs get http://code.haskell.org/HSP/haskell-src-exts This is a new "major" release, the first of the 0.4 branch, and as such it is not backwards compatible with the releases in the 0.3 branch. This is due to two major changes to the design of the library: 1) The AST has been cleaned up, by splitting Haskell expressions in the AST from the "expressions" used while parsing to represent both expressions and patterns. This means that the datatype for expressions will no longer contain constructors for things like wildcards and irrefutable patterns. It now only contains constructors for actual Haskell expressions. If you have been using haskell-src-exts previously, this change should not bite you at all unless you have abused these ugly hacks in the AST, so it is *almost* backwards compatible. However... 2) ... I've finally decided to take the plunge and get rid of the ugly prefixes on all datatypes in the AST. I am of the firm conviction that disambiguation between datatypes and functions with the same name should be handled through the module hierarchy and qualified imports, not by adding prefixes. And the longer I wait, the harder the switch. So now the datatypes that make up the AST are called things like Exp, Pat, Module (the former Module is now ModuleName), Type, QOp etc instead of HsExp, HsPat... . The migration from 0.3.x to 0.4.1 should be really simple: i) replace all occurences of Module with ModuleName ii) remove all occurences of Hs This release also contains a number of smaller, fully backwards compatible bug fixes. These are available for the 0.3 branch in the 0.3.12 release that will mark the end of that branch: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src-exts-0.3.12 No further bug fixes or features will be implemented for it, and I urge you to migrate as early as possible, it really isn't hard. :-) Cheers and Happy Haskelling, /Niklas From byorgey at seas.upenn.edu Sat Nov 15 15:55:52 2008 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Sat Nov 15 15:50:14 2008 Subject: [Haskell] Haskell Weekly News: Issue 93 - November 15, 2008 Message-ID: <20081115205552.GA15664@seas.upenn.edu> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20081115 Issue 93 - November 15, 2008 --------------------------------------------------------------------------- Welcome to issue 93 of HWN, a newsletter covering developments in the [1]Haskell community. Community News Congratulations to Ganesh (aka Heffalump) and Amanda on the [2]birth of Alexander Suresh Kerr Sittampalam! Announcements bustle-0.1. Will Thompson [3]announced the [4]release of [5]Bustle, a tool to show diagrams of D-Bus traffic for profiling purposes. It consists of a small C executable to log traffic, and a Gtk+ application which draws diagrams using Cairo. haskell-src-exts 0.4.1. Niklas Broberg [6]announced a new major release of the [7]haskell-src-exts package, an extension of the standard haskell-src package which handles most common syntactic extensions to Haskell. The new release features a cleaned up AST and names without ugly disambiguation prefixes. darcs 2.1.1rc2. Eric Kow (kowey) [8]announced the release of [9]darcs 2.1.1rc2, which adds support for GHC 6.10.1. It also includes a Windows bug fix. If you're using GHC 6.10.1 or Windows, give it a try and let the darcs development team know how it works. hpapi 0.1 release. Michael D. Adams [10]announced the first release of [11]hpapi, Performance API (PAPI) bindings for Haskell. PAPI provides access to various CPU counters such as cache-miss, instruction and pipeline stall counts. Workflow-0.1. Alberto G. Corona [12]announced the release of [13]Workflow, a library for transparent execution of computations across shutdowns and restarts. Reactive library (FRP) and mailing list. Conal Elliott [14]announced the release of [15]Reactive, a library for functional reactive programming (FRP), similar to the original [16]Fran but with a more modern interface (using standard type classes) and a hybrid push/pull implementation. It is designed to be used in a variety of contexts, such as interactive 2D and 3D graphics, graphical user interfaces, web services, and automatic recompilation/re-execution. There is also now a [17]mailing list and a [18]feature/bug tracker. ANN (sorta): OpenGL with extra type safety. Neal Alexander [19]announced a modification of the hOpenGL (and GLFW) source tree to force extra type checking on its various IO actions using the -XGeneralizedNewtypeDeriving extension. The main motivation was for writing concurrent OpenGL applications; the second motivation was to enforce static type checking on commands that can only be executed in certain OpenGL contexts (sending vertex data for example). Hopefully the code will be uploaded to Hackage as a separate package soon. FieldTrip library (functional 3D) and mailing list. Conal Elliott [20]announced the release of [21]FieldTrip, a library for functional 3D graphics. It is intended for building static, animated, and interactive 3D geometry, efficient enough for real-time synthesis and display. FieldTrip also has a [22]mailing list and a [23]feature/bug tracker. gitit 0.2 release - wiki using HAppS, git, pandoc. John MacFarlane [24]announced the upload of an early version of [25]gitit, a Haskell wiki program, to HackageDB. Gitit uses HAppS as a webserver, git for file storage, pandoc for rendering the (markdown) pages, and highlighting-kate for highlighted source code. You can [26]try it out here. Comments and patches welcome. Discussion Proof that Haskell is RT. Andrew Birkett [27]asked whether there exists a formal proof that the Haskell language is referentially transparent. Such a thing cannot exist, since Haskell has no formally defined semantics, but an interesting discussion about referential transparency and semantics ensued anyway. What *not* to use Haskell for. Dave Tapley [28]asked how people answer the question, "what does Haskell not do well?" Unfortunately, it seems that there is no good answer to this question and the thread degenerated into a discussion of all the great things you can do with Haskell. If only Haskell sucked more. Blog noise [29]Haskell news from the [30]blogosphere. * Braden Shepherdson: [31]Pimp Your XMonad #2: SmartBorders. The second in Braden's series on customising xmonad explains how to use the NoBorders extension to get rid of window borders when you don't want them. * Real-World Haskell: [32]Real World Haskell Electronic Edition Now On Sale. * Conal Elliott: [33]More beautiful fold zipping. * >>> Stephen: [34]Endless Cavern. A procedurally-generated tessellated-cavern flying game. * Twan van Laarhoven: [35]Arrays without bounds. Unbounded arrays (with O(1) amortized access) in Haskell! * "The GHC Team": [36]Comparing concurrent linked-list implementations in Haskell. * Ketil Malde: [37]454 sequencing and parsing the SFF binary format. * Tom Schrijvers: [38]Type Invariants for Haskell. Tom, Louis-Julien Guillemette, and Stefan Monnier's paper on Type Invariants for Haskell, which was recently accepted at PLPV'09. * Conal Elliott: [39]Another lovely example of type class morphisms. Conal elaborates on Max Rabkin's recent post on composable folds. * Real-World Haskell: [40]Beautiful Parallelism: Harnessing Multicores with Haskell. Don Stewart will be talking about programming mainstream multicore systems with Haskell at SC'08 next week in Austin, Texas. * Luke Palmer: [41]Sketch of Udon (Version Control/Packaging system). Luke sketches a high-level design for a distributed storage system that could be used as the basis for solving a number of interesting problems. * Galois, Inc: [42]Galois awarded NASA research contract. * Mark Jason Dominus: [43]Representing ordinal numbers in the computer and elsewhere. * The GHC Team: [44]Bootstrapping cabal-install. * Jason Dagit: [45]Phantom Types, Existentials and Controlling Unification -- Part 1. * Ben Moseley: [46]Why does Functional Programming matter?. Quotes of the Week * BMeph: In a functional world, students would ask how that index shadowing works in those funny 'for' statements... * digit: i'm almost annoyed at how brilliant xmonad is. * _pizza_: i think Haskell is undoubtedly the world's best programming language for discovering the first few dozen numbers in the Fibonacci sequence over IRC. * adu: let uncat3 [] = [] ; uncat3 xs = (let (ys, zs) = splitAt 3 xs in ys : uncat3 zs) ; getFrom x y = map (x !!) $ map (fromIntegral . ((\x -> fromIntegral $ foldl (.|.) (0::Word8) (zipWith (\c n -> if c then bit n else (0::Word8)) x [0..2])) :: [Bool] -> Int)) $ reverse . uncat3 . reverse . concat . map (((\x -> map (testBit x) [7,6..0]) :: Word8 -> [Bool]) . fromIntegral . ord) $ y in getFrom " HWdelor" "e\184-\235" * Beelsebob: ((:[]) "pigs eat") <^(++)^> ((:[]) " robot monkies") About the Haskell Weekly News New editions are posted to [47]the Haskell mailing list as well as to [48]the Haskell Sequence and [49]Planet Haskell. [50]RSS is also available, and headlines appear on [51]haskell.org. To help create new editions of this newsletter, please see the information on [52]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [53]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://urchin.earth.li/aegean/baby/ 3. http://www.haskell.org//pipermail/haskell-cafe/2008-November/050626.html 4. http://people.collabora.co.uk/~wjt/bustle/releases/bustle-0.1.tar.gz 5. http://resiak.livejournal.com/59590.html 6. http://www.haskell.org//pipermail/haskell-cafe/2008-November/050634.html 7. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src-exts-0.4.1 8. http://www.haskell.org//pipermail/haskell-cafe/2008-November/050378.html 9. http://darcs.net/darcs-2.1.1rc2.tar.gz 10. http://article.gmane.org/gmane.comp.lang.haskell.general/16612 11. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hpapi 12. http://article.gmane.org/gmane.comp.lang.haskell.general/16607 13. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Workflow 14. http://article.gmane.org/gmane.comp.lang.haskell.general/16604 15. http://haskell.org/haskellwiki/Reactive 16. http://conal.net/Fran 17. http://www.haskell.org/mailman/listinfo/reactive 18. http://trac.haskell.org/reactive 19. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47458 20. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47416 21. http://haskell.org/haskellwiki/FieldTrip 22. http://www.haskell.org/mailman/listinfo/FieldTrip 23. http://trac.haskell.org/FieldTrip 24. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47384 25. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/gitit 26. http://johnmacfarlane.net:5001/ 27. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/47569 28. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/47491 29. http://planet.haskell.org/ 30. http://haskell.org/haskellwiki/Blog_articles 31. http://braincrater.wordpress.com/2008/11/15/pimp-your-xmonad-2-smartborders/ 32. http://www.realworldhaskell.org/blog/2008/11/15/real-world-haskell-electronic-edition-now-on-sale/ 33. http://feeds.feedburner.com/~r/conal/~3/453765396/ 34. http://www.maths.tcd.ie/~icecube/2008/11/endless-cavern/ 35. http://twan.home.fmf.nl/blog/haskell/UnboundedArray.details 36. http://ghcmutterings.wordpress.com/2008/11/14/comparing-concurrent-linked-list-implementations-in-haskell/ 37. http://blog.malde.org/index.php/2008/11/14/454-sequencing-and-parsing-the-sff-binary-format/ 38. http://tomschrijvers.blogspot.com/2008/11/type-invariants-for-haskell.html 39. http://feeds.feedburner.com/~r/conal/~3/452607365/ 40. http://www.realworldhaskell.org/blog/2008/11/12/beautiful-parallelism-harnessing-multicores-with-haskell/ 41. http://lukepalmer.wordpress.com/2008/11/12/sketch-of-udon-version-controlpackaging-system/ 42. http://www.galois.com/blog/2008/11/11/galois-awarded-nasa-research-contract/ 43. http://blog.plover.com/math/ordinals.html 44. http://ghcmutterings.wordpress.com/2008/11/10/bootstrapping-cabal-install/ 45. http://blog.codersbase.com/2008/11/10/phantom-types-existentials-and-controlling-unification-part-1/ 46. http://nattermorphisms.blogspot.com/2008/11/why-does-functional-programming-matter.html 47. http://www.haskell.org/mailman/listinfo/haskell 48. http://sequence.complete.org/ 49. http://planet.haskell.org/ 50. http://sequence.complete.org/node/feed 51. http://haskell.org/ 52. http://haskell.org/haskellwiki/HWN 53. http://code.haskell.org/~byorgey/code/hwn/ From bulat.ziganshin at gmail.com Sun Nov 16 06:23:40 2008 From: bulat.ziganshin at gmail.com (Bulat Ziganshin) Date: Sun Nov 16 06:23:49 2008 Subject: [Haskell] SPJ's interview for Computer World on Haskell Message-ID: <1834882967.20081116142340@gmail.com> Hello haskell, http://www.computerworld.com.au/index.php/id;1974033854 -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com From kowey at darcs.net Mon Nov 17 06:14:48 2008 From: kowey at darcs.net (Eric Kow) Date: Mon Nov 17 06:09:03 2008 Subject: [Haskell] announcing darcs 2.1.2 Message-ID: <20081117111448.GB51653@Macintosh.local> Skipped content of type multipart/mixed-------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 194 bytes Desc: not available Url : http://www.haskell.org/pipermail/haskell/attachments/20081117/1a6e1097/attachment.bin From bartek at sudety.it Tue Nov 18 16:25:24 2008 From: bartek at sudety.it (Bartosz =?iso-8859-1?q?W=F3jcik?=) Date: Tue Nov 18 15:19:38 2008 Subject: [Haskell] ANNOUNCE: EEConfig-1.0 Message-ID: <200811182225.24852.bartek@sudety.it> ExtremlyEasyConfig ============ I've searched for simply library to read parameters from input file. I've found ConfigFile only one and during reading its docu understood, that for simple functionality I needed I'd rather write faster sth new than understood usage of this powerfull cannon. Here it is. It recognizes given parameters and their values. As input it becomes list of parameters and all their possible values in format [ParameterInput] and input String where parameters will be searched for. As output it deliveres recognized parameters and their values in format [ParameterOutput], where only these parameters are present which have been found in the input string. This format can be tranformed then to Map one and as such easy queried. Handy functions provided. Parameters in the input string have to be always given in following format: ( )*. Anything what is not recognized as parameter or value is ignored. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/EEConfig Haddock doesn't show 2 query functions from the source, I've no idea why. Best regards, Bartek From alson at alsonkemp.com Tue Nov 18 18:49:45 2008 From: alson at alsonkemp.com (Alson Kemp) Date: Tue Nov 18 18:43:53 2008 Subject: [Haskell] ANNOUNCE: Turbinado V0.1 Message-ID: <2629c41e0811181549r3c85ff09pb50df8378d933b6f@mail.gmail.com> I'd like to announce Turbinado, a very young and raw MVC web framework for Haskell. While the framework doesn't exactly copy Ruby on Rails, it certainly rhymes... It's very early days for Turbinado, but the framework is moving along nicely. There are still issues to be ironed out and architectural details to be decided, so help/contribution would be very much appreciated. Turbinado can be found at: http://www.turbinado.org The source can be found at: http://github.com/alsonkemp/turbinado/tree/master (see the /App directory for the code for www.turbinado.org) Turbinado: * Provides a fast web server (based on HSP; see http://turbinado.org/Home/Performance); * Provides a straightforward organization for your website (courtesy of Rails); * Uses simple HTML-like templating (courtesy of HSX); * Is easily extensible (courtesy of an Environment built out of _Map String Dynamic_, not the most type-safe of beasties; Help!); * Configurable routing (see Config/Routes.hs). Turbinado is currently lacking: * Documentation... * An easy install... * A database ORM based on HDBC (visibly incomplete and ugly in Turbinado/Database/ORM); * Many more HTML helpers; * Controllers for partials (lightweight "controls" ala ASP.NET); * Strong error reporting and handling; * Lots of functionality and plugins; * ... the favorite feature that you want to develop for Turbinado ... From wss at Cs.Nott.AC.UK Wed Nov 19 10:20:22 2008 From: wss at Cs.Nott.AC.UK (Wouter Swierstra) Date: Wed Nov 19 10:15:10 2008 Subject: [Haskell] The Monad.Reader - Issue 12: SoC Special Message-ID: <4709FE40-08C3-4E85-8429-6A7FB67C6D2E@Cs.Nott.AC.UK> I am pleased to announce that a new issue of The Monad.Reader is now available: http://www.haskell.org/haskellwiki/The_Monad.Reader Issue 12 is another Summer of Code special and consists of the following three articles: * Max Bolingbroke Compiler Development Made Easy * Roman Cheplyaka How to Build a Physics Engine * Neil Mitchell Hoogle Overview The Monad.Reader is a quarterly magazine about functional programming. It is less formal than a journal, but more enduring than a wiki page or blog post. If you'd like to write something for the next issue of The Monad.Reader, please get in touch. The deadline for the next issue will be February 13th. Looking forward to your submissions, Wouter This message has been checked for viruses but the contents of an attachment may still contain software viruses, which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20081119/c37931c5/attachment-0001.htm From dons at galois.com Thu Nov 20 02:24:36 2008 From: dons at galois.com (Don Stewart) Date: Thu Nov 20 02:18:45 2008 Subject: [Haskell] Haskell Reddit Message-ID: <20081120072436.GK8627@scytale.galois.com> I'm not sure if the cafe@ knows this, but there's a bit of a Haskell community (1200+ subscribers) built up around the Haskell subreddit on reddit.com, http://www.reddit.com/r/haskell/ A good source for news other than what appears on Planet Haskell. -- Don P.S. Feel free to submit things you like, so I don't have to :-) From Torbjorn.Ekman at comlab.ox.ac.uk Fri Nov 21 04:25:43 2008 From: Torbjorn.Ekman at comlab.ox.ac.uk (Torbjorn.Ekman@comlab.ox.ac.uk) Date: Fri Nov 21 04:19:43 2008 Subject: [Haskell] LDTA 2009: abstracts due November 28 Message-ID: <200811210925.mAL9Phst006341@merc4.comlab.ox.ac.uk> *** abstracts - November 28, full papers - December 5 *** LDTA: Workshop on Language Descriptions Tools and Applications http://www.ldta.info ===Call For Papers 2009=== This is the Call For Papers for the Ninth Workshop on Language Descriptions, Tools and Applications (LDTA 2009) LDTA is a two-day satellite event of ETAPS which takes on the 28th and 29th of March 2009 in York, England. Please submit your abstract and paper using http://www.easychair.org/conferences/?conf=ldta2009 ==Scope== LDTA is an application and tool oriented forum on meta programming in a broad sense. A meta program is a program that takes other programs as input or output. The focus of LDTA is on generated or otherwise efficiently implemented meta programs, possibly using high level descriptions of programming languages. Tools and techniques presented at LDTA are usually applicable in the context of "Language Workbenches" or "Meta Programming Systems" or simply as parts of advanced programming environments or IDEs. The applications areas include, but are not limited to: * Program analysis, transformation, generation and verification * Implementation of Domain Specific Languages (both visual and textual) * Reverse engineering and reengineering * Refactoring and other source-to-source transformations * Application modelling (MDE, MDA, Software Factories, Software product lines) * Grammar engineering / Grammarware * Language definition and language prototyping * Debugging, profiling and testing * IDE construction * Compiler construction LDTA is a well-established workshop next to other conferences and workshops on (programming) language engineering topics such as SLE and GPCE. LDTA is traditionally a forum where computer science theories are put to the test of real-world software engineering issues, for example by applying: * context-free grammars to parser generation for real programming languages, * attribute grammars to static analyzer and compiler generation, * term rewriting to source-to-source transformation, * action semantics to programming language implementation, * model checking to software verification. Note that LDTA solicits submissions from any technological or theoretical domain, as long as the paper is within the application scope. ==Submission Procedure and Publication== Submissions in the following categories are admissible: * research papers, * tool papers, * experience papers The final versions of accepted papers will probably(*) be published in Electronic Notes in Theoretical Computer Science (ENTCS), Elsevier Science, and will be made available during the workshop. (*)Due to organizational changes at Elsevier, publication by ENTCS publication is provisional; another comparable venue will be found otherwise. Each submission must: * clearly and unambiguously state in which of the three categories it falls * be original, i.e. not published or submitted elsewhere, * contain a clear motivation, * contain a thorough analysis of the claimed contributions (for example by comparing to related work), * be written in less than 15 pages (research papers and experience reports), or less than 10 pages (tool papers) * use the ENTCS style. The authors of each submission are required to give a presentation at LDTA 2009. The authors of the tool papers are required to include an interactive demonstration in their presentations. The authors of the best papers will be invited to write a journal version of their paper which will be separately reviewed and, assuming acceptance, be published in journal form. As in past years, this will be done in a special issue devoted to LDTA 2009 of the journal Science of Computer Programming (Elsevier Science). The authors of the best tool papers will be invited to write a paper and submit the source of code of their tool, which will both be separately reviewed and, assuming acceptance, be published in the special issue on Experimental Software and Toolkits (EST) of the journal Science of Computer Programming (Elsevier Science). Please submit your abstract and paper using http://www.easychair.org/conferences/?conf=ldta2009 ==Program Committee== Jurgen Vinju, CWI, Amsterdam (co-chair) Torbjörn Ekman, Oxford, UK (co-chair) Erik Meijer, Microsoft, Redmond, USA Walid Taha, Rice University, Houston USA Bob Fuhrer, IBM TJ Watson, USA Susan Eisenbach, Imperial College, UK Jean-Marie Jacquet, FUNDP, Namur, Belgium Sibylle Schuppe, Chalmers, Sweden Elizabeth Scott, RHUL, UK Robert Grimm, NYU, USA Judith Bishop, Pretoria, South Africa Tudor Girba, Univ of Berne, Switzerland Marjan Mernik, University of Maribor, Slovenia Thomas Dean, Fondazione Bruno Kessler - IRST, Italy Martin Bravenboer, Univ. of Oregon, USA Pierre-Etienne Moreau, INRIA-LORIA, France Gabi Taentzer, Philipps-Universität Marburg, Germany Joao Saraiva, Universidade do Minho, Braga, Portugal Tijs van der Storm, CWI, The Netherlands Stephen Edwards, Columbia University, USA Peter Thiemann, Universität Freiburg, Germany ==Important Dates== Abstract submission deadline:Friday November 28th, 2008 Paper submission deadline:Friday December 5th, 2008 Notification of acceptance:Friday February 6th, 2009 Workshop date:28th and 29th of March, 2009 From haihualin at 163.com Sat Nov 22 04:33:38 2008 From: haihualin at 163.com (haihualin) Date: Sat Nov 22 04:27:31 2008 Subject: [Haskell] Does GHC support the standard CPP functionalities? Message-ID: <200811221733344532757@163.com> Hi, I tried to compile the following program by GHC {-# LANGUAGE CPP #-} module Packer where #define FLASH_APP_START 1 #define FLASH_APP_END 2 #define INSERT_SECTION(x) (#x, (FLASH_##x##_START, FLASH_##x##_END)) import qualified Data.Map as M import Data.Tuple import System.IO as Sys type Name = String type Boundary = (Int, Int) boundaryList = [INSERT_SECTION(APP)] main = Sys.print boundaryList But failed with test.hs:16:17: Not in scope: `#' test.hs:16:17: A section must be enclosed in parentheses thus: (# APP) test.hs:16:18: Not in scope: data constructor `APP' test.hs:16:24: Not in scope: data constructor `FLASH_' test.hs:16:30: Not in scope: `##' test.hs:16:32: Not in scope: data constructor `APP' test.hs:16:35: Not in scope: `##' Seems GHC does support macro like #x a##b. Is that true? If not, how to resolve? Thanks alot. Haihua From ninegua at gmail.com Sat Nov 22 15:31:17 2008 From: ninegua at gmail.com (Paul L) Date: Sat Nov 22 15:25:12 2008 Subject: [Haskell] GHC 6.10 and OpenGL Message-ID: <856033f20811221231n6cfdb3ew46835f9636ceed68@mail.gmail.com> Hi everyone, It's sad to see the OpenGL binding being dropped from GHC binary installers starting from 6.10. Though this issue has been brought up and discussed before, I'm sure a lot of people who based their work on OpenGL would share the same sympathy. I'm not here to argue whether this decision by GHC dev team is right or wrong, but what's really causing the pain is that the OpenGL binding doesn't have its own binary installer for Windows, and compilation from source on this platform is non-trivial. I wouldn't recommend doing it for ordinary users. So my question is, are we going to see a binary installer for OpenGL binding provided separately from either HOpenGL site, or Hackage? Or even the GHC installation page? -- Regards, Paul Liu Yale Haskell Group http://www.haskell.org/yale From dons at galois.com Sat Nov 22 15:34:41 2008 From: dons at galois.com (Don Stewart) Date: Sat Nov 22 15:28:42 2008 Subject: [Haskell] GHC 6.10 and OpenGL In-Reply-To: <856033f20811221231n6cfdb3ew46835f9636ceed68@mail.gmail.com> References: <856033f20811221231n6cfdb3ew46835f9636ceed68@mail.gmail.com> Message-ID: <20081122203441.GG17052@scytale.galois.com> ninegua: > Hi everyone, > > It's sad to see the OpenGL binding being dropped from GHC binary > installers starting from 6.10. Though this issue has been brought up > and discussed before, I'm sure a lot of people who based their work on > OpenGL would share the same sympathy. $ cabal install OpenGL > I'm not here to argue whether this decision by GHC dev team is right > or wrong, but what's really causing the pain is that the OpenGL > binding doesn't have its own binary installer for Windows, and > compilation from source on this platform is non-trivial. I wouldn't > recommend doing it for ordinary users. > So my question is, are we going to see a binary installer for OpenGL > binding provided separately from either HOpenGL site, or Hackage? Or > even the GHC installation page? This would be a job for the Windows distribution team to sort out. Each other distro addresses the native packaging problem by developing packages, and what is needed for a similar team for Windows, to provide Windows packages. -- Don From byorgey at seas.upenn.edu Sat Nov 22 16:09:12 2008 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Sat Nov 22 16:03:18 2008 Subject: [Haskell] Haskell Weekly News: Issue 94 - November 22, 2008 Message-ID: <20081122210912.GA5560@seas.upenn.edu> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20081122 Issue 94 - November 22, 2008 --------------------------------------------------------------------------- Welcome to issue 94 of HWN, a newsletter covering developments in the [1]Haskell community. Lots of interesting reading this week! Martin Escardo writes about [2]finite search over infinite search spaces expressed as a monad; Conal Elliott writes about [3]the unambiguous choice operator and [4]merging partial values; Luke Palmer on [5]restricted data types and [6]Udon, his system for universal distributed object management; a post about [7]incremental parsing in Yi; Ryan Ingram on [8]parametric higher-order abstract syntax; Issue #12 of [9]the Monad.Reader; and much more! Announcements The Monad.Reader - Issue 12: Summer of Code Special. Wouter Swierstra [10]announced Issue 12 of [11]the Monad.Reader, featuring articles by Max Bolingbroke, Roman Cheplyaka, and Neil Mitchell describing their Summer of Code projects. Turbinado V0.1. Alson Kemp [12]announced the release of [13]Turbinado, an MVC web framework for Haskell. EEConfig-1.0. Bartosz Wojcik [14]announced the release of [15]EEConfig, a simple library for reading parameters from a configuration file. Discussion Proof of a multi-threaded application. Silviu Andrica [16]asked about the possibility of proving the correctness of a multi-threaded application written in Haskell, leading to a discussion of STM, model checking, and related issues. Monadic bind with associated types + PHOAS?. Ryan Ingram [17]wrote about using parametric higher-order abstract syntax to get the benefits of HOAS (using the embedding language to express binding and substitution) while still being able to inspect or optimize the resulting expressions. Blog noise [18]Haskell news from the [19]blogosphere. * Ashish Hanwadikar: [20]More on Haskell DSL. * Real-World Haskell: [21]Real World Haskell in the Wild!. * Conal Elliott: [22]Merging partial values. * John Goerzen (CosmicRay): [23]If Programming Languages Were Christmas Carols. * Conal Elliott: [24]Functional concurrency with unambiguous choice. * >>> Martin Escardo: [25]A Haskell monad for infinite search in finite time. * The GHC Team: [26]Redesigning GHC's build system. * Luke Palmer: [27]Restricted Data Types. * Yi: [28]Incremental Parsing in Yi. * Roman Cheplyaka: [29]The Monad Reader, SoC special. * Darcs: [30]camp irregular news #1. * Eric Kow (kowey): [31]iterative committing. * >>> Joey Hess: [32]a year of haskell (not really). * FP Lunch: [33]The origin of species. * Luke Palmer: [34]Udon Sketch #2. * John Goerzen (CosmicRay): [35]Real World Haskell Update. * Real-World Haskell: [36]When will you see us on bookstore shelves?. * Paul Potts: [37]Reading Real World Haskell. * Darcs: [38]darcs 2.1.2 released!. * Darcs: [39]darcs weekly news #12. * Russell O'Connor: [40]Haskell Lesson. * Conal Elliott: [41]Enhancing a Zip. * Conal Elliott: [42]Proofs for left fold zipping. * >>> Andrew Birkett: [43]Why do they call it: Referentially transparent. * >>> Andrew Birkett: [44]Why do they call it: Referentially transparent (II). Quotes of the Week * dons: instance Ord OCaml, oh wait. hang on. OCaml can't do that. * BONUS: as you can see, one of the best parts of Haskell is #haskell. * ddarius: head [] :: FlyingMonkeys About the Haskell Weekly News New editions are posted to [45]the Haskell mailing list as well as to [46]the Haskell Sequence and [47]Planet Haskell. [48]RSS is also available, and headlines appear on [49]haskell.org. To help create new editions of this newsletter, please see the information on [50]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [51]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://math.andrej.com/2008/11/21/a-haskell-monad-for-infinite-search-in-finite-time/ 3. http://feeds.feedburner.com/~r/conal/~3/461480571/ 4. http://feeds.feedburner.com/~r/conal/~3/461534658/ 5. http://lukepalmer.wordpress.com/2008/11/20/restricted-data-types/ 6. http://lukepalmer.wordpress.com/2008/11/19/udon-sketch-2/ 7. http://yi-editor.blogspot.com/2008/11/incremental-parsing-in-yi.html 8. http://www.haskell.org//pipermail/haskell-cafe/2008-November/050768.html 9. http://www.haskell.org/haskellwiki/The_Monad.Reader 10. http://www.haskell.org//pipermail/haskell-cafe/2008-November/050786.html 11. http://www.haskell.org/haskellwiki/The_Monad.Reader 12. http://www.haskell.org//pipermail/haskell/2008-November/020811.html 13. http://www.turbinado.org/ 14. http://www.haskell.org//pipermail/haskell/2008-November/020810.html 15. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/EEConfig 16. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/47728 17. http://www.haskell.org//pipermail/haskell-cafe/2008-November/050768.html 18. http://planet.haskell.org/ 19. http://haskell.org/haskellwiki/Blog_articles 20. http://feedproxy.google.com/~r/typepad/ahanwadi/ashishs_niti/~3/n41w6S_82SE/more-on-haskell.html 21. http://www.realworldhaskell.org/blog/2008/11/22/real-world-haskell-in-the-wild/ 22. http://feeds.feedburner.com/~r/conal/~3/461534658/ 23. http://changelog.complete.org/archives/825-if-programming-languages-were-christmas-carols 24. http://feeds.feedburner.com/~r/conal/~3/461480571/ 25. http://math.andrej.com/2008/11/21/a-haskell-monad-for-infinite-search-in-finite-time/ 26. http://ghcmutterings.wordpress.com/2008/11/21/redesigning-ghcs-build-system/ 27. http://lukepalmer.wordpress.com/2008/11/20/restricted-data-types/ 28. http://yi-editor.blogspot.com/2008/11/incremental-parsing-in-yi.html 29. http://physics-dph.blogspot.com/2008/11/monad-reader-soc-special.html 30. http://blog.darcs.net/2008/11/camp-irregular-news-1.html 31. http://koweycode.blogspot.com/2008/11/iterative-commiting.html 32. http://kitenet.net/~joey/blog/entry/a_year_of_haskell___40__not_really__41__/ 33. http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=132 34. http://lukepalmer.wordpress.com/2008/11/19/udon-sketch-2/ 35. http://changelog.complete.org/archives/814-real-world-haskell-update 36. http://www.realworldhaskell.org/blog/2008/11/18/when-will-you-see-us-on-bookstore-shelves/ 37. http://praisecurseandrecurse.blogspot.com/2008/11/reading-real-world-haskell.html 38. http://blog.darcs.net/2008/11/darcs-212-released.html 39. http://blog.darcs.net/2008/11/darcs-weekly-news-12.html 40. http://r6.ca/blog/20081116T213644Z.html 41. http://feeds.feedburner.com/~r/conal/~3/454447926/ 42. http://feeds.feedburner.com/~r/conal/~3/454297817/ 43. http://www.nobugs.org/blog/archives/2008/11/12/why-do-they-call-it-referentially-transparent/ 44. http://www.nobugs.org/blog/archives/2008/11/12/why-do-they-call-it-referentially-transparent-ii/ 45. http://www.haskell.org/mailman/listinfo/haskell 46. http://sequence.complete.org/ 47. http://planet.haskell.org/ 48. http://sequence.complete.org/node/feed 49. http://haskell.org/ 50. http://haskell.org/haskellwiki/HWN 51. http://code.haskell.org/~byorgey/code/hwn/ From ninegua at gmail.com Sat Nov 22 23:34:55 2008 From: ninegua at gmail.com (Paul L) Date: Sat Nov 22 23:28:49 2008 Subject: [Haskell] GHC 6.10 and OpenGL In-Reply-To: <20081122203441.GG17052@scytale.galois.com> References: <856033f20811221231n6cfdb3ew46835f9636ceed68@mail.gmail.com> <20081122203441.GG17052@scytale.galois.com> Message-ID: <856033f20811222034r51c8db57qd76881a8b4ee005b@mail.gmail.com> On 11/22/08, Don Stewart wrote: > ninegua: >> Hi everyone, >> >> It's sad to see the OpenGL binding being dropped from GHC binary >> installers starting from 6.10. Though this issue has been brought up >> and discussed before, I'm sure a lot of people who based their work on >> OpenGL would share the same sympathy. > > $ cabal install OpenGL Nice except that: 1. The command cabal requires cabal-install package to be installed, is it already bundled with all GHC 6.10.1 distributions? 2. It still wouldn't work for the OpenGL package on Windows, because the configure scripts require a Unix-style built environment (MinGW/MinSys or Cygwin). > This would be a job for the Windows distribution team to sort out. > Each other distro addresses the native packaging problem by developing > packages, and what is needed for a similar team for Windows, to provide > Windows packages. Fair enough, a pitty that there is no rpm/emerge/macport equivalent for Windows. -- Regards, Paul Liu Yale Haskell Group http://www.haskell.org/yale From simonpj at microsoft.com Mon Nov 24 04:10:30 2008 From: simonpj at microsoft.com (Simon Peyton-Jones) Date: Mon Nov 24 04:04:23 2008 Subject: [Haskell] GHC 6.10 and OpenGL In-Reply-To: <856033f20811221231n6cfdb3ew46835f9636ceed68@mail.gmail.com> References: <856033f20811221231n6cfdb3ew46835f9636ceed68@mail.gmail.com> Message-ID: <638ABD0A29C8884A91BC5FB5C349B1C3319241A187@EA-EXMSG-C334.europe.corp.microsoft.com> | It's sad to see the OpenGL binding being dropped from GHC binary | installers starting from 6.10. Though this issue has been brought up | and discussed before, I'm sure a lot of people who based their work on | OpenGL would share the same sympathy. The plan (which we have perhaps not articulated as clearly as we should) is this: - We are trying to make the GHC release contain as few libraries as possible - Instead, you get the "batteries" for GHC (ie the libraries) from the Haskell Platform http://www.haskell.org/haskellwiki/Haskell_Platform This lets GHC HQ get out of the library business, and makes it easier to upgrade libraries independently from GHC. But it does mean that GHC without the batteries is a feeble thing. You really want to wait until the HP comes out. The HP will be released in source form, to be installed by cabal-install, of course. But I believe that the intention is that there should be a Windows installer for it too. Things I am less clear about - When will the first HP release compatible with GHC 6.10 appear? - How do users get cabal-install in the first place? Is there a windows installer for it? - Where can one find an up-to-date list of what packages are in HP? - Is there anyone who is actually planning to do the work of making a windows installer for the HP? The HP home page lists only Duncan and Don. I think it'd be good if it was easy to answer these questions from the HP home page. Simon From julien.sylvestre at mlstate.com Mon Nov 24 06:21:10 2008 From: julien.sylvestre at mlstate.com (julien.sylvestre@mlstate.com) Date: Mon Nov 24 06:15:01 2008 Subject: [Haskell] FP Jobs Message-ID: <45285.1227525670@mlstate.com> MLstate - currently in stealth mode - is an IT company, whose functional programming approach to SaaS and cloud computing has been recently recognized by the French Ministry of Research Innovation Award. We are research-oriented, we value technical excellence and innovation and we believe our technology has a potential to dramatically change the way web applications are being built. MLstate opens several new permanent positions to meet this challenge: - Senior Developers: Outstanding PhDs with at least 3 years of research experience in functional languages and/or formal verification and the ability to manage a small technical team. - Developers: PhDs with strong FP skills. Applications from PhD students defending their thesis soon and who should not be reading the caml list right now... are welcome. Jobs are based in Paris and include a competitive compensation package. Please send a (link to your) CV to julien.sylvestre@mlstate.com From andrei at cs.chalmers.se Mon Nov 24 11:03:10 2008 From: andrei at cs.chalmers.se (Andrei Sabelfeld) Date: Mon Nov 24 10:56:45 2008 Subject: [Haskell] PhD Positions in Language-based Security at Chalmers Message-ID: <492AD03E.1010809@cs.chalmers.se> ------------------------------------------------------------------------ *PhD Student Positions in Programming Language-based Security* Dept. of Computer Science and Engineering Chalmers University of Technology, Sweden Application deadline: January 30, 2009 Full version of this announcement is at: http://www.chalmers.se/cse/EN/news/vacancies/positions/ph-d-positions-in ------------------------------------------------------------------------ *The Department* The department provides a strong, international, and dynamic research environment with about 75 faculty members. For more information, see http://www.chalmers.se/cse/EN/. ------------------------------------------------------------------------ *PhD Project* The PhD students will join a world-leading team of researchers on *programming language-based security*. Language-based security facilitates specifying and enforcing security policies at the level of programming languages early in the software design and construction phase. Drawing on the recent progress in this area, the goal of the positions is to pursue the following directions of work: * To design *rich security policies* for confidentiality and integrity, as demanded by practical applications (such as web applications). These security policies should be formal: they should operate at the level of programming-language semantics. * To develop *practical enforcement mechanisms* for these policies in expressive programming languages (such as web languages). These enforcement mechanisms may combine static (for example, type system-based) and dynamic (for example, execution monitoring-based) techniques. * To support the above with case studies in web-application security. In pursuing these goals, there are possibilities for collaboration with our high-profile academic and industrial partners. ------------------------------------------------------------------------ *Details about Employment* PhD student positions are limited to five years and will then normally include 20 per cent departmental work, mostly teaching duties. Salary for the position is as specified in Chalmers? general agreement for PhD student positions, currently around 23,000SEK a month before tax. The positions are intended to start in spring or fall 2009. ------------------------------------------------------------------------ *Suitable Background* Applicants must have a degree in Computing Science or in a related subject with a strong Computing Science component. They must also have a strong, documented interest in doing research. The ideal student for the project will have strong background in both programming languages and security. You may even apply if you have not yet completed your degree, but expect to do so before the position starts. In order to improve gender balance, Chalmers welcomes in particular applications from female candidates. ------------------------------------------------------------------------ *How to Apply* Application can be submitted electronically following the "Application details" and "Application procedure" guidelines at: http://www.chalmers.se/cse/EN/news/vacancies/positions/ph-d-positions-in From dons at galois.com Mon Nov 24 14:38:05 2008 From: dons at galois.com (Don Stewart) Date: Mon Nov 24 14:32:04 2008 Subject: [Haskell] GHC 6.10 and OpenGL In-Reply-To: <638ABD0A29C8884A91BC5FB5C349B1C3319241A187@EA-EXMSG-C334.europe.corp.microsoft.com> References: <856033f20811221231n6cfdb3ew46835f9636ceed68@mail.gmail.com> <638ABD0A29C8884A91BC5FB5C349B1C3319241A187@EA-EXMSG-C334.europe.corp.microsoft.com> Message-ID: <20081124193805.GC8635@scytale.galois.com> simonpj: > > | It's sad to see the OpenGL binding being dropped from GHC binary > | installers starting from 6.10. Though this issue has been brought up > | and discussed before, I'm sure a lot of people who based their work on > | OpenGL would share the same sympathy. > > The plan (which we have perhaps not articulated as clearly as we should) is this: > > - We are trying to make the GHC release contain as few libraries as possible > - Instead, you get the "batteries" for GHC (ie the libraries) from the Haskell Platform > http://www.haskell.org/haskellwiki/Haskell_Platform > > This lets GHC HQ get out of the library business, and makes it easier to upgrade libraries independently from GHC. But it does mean that GHC without the batteries is a feeble thing. You really want to wait until the HP comes out. > > The HP will be released in source form, to be installed by cabal-install, of course. But I believe that the intention is that there should be a Windows installer for it too. > > Things I am less clear about > - When will the first HP release compatible with GHC 6.10 appear? Next few weeks. > - How do users get cabal-install in the first place? Is there > a windows installer for it? Via binaries for their platform (e.g. windows .exe's). > - Where can one find an up-to-date list of what packages are in HP? The definitive version, http://code.haskell.org/haskell-platform/haskell-platform.cabal There's also a bug tracker. > - Is there anyone who is actually planning to do the work of making > a windows installer for the HP? The HP home page lists only > Duncan and Don. We need a Windows platform champion, as we do for other distros, who's in the business of making native packages for that key system. Neil? > I think it'd be good if it was easy to answer these questions from the HP home page. > Yes! -- Don From voigt at tcs.inf.tu-dresden.de Tue Nov 25 07:37:58 2008 From: voigt at tcs.inf.tu-dresden.de (Janis Voigtlaender) Date: Tue Nov 25 07:31:45 2008 Subject: [Haskell] Not quite another Haskell tutorial, but ... Message-ID: <492BF1A6.1010503@tcs.inf.tu-dresden.de> ... I submitted my Habilitation thesis last week. The first few chapters of it try to give an introduction to Haskell with emphasis on types and reasoning principles. That might be an interesting read for some, so I made it accessible at http://wwwtcs.inf.tu-dresden.de/~voigt/habil.pdf. And yes, the November HCAR will also be coming. Rather soon now that this cause for delay is out of the way. Ciao, Janis. -- Dr. Janis Voigtlaender http://wwwtcs.inf.tu-dresden.de/~voigt/ mailto:voigt@tcs.inf.tu-dresden.de From bos at serpentine.com Wed Nov 26 00:15:54 2008 From: bos at serpentine.com (Bryan O'Sullivan) Date: Wed Nov 26 00:09:39 2008 Subject: [Haskell] ANN: "Real World Haskell", now shipping Message-ID: Good evening - John Goerzen, Don Stewart and I are delighted to announce the availability of our book, "Real World Haskell". It is 710 pages long, and published by O'Reilly Media. This is the first book to comprehensively cover modern Haskell programming. From an introduction to functional programming, it focuses on teaching through many worked examples. We discuss the "awkward squad" of I/O, concurrency, and exceptions. We cover network programming, databases, and system hacking. We motivate and work with monoids, applicative functors, monads, and monad transformers. We show you how to debug code, and how to ship well-tested software. Better yet, the book is available under a Creative Commons license, so you can read as much of it as you please before you buy: http://book.realworldhaskell.org/ We developed this book with the enthusiastic and voluble support of the Haskell community, and we are proud to share our work in a fashion that will help newcomers to our field. And best of all, if you order now (at least in North America), you can have a copy of the book in your hands in a matter of days. Thank you from all of us to our friends in the Haskell world who have been so generous with their feedback and kind words! From donnie at darthik.com Wed Nov 26 02:29:05 2008 From: donnie at darthik.com (Donnie Jones) Date: Wed Nov 26 02:22:51 2008 Subject: [Haskell] ANN: "Real World Haskell", now shipping In-Reply-To: References: Message-ID: Mine arrives in two days; I can't wait! :) Thanks for all your hard work, and to all the members of the community which provided comments/suggestions to improve the book. __ Donnie Jones On Wed, Nov 26, 2008 at 12:15 AM, Bryan O'Sullivan wrote: > Good evening - > > John Goerzen, Don Stewart and I are delighted to announce the > availability of our book, "Real World Haskell". It is 710 pages long, > and published by O'Reilly Media. > > This is the first book to comprehensively cover modern Haskell > programming. From an introduction to functional programming, it > focuses on teaching through many worked examples. We discuss the > "awkward squad" of I/O, concurrency, and exceptions. We cover network > programming, databases, and system hacking. We motivate and work with > monoids, applicative functors, monads, and monad transformers. We show > you how to debug code, and how to ship well-tested software. > > Better yet, the book is available under a Creative Commons license, so > you can read as much of it as you please before you buy: > http://book.realworldhaskell.org/ We developed this book with the > enthusiastic and voluble support of the Haskell community, and we are > proud to share our work in a fashion that will help newcomers to our > field. > > And best of all, if you order now (at least in North America), you can > have a copy of the book in your hands in a matter of days. > > Thank you from all of us to our friends in the Haskell world who have > been so generous with their feedback and kind words! > _______________________________________________ > 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/20081126/c4eac90b/attachment.htm From koen at chalmers.se Wed Nov 26 03:52:41 2008 From: koen at chalmers.se (Koen Claessen) Date: Wed Nov 26 03:46:26 2008 Subject: [Haskell] Call for papers TAP 2009 Message-ID: <1b30d3c80811260052k11583e18pfb22c48821ddef8a@mail.gmail.com> [Apologize if you receive multiple copies] Call for Papers TAP: Tests And Proofs 2009 The Third International Conference on Tests And Proofs (TAP) will be held at ETH Zurich, Switzerland on 2 and 3 July 2009. It will be co-located with TOOLS Europe 2009. The TAP conference is devoted to the convergence of proofs and tests. It combines ideas from both sides for the advancement of software quality. Purpose and Scope ----------------- To prove the correctness of a program is to demonstrate, through impeccable mathematical techniques, that it has no bugs; to test a program is to run it with the expectation of discovering bugs. The two techniques seem contradictory: if you have proved your program, it's fruitless to comb it for bugs; and if you are testing it, that is surely a sign that you have given up on any hope to prove its correctness. Accordingly, proofs and tests have, since the onset of software engineering research, been pursued by distinct communities using rather different techniques and tools. And yet the development of both approaches leads to the discovery of common issues and to the realization that each may need the other. The emergence of model checking has been one of the first signs that contradiction may yield to complementarity, but in the past few years an increasing number of research efforts have encountered the need for combining proofs and tests, dropping earlier dogmatic views of incompatibility and taking instead the best of what each of these software engineering domains has to offer. The conference will include a mix of invited and submitted presentation, and a generous allocation of panels and informal discussions Topics ------- Possible topics include (as an indicative rather than exhaustive list): - Generation of test data, oracles, or preambles by deductive techniques such as o theorem proving, o model checking, o symbolic execution, o constraint logic programming, etc. - Generation of specifications by deduction - Verification techniques combining proofs and tests - Program proving with the aid of testing techniques - Transfer of concepts from testing to proving (e.g., coverage criteria) - Automatic bug finding - Formal frameworks - Tool descriptions and experience reports - Case studies Invited speakers ---------------- Boutheina CHETALI Security Labs, Technology & Innovation Gemalto - France Sriram K. Rajamani Microsoft Research India Contributions ------------- Two kinds of contributions are expected: - Research papers: full papers of not more than 14 pages in LNCS format, which have to be original, unpublished and not submitted elsewhere. The research papers proceedings will be published in Springer's LNCS series. - Short presentations of work in progress, industrial experience reports and tool demonstrations. An extended abstract of not more than 3 pages is expected and will be reviewed. The accepted extended abstracts will be made available in supplementary proceedings. They will be presented during the cnference days. Important dates ---------------- * Submission deadline: 15 February 2009 * Notification of acceptance: 22 March 2009 * Submission of final camera-ready version: 15 April 2009 The dates are firm; no extension will be granted. Web site --------- http://tap.ethz.ch/2009 -------------- next part -------------- Call for Papers TAP: Tests And Proofs 2009 The Third International Conference on Tests And Proofs (TAP) will be held at ETH Zurich, Switzerland on 2 and 3 July 2009. It will be co-located with TOOLS Europe 2009. The TAP conference is devoted to the convergence of proofs and tests. It combines ideas from both sides for the advancement of software quality. Purpose and Scope ----------------- To prove the correctness of a program is to demonstrate, through impeccable mathematical techniques, that it has no bugs; to test a program is to run it with the expectation of discovering bugs. The two techniques seem contradictory: if you have proved your program, it's fruitless to comb it for bugs; and if you are testing it, that is surely a sign that you have given up on any hope to prove its correctness. Accordingly, proofs and tests have, since the onset of software engineering research, been pursued by distinct communities using rather different techniques and tools. And yet the development of both approaches leads to the discovery of common issues and to the realization that each may need the other. The emergence of model checking has been one of the first signs that contradiction may yield to complementarity, but in the past few years an increasing number of research efforts have encountered the need for combining proofs and tests, dropping earlier dogmatic views of incompatibility and taking instead the best of what each of these software engineering domains has to offer. The conference will include a mix of invited and submitted presentation, and a generous allocation of panels and informal discussions Topics ------- Possible topics include (as an indicative rather than exhaustive list): - Generation of test data, oracles, or preambles by deductive techniques such as o theorem proving, o model checking, o symbolic execution, o constraint logic programming, etc. - Generation of specifications by deduction - Verification techniques combining proofs and tests - Program proving with the aid of testing techniques - Transfer of concepts from testing to proving (e.g., coverage criteria) - Automatic bug finding - Formal frameworks - Tool descriptions and experience reports - Case studies Invited speakers ---------------- Boutheina CHETALI Security Labs, Technology & Innovation Gemalto - France Sriram K. Rajamani Microsoft Research India Contributions ------------- Two kinds of contributions are expected: - Research papers: full papers of not more than 14 pages in LNCS format, which have to be original, unpublished and not submitted elsewhere. The research papers proceedings will be published in Springer's LNCS series. - Short presentations of work in progress, industrial experience reports and tool demonstrations. An extended abstract of not more than 3 pages is expected and will be reviewed. The accepted extended abstracts will be made available in supplementary proceedings. They will be presented during the cnference days. Important dates ---------------- * Submission deadline: 15 February 2009 * Notification of acceptance: 22 March 2009 * Submission of final camera-ready version: 15 April 2009 The dates are firm; no extension will be granted. Web site --------- http://tap.ethz.ch/2009 From demis at dimi.uniud.it Wed Nov 26 04:38:43 2008 From: demis at dimi.uniud.it (demis@dimi.uniud.it) Date: Wed Nov 26 04:32:28 2008 Subject: [Haskell] First CFP: WWV 2009 Message-ID: <20081126093843.E63093FC1E1@sole.dimi.uniud.it> Skipped content of type multipart/alternative From leimy2k at gmail.com Wed Nov 26 08:43:36 2008 From: leimy2k at gmail.com (David Leimbach) Date: Wed Nov 26 08:37:20 2008 Subject: [Haskell] ANN: "Real World Haskell", now shipping In-Reply-To: References: Message-ID: <3e1162e60811260543w542d8d04o32d566f5835d2955@mail.gmail.com> Very excited to receive my copy! Congrats to the 3 of you! On Tue, Nov 25, 2008 at 9:15 PM, Bryan O'Sullivan wrote: > Good evening - > > John Goerzen, Don Stewart and I are delighted to announce the > availability of our book, "Real World Haskell". It is 710 pages long, > and published by O'Reilly Media. > > This is the first book to comprehensively cover modern Haskell > programming. From an introduction to functional programming, it > focuses on teaching through many worked examples. We discuss the > "awkward squad" of I/O, concurrency, and exceptions. We cover network > programming, databases, and system hacking. We motivate and work with > monoids, applicative functors, monads, and monad transformers. We show > you how to debug code, and how to ship well-tested software. > > Better yet, the book is available under a Creative Commons license, so > you can read as much of it as you please before you buy: > http://book.realworldhaskell.org/ We developed this book with the > enthusiastic and voluble support of the Haskell community, and we are > proud to share our work in a fashion that will help newcomers to our > field. > > And best of all, if you order now (at least in North America), you can > have a copy of the book in your hands in a matter of days. > > Thank you from all of us to our friends in the Haskell world who have > been so generous with their feedback and kind words! > _______________________________________________ > 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/20081126/2ace45dc/attachment.htm From abdullah.ak2002 at gmail.com Wed Nov 26 11:12:36 2008 From: abdullah.ak2002 at gmail.com (abdullah abdul Khadir) Date: Wed Nov 26 11:06:20 2008 Subject: [Haskell] Help : A problem with IO Message-ID: <719881900811260812p207fcbb2y9ad6d1f33a13ed10@mail.gmail.com> Hi, getMyLine :: IO [Char] getMyLine = do c <- getChar if(c == '\n') then return "" else cs <- getMyLine return [c] -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20081126/c85c1c9b/attachment.htm From abdullah.ak2002 at gmail.com Wed Nov 26 11:18:49 2008 From: abdullah.ak2002 at gmail.com (abdullah abdul Khadir) Date: Wed Nov 26 11:12:33 2008 Subject: [Haskell] Re: Help : A problem with IO In-Reply-To: <719881900811260812p207fcbb2y9ad6d1f33a13ed10@mail.gmail.com> References: <719881900811260812p207fcbb2y9ad6d1f33a13ed10@mail.gmail.com> Message-ID: <719881900811260818n5899ab93v51b509cd38dba166@mail.gmail.com> Hi, The function getMyLine written by me is intended for getting a complete string from the standard input. import IO getMyLine :: IO [Char] getMyLine = do c <- getChar if(c == '\n') then return "" else cs <- getMyLine return [c] However I keep getting the following error: io.hs:14:2: Parse error in pattern Failed, modules loaded: none. I fail to understand what the error is. I tried out various things such as changing the alignment and so on to no avail. The following program, however, compiled successfully though it has the same structure as the previous program. checkd :: IO Bool checkd = do c <- getChar if(c=='d') then return True else return False Prelude> :load ./io.hs [1 of 1] Compiling Main ( io.hs, interpreted ) Ok, modules loaded: Main. *Main> checkd d True -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20081126/a45026a1/attachment.htm From Axel.Simon at ens.fr Wed Nov 26 11:29:07 2008 From: Axel.Simon at ens.fr (Axel Simon) Date: Wed Nov 26 11:22:59 2008 Subject: [Haskell] Re: Help : A problem with IO In-Reply-To: <719881900811260818n5899ab93v51b509cd38dba166@mail.gmail.com> References: <719881900811260812p207fcbb2y9ad6d1f33a13ed10@mail.gmail.com> <719881900811260818n5899ab93v51b509cd38dba166@mail.gmail.com> Message-ID: <1227716947.6341.8.camel@aconit> Hi Abdullah, On Wed, 2008-11-26 at 21:48 +0530, abdullah abdul Khadir wrote: > Hi, > > The function getMyLine written by me is intended for getting a > complete string from the standard input. > > import IO > > getMyLine :: IO [Char] > getMyLine = do > c <- getChar > if(c == '\n') > then return "" > else cs <- getMyLine > return [c] a) you forgot a 'do' after 'else' b) your email would be answered quicker on haskell-beginners or haskell-cafe since haskell is mainly used for announcements. Axel. From chris at eidhof.nl Wed Nov 26 11:29:34 2008 From: chris at eidhof.nl (Chris Eidhof) Date: Wed Nov 26 11:23:18 2008 Subject: [Haskell] Re: Help : A problem with IO In-Reply-To: <719881900811260818n5899ab93v51b509cd38dba166@mail.gmail.com> References: <719881900811260812p207fcbb2y9ad6d1f33a13ed10@mail.gmail.com> <719881900811260818n5899ab93v51b509cd38dba166@mail.gmail.com> Message-ID: On 26 nov 2008, at 17:18, abdullah abdul Khadir wrote: > Hi, > > The function getMyLine written by me is intended for getting a > complete string from the standard input. > > import IO > > getMyLine :: IO [Char] > getMyLine = do > c <- getChar > if(c == '\n') > then return "" > else cs <- getMyLine > return [c] > > However I keep getting the following error: > > io.hs:14:2: Parse error in pattern > Failed, modules loaded: none. > > I fail to understand what the error is. I tried out various > things such as changing the alignment and so on to no avail. The > following program, however, compiled successfully though it has the > same structure as the previous program. The "else" should be replaced by "else do". Probably you'll also want the last line to be "return (c:cs)". By the way, questions like these might be more appropriate on haskell- beginners or haskell-cafe. -chris > > > checkd :: IO Bool > checkd = do > c <- getChar > if(c=='d') > then return True > else return False > > Prelude> :load ./io.hs > [1 of 1] Compiling Main ( io.hs, interpreted ) > Ok, modules loaded: Main. > *Main> checkd > d > True > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell From dons at galois.com Wed Nov 26 12:11:34 2008 From: dons at galois.com (Don Stewart) Date: Wed Nov 26 12:05:35 2008 Subject: [Haskell] ANN: "Real World Haskell", now shipping In-Reply-To: References: Message-ID: <20081126171134.GC18426@scytale.galois.com> I'd love it if people took a photo of the book arriving. With enough photos , I could put together a gallery of Haskell around the world :-) Here's my copy arriving last night, http://www.realworldhaskell.org/blog/2008/11/25/real-world-haskell-is-shipping/ And Dino's digital version, http://galois.com/~dons/images/20081121_dm_838.jpg Drop me a line with a photo of yours arriving, and your location, and I'll add it to the gallery. Cheers, Don donnie: > Mine arrives in two days; I can't wait! :) > > Thanks for all your hard work, and to all the members of the community > which provided comments/suggestions to improve the book. > __ > Donnie Jones > > On Wed, Nov 26, 2008 at 12:15 AM, Bryan O'Sullivan <[1]bos@serpentine.com> > wrote: > > Good evening - > > John Goerzen, Don Stewart and I are delighted to announce the > availability of our book, "Real World Haskell". It is 710 pages long, > and published by O'Reilly Media. > > This is the first book to comprehensively cover modern Haskell > programming. From an introduction to functional programming, it > focuses on teaching through many worked examples. We discuss the > "awkward squad" of I/O, concurrency, and exceptions. We cover network > programming, databases, and system hacking. We motivate and work with > monoids, applicative functors, monads, and monad transformers. We show > you how to debug code, and how to ship well-tested software. > > Better yet, the book is available under a Creative Commons license, so > you can read as much of it as you please before you buy: > [2]http://book.realworldhaskell.org/ We developed this book with the > enthusiastic and voluble support of the Haskell community, and we are > proud to share our work in a fashion that will help newcomers to our > field. > > And best of all, if you order now (at least in North America), you can > have a copy of the book in your hands in a matter of days. > > Thank you from all of us to our friends in the Haskell world who have > been so generous with their feedback and kind words! > _______________________________________________ > Haskell mailing list > [3]Haskell@haskell.org > [4]http://www.haskell.org/mailman/listinfo/haskell > > References > > Visible links > 1. mailto:bos@serpentine.com > 2. http://book.realworldhaskell.org/ > 3. mailto:Haskell@haskell.org > 4. http://www.haskell.org/mailman/listinfo/haskell > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell From bf3 at telenet.be Wed Nov 26 13:04:57 2008 From: bf3 at telenet.be (Peter Verswyvelen) Date: Wed Nov 26 12:58:41 2008 Subject: [Haskell] Wait for *either* MVar to be set Message-ID: Maybe this is not the correct mailing list to ask this question, but as a similar question was asked seemingly unanswered by Duncan Coutts in 2002 (http://markmail.org/message/kftpnulks7mbz2ij), and as this most likely has to do with the GHC runtime, I might have more luck to get an answer here... Sorry for the spam if this is inappropriate; please say so and I will resubscribe to the Haskell Cafe mailing list, not polluting this main list anymore... So here's my question. GHC provides MVar for nice lightweight concurrency synchronization. However, preemptive multitasking operating systems offer support for waiting for multiple "MVars", until *either* one of them returns (or timeouts). I see no way of achieving this with GHC's MVar, unless using Conal Elliott's unamb package on Hackage that emulates this by spawning and killing two threads (which might be an expensive operation, I'm not sure) Am I wrong in this? If so, is this something that might be considered as a future enhancement in the GHC libraries and runtime? Thanks very much, Peter Verswyvelen CTO - Anygma From alson at alsonkemp.com Wed Nov 26 15:39:50 2008 From: alson at alsonkemp.com (Alson Kemp) Date: Wed Nov 26 15:55:21 2008 Subject: [Haskell] ANNOUNCE: Turbinado V0.2 "Still Ugly" Message-ID: <2629c41e0811261239h39f1ef62k2e3d5f0caf58f3ef@mail.gmail.com> Progress continues on Turbinado. Turbinado can be found at: http://www.turbinado.org The source can be found at: http://github.com/alsonkemp/turbinado/tree/master (see the /App directory for the code for www.turbinado.org) New in V0.2: * A better "Environment" type (rather than using Dynamics) (-> a 50% speed boost? That's unpossible!); * A functional early version of an ORM for PostgreSQL (note: still needs to handle updates; hdbc-postgresql has a bug with sensing nullable columns); * A prettier website; * Licensing -> BSD. Expect V0.3 in the next week or so with: * More view helpers; * An ORM which handles INSERT/UPDATE...; * A little CMS built using the ORM. Future release: * Separate the website out from the framework. For now, they're evolving together, so live together. From simonpj at microsoft.com Thu Nov 27 03:48:28 2008 From: simonpj at microsoft.com (Simon Peyton-Jones) Date: Thu Nov 27 03:42:10 2008 Subject: [Haskell] Wait for *either* MVar to be set In-Reply-To: References: Message-ID: <638ABD0A29C8884A91BC5FB5C349B1C33281447D0A@EA-EXMSG-C334.europe.corp.microsoft.com> | However, preemptive multitasking operating systems offer support for waiting for multiple | "MVars", until *either* one of them returns (or timeouts). The standard way to do this is to spawn a thread for each MVar you are waiting for; the thread blocks on the MVar and, when it unblocks it fills a third MVar with the outcome. The original thread waits on this single MVar. See Section 5 of http://research.microsoft.com/users/simonpj/papers/concurrent-haskell.ps.gz Alternatively STM supports such multiple waiting directly http://research.microsoft.com/%7Esimonpj/papers/stm/index.htm#composble Simon | -----Original Message----- | From: haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] On Behalf Of Peter | Verswyvelen | Sent: 26 November 2008 18:05 | To: haskell@haskell.org | Subject: [Haskell] Wait for *either* MVar to be set | | Maybe this is not the correct mailing list to ask this question, but as a similar question was | asked seemingly unanswered by Duncan Coutts in 2002 | (http://markmail.org/message/kftpnulks7mbz2ij), and as this most likely has to do with the GHC | runtime, I might have more luck to get an answer here... Sorry for the spam if this is | inappropriate; please say so and I will resubscribe to the Haskell Cafe mailing list, not | polluting this main list anymore... | | So here's my question. | | GHC provides MVar for nice lightweight concurrency synchronization. | | However, preemptive multitasking operating systems offer support for waiting for multiple | "MVars", until *either* one of them returns (or timeouts). | | I see no way of achieving this with GHC's MVar, unless using Conal Elliott's unamb package on | Hackage that emulates this by spawning and killing two threads (which might be an expensive | operation, I'm not sure) | | Am I wrong in this? If so, is this something that might be considered as a future enhancement | in the GHC libraries and runtime? | | Thanks very much, | Peter Verswyvelen | CTO - Anygma | | | | | _______________________________________________ | Haskell mailing list | Haskell@haskell.org | http://www.haskell.org/mailman/listinfo/haskell From abdullah.ak2002 at gmail.com Thu Nov 27 13:10:57 2008 From: abdullah.ak2002 at gmail.com (abdullah abdul Khadir) Date: Thu Nov 27 13:04:41 2008 Subject: [Haskell] Re: Help : A problem with IO In-Reply-To: References: <719881900811260812p207fcbb2y9ad6d1f33a13ed10@mail.gmail.com> <719881900811260818n5899ab93v51b509cd38dba166@mail.gmail.com> Message-ID: <719881900811271010r313d3becqefa9fa4b772b5666@mail.gmail.com> Thanks all, I got it working finally. What did i learn ? a) I need to put a do after else for more than one instruction (?) b) All similar type of questions are to be redirected to haskell-beginner and haskell-cafe Points noted. Thank you once again, Abdullah Abdul Khadir On Wed, Nov 26, 2008 at 10:56 PM, wman <666wman@gmail.com> wrote: > if it should really read whole line, it must try to somehow chain the > values into the string / list of chars (using (:) ) > > getMyLine :: IO [Char] > getMyLine = do > c <- getChar > if (c == '\n') > then return "" -- imho [] looks nicer ;-) > else do > rest <- getMyLine > return $ c : rest > > -- or > > getMyLine :: IO [Char] > getMyLine = do > c <- getChar > if (c == '\n') > then return "" -- imho [] looks nicer ;-) > else getMyLine >>= return . (c:) > > -- or even shorter and still equivalent ;-) > > getMyLine :: IO [Char] > getMyLine = getChar >>= (\c -> if (c == '\n') then return [] else fmap > (c:) getMyLine) > > > > 2008/11/26 abdullah abdul Khadir > >> Hi, >> >> The function getMyLine written by me is intended for getting a >> complete string from the standard input. >> >> import IO >> >> getMyLine :: IO [Char] >> getMyLine = do >> c <- getChar >> if(c == '\n') >> then return "" >> else cs <- getMyLine >> return [c] >> >> However I keep getting the following error: >> >> io.hs:14:2: Parse error in pattern >> Failed, modules loaded: none. >> >> I fail to understand what the error is. I tried out various things >> such as changing the alignment and so on to no avail. The following program, >> however, compiled successfully though it has the same structure as the >> previous program. >> >> checkd :: IO Bool >> checkd = do >> c <- getChar >> if(c=='d') >> then return True >> else return False >> >> Prelude> :load ./io.hs >> [1 of 1] Compiling Main ( io.hs, interpreted ) >> Ok, modules loaded: Main. >> *Main> checkd >> d >> True >> >> >> _______________________________________________ >> 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/20081127/d7715dac/attachment.htm From voigt at tcs.inf.tu-dresden.de Fri Nov 28 02:00:17 2008 From: voigt at tcs.inf.tu-dresden.de (Janis Voigtlaender) Date: Fri Nov 28 01:54:08 2008 Subject: [Haskell] ANNOUNCE: Haskell Communities and Activities Report (15th ed., November 2008) Message-ID: <492F9701.9010707@tcs.inf.tu-dresden.de> On behalf of the many, many contributors, I am pleased to announce that the Haskell Communities and Activities Report (15th edition, November 2008) 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 I did. If you have not 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 sometimes 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 I 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 2009: target deadline for contributions to the May 2009 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 April (you could point me to them as well, and I 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! Janis Voigtlaender -- Dr. Janis Voigtlaender http://wwwtcs.inf.tu-dresden.de/~voigt/ mailto:voigt@tcs.inf.tu-dresden.de From dons at galois.com Fri Nov 28 19:15:30 2008 From: dons at galois.com (Don Stewart) Date: Fri Nov 28 19:09:59 2008 Subject: [Haskell] Re: [Haskell-cafe] ANNOUNCE: Haskell Communities and Activities Report (15th ed., November 2008) In-Reply-To: <492F9701.9010707@tcs.inf.tu-dresden.de> References: <492F9701.9010707@tcs.inf.tu-dresden.de> Message-ID: <20081129001530.GN27887@scytale.galois.com> Good work! It is always interesting to see the secret Haskell projects that only get announced via the HCAR. Things not on haskell@ or on hackage. For example, this under-the-radar project: http://www.haskell.org/communities/11-2008/html/report.html#sect7.7 7.7 IVU Traffic Technologies AG Rostering Group Haskell to solve constraints on EU bus timetables! In production use! -- Don voigt: > On behalf of the many, many contributors, I am pleased to announce > that the > > Haskell Communities and Activities Report > (15th edition, November 2008) > > http://www.haskell.org/communities/ > > is now available from the Haskell Communities home page in PDF and > HTML formats. From cfp at clip.dia.fi.upm.es Sun Nov 30 18:07:20 2008 From: cfp at clip.dia.fi.upm.es (G. Puebla and G. Vidal) Date: Sun Nov 30 18:02:36 2008 Subject: [Haskell] PEPM'09 -- Call for Participation Message-ID: ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM'09) January 19-20, 2009 Savannah, Georgia, USA http://clip.dia.fi.upm.es/Conferences/PEPM09 CALL FOR PARTICIPATION IMPORTANT DATES * Hotel reservation deadline: December 18, 2008 * Early registration deadline: December 19, 2008 VENUE PEPM'09 and all POPL'09 affiliated events will take place at the Hyatt Regency Savannah hotel. SCOPE The PEPM Symposium/Workshop series aims at bringing together researchers and practitioners working in the areas of program manipulation, partial evaluation, and program generation. PEPM focuses on techniques, theory, tools, and applications of analysis and manipulation of programs. PEPM is classified as category A in the CORE ranking of ICT conferences. INVITED TALKS: * Umut Acar. Toyota Technological Institute and Univ. of Chicago. Title: Self-Adjusting Computation * Cristina Cifuentes. Sun Microsystems Laboratories. Title: Program Analysis for Bug Detection using Parfait PROGRAM CHAIRS: German Puebla, Technical University of Madrid, Spain German Vidal, Technical University of Valencia, Spain PROGRAM COMMITTEE: David Binkley, Loyola College, USA Radhia Cousot, CNRS, France Silvia Crafa, University of Padova, Italy Stephen A. Edwards, Columbia University, USA Lidia Fuentes, University of Malaga, Spain John P. Gallagher, Roskilde University, Denmark Thomas Jensen, IRISA, France Yukiyoshi Kameyama, University of Tsukuba, Japan Siau Cheng Khoo, National University of Singapore, Singapore Julia Lawall, University of Copenhagen (DIKU), Denmark Shin-Cheng Mu, Academia Sinica, Taiwan Naoki Nishida, Nagoya University, Japan Maurizio Proietti, CNR, Italy Armin Rigo, University of Dusseldorf, Germany Simon Thompson, Kent University, UK Tarmo Uustalu, Tallinn University of Technology, Estonia Wim Vanhoof, Namur University, Belgium Joost Visser, Software Improvement Group, The Netherlands Janis Voigtlander, TU Dresden, Germany PRELIMINARY PROGRAM * MONDAY, January 19, 2009 ---------------------- ** Invited talk 9:00-10:00 Umut Acar. Toyota Technological Institute and University of Chicago. Title: Self-adjusting computation ---------------------- ** Static Analysis 10:30-12:30 *** Linear Logical Approximations Robert Simmons and Frank Pfenning *** Guided model checking for programs with polymorphism Neha Rungta and Eric Mercer *** Program Interpolation Andrew Moss and Dan Page *** Translation and Optimization for a Core Calculus with Exceptions Cristina David, Cristian Gherghina and Wei-Ngan Chin ---------------------- ** Partial Evaluation and Specialization 13:30-15:00 *** Is there a Fourth Futamura projection? Robert Glueck *** Type-based Specialization of XML Transformations Kazutaka Matsuda, Zhenjiang Hu and Masato Takeichi *** Partially evauated sensor networks Leon Evers and Jan Kuper ---------------------- ** Program Transformation I 15:30-17:00 *** Shortcut fusion rules for the derivation of circular and higher-order monadic programs Alberto Pardo, Joao Fernandes and Joao Saraiva *** A Flexible Framework for Programming with Non-deterministic Functions Francisco Javier Lopez-Fraguas, Juan Rodriguez-Hortala and Jaime Sanchez-Hernandez *** Program Transformation for Numerical Precision Matthieu Martel ---------------------- * TUESDAY, January 20, 2009 ---------------------- ** Invited talk 9:00-10:00 Cristina Cifuentes. Sun Microsystems Laboratories. Title: Program Analysis for Bug Detection using Parfait ---------------------- ** Types 10:30-12:30 *** Shifting the Stage: Staging with Delimited Control Yukiyoshi Kameyama, Oleg Kiselyov and Chung-chieh Shan *** Static Consistency Checking for Verilog Wire Interconnects Cherif Salama, Gregory Malecha, Walid Taha, Jim Grundy and John O'Leary *** Improving Type Error Messages for Generic Java Nabil El Boustani and Jurriaan Hage *** Bidirectional data-flow analyses, type-systematically Maria Joao Frade, Ando Saabas and Tarmo Uustalu ---------------------- ** Slicing and Profiling 13:30-15:00 *** CCCP - Complete Calling Context Profiling in Virtual Execution Environments Philippe Moret, Walter Binder and Alex Villazon *** CProf: Customizable Calling Context Cross-Profiling for Embedded Java Processors Philippe Moret, Walter Binder and Alex Villazon *** SOC: a Slicer for CSP Specifications Marisa Llorens, Javier Oliver, Josep Silva, Salvador Tamarit and Michael Leuschel ---------------------- ** Program Transformation II 15:30-17:00 *** Clone Detection and Removal for Erlang/OTP within a Refactoring Environment Huiqing Li and Simon Thompson *** From Spreadsheets to Relational Databases and Back Jacome Cunha, Joao Saraiva and Joost Visser *** Designing Aspects for Side-Effect Localization Kung Chen, Jia-Yin Lin, Shu-Chun Weng and Siau-Cheng Khoo ---------------------- From byorgey at seas.upenn.edu Sun Nov 30 20:55:53 2008 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Sun Nov 30 20:49:33 2008 Subject: [Haskell] Haskell Weekly News: Issue 95 - November 30, 2008 Message-ID: <20081201015553.GA8055@seas.upenn.edu> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20081130 Issue 95 - November 30, 2008 --------------------------------------------------------------------------- Welcome to issue 95 of HWN, a newsletter covering developments in the [1]Haskell community. Real World Haskell is [2]finally here! [3]Read it online, and/or [4]get your own dead tree copy. Better yet, get two copies, one for yourself and one for a friend. The fifteenth [5]Haskell Communities and Activities Report is also here---check out all the exciting stuff being worked on in the Haskell world! Announcements HCAR. Janis Voigtlaender [6]announced the 15th edition of the [7]Haskell Communities and Activities Report (HCAR) is now available! Not quite another Haskell tutorial, but .... Janis Voigtlaender [8]announced that he submitted his [9]Habilitation thesis last week. The first few chapters of it try to give an introduction to Haskell with emphasis on types and reasoning principles. hledger 0.2. Simon Michael [10]announced version 0.2 of [http://joyful.com/hledger hledger, a minimal haskell clone of John Wiegley's [11]"ledger" text-based accounting tool. darcs zlib error workaround. Eric Kow [12]outlined workarounds and future plans for a darcs bug relating to broken CRCs in gzipped patch files. You should read this if you have installed darcs 2.1.2 via the Cabal build method. Turbinado 0.2. Alson Kemp [13]announced version 0.2 of [14]Turbinado, an easy-to-use, fast web application framework. Fun with type functions. Simon Peyton-Jones [15]requests examples of compelling use cases for type functions: "can you tell us about the most persuasive, fun application you've encountered, for type families or functional dependencies? Simple is good. It doesn't have to be elaborate: just something that does something useful you could not have done otherwise." Jobs PhD Positions in Language-based Security at Chalmers. Andrei Sabelfeld [16]announced the availability of [17]PhD student positions in programming language-based security in the Department of Computer Science and Engineering at Chalmers University of Technology, Sweden. The application deadline is January 30, 2009. FP Jobs. Julien Sylvestre [18]announced several new permanent positions, based in Paris, with MLstate -- an IT company whose functional programming approach to SaaS and cloud computing has been recently recognized by the French Ministry of Research Innovation Award. Blog noise [19]Haskell news from the [20]blogosphere. * Dan Piponi (sigfpe): [21]An Approach to Algorithm Parallelisation. Dan illustrates a clever, general framework for parallelizing some not-so-obviously-parallelizable algorithms, based on linear operations over rings. * Real-World Haskell: [22]First European Orders Now Landing. * Braden Shepherdson: [23]Pimp Your XMonad #3: Prompt. Braden continues his series on getting the most out of your xmonad configuration with a post describing the Prompt family of extensions. * Real-World Haskell: [24]Amazon orders now arriving. * Real-World Haskell: [25]Orders Now Arriving on the US West Coast. * Luke Palmer: [26]Relative time FRP. A new, more elegant semantics for FRP -- relative time instead of absolute time? * JP Moresmau: [27]Predictable random for testing. * Osfameron: [28]London Perl Workshop tomorrow!. * >>> Phil Ratzsch: [29]Initial Haskell Impressions. * Chung-chieh Shan: [30]Metalinguistics. * Alex McLean: [31]Babble. A simple vocable synthesiser that runs in a web browser, written in HaXe. * Jonathan Tang: [32]Sum types vs. typeclasses. * Magnus Therning: [33]Re: Redesigning GHC's build system. Magnus's response to a recent post about redoing GHC's build system. * Real-World Haskell: [34]Real World Haskell is shipping!. * Twan van Laarhoven: [35]Knight in n, part 1: moves. Twan explores knight-move problems in Haskell. * Conal Elliott: [36]Semantic editor combinators. An elegant explanation of semantic editor combinators -- a principled framework for building up ways to "edit" components of structured values. * David Sankel: [37]Why is the Reactive Behavior tutorial taking so long? splitB. * Chung-chieh Shan: [38]Bowling balls. A nice solution to the bowling-ball problem in Haskell. * >>> Cory: [39]Developing in "impractical" languages. * Chris Double: [40]Dynamic Compilation and Loading of Modules in Haskell. A mini-tutorial on using the GHC API. * Ashish Hanwadikar: [41]More on Haskell DSL. A Haskell DSL for replacing 'make'. * Luke Palmer: [42]Screw laziness (w.r.t. Fran semantics). Quotes of the Week * quicksilver: I ACCIDENTALLY THE WHOLE VERB * dons: [on ghc's new code generation] so how's the new code gen better? it's got 98% less dumbs. * adu: source code is transient, dreams are forever. * monochrom: n is the nth English letter. * nomeata: Ah, it seems I'm creating a tuple with more than 62 elements somewhere... * dons: we had 15 years building ivory towers - time to throw rocks from the top! About the Haskell Weekly News New editions are posted to [43]the Haskell mailing list as well as to [44]the Haskell Sequence and [45]Planet Haskell. [46]RSS is also available, and headlines appear on [47]haskell.org. To help create new editions of this newsletter, please see the information on [48]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [49]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://www.realworldhaskell.org/blog/2008/11/25/real-world-haskell-is-shipping/ 3. http://book.realworldhaskell.org/read/ 4. http://book.realworldhaskell.org/#buy 5. http://www.haskell.org/communities/ 6. http://www.haskell.org//pipermail/haskell-cafe/2008-November/051112.html 7. http://www.haskell.org/communities/ 8. http://article.gmane.org/gmane.comp.lang.haskell.general/16640 9. http://wwwtcs.inf.tu-dresden.de/~voigt/habil.pdf 10. http://www.haskell.org//pipermail/haskell-cafe/2008-November/050920.html] 11. http://newartisans.com/software/ledger.html 12. http://www.haskell.org//pipermail/haskell-cafe/2008-November/051021.html 13. http://www.haskell.org//pipermail/haskell/2008-November/020836.html 14. http://www.turbinado.org/ 15. http://www.haskell.org//pipermail/haskell-cafe/2008-November/051069.html 16. http://article.gmane.org/gmane.comp.lang.haskell.general/16637 17. http://www.chalmers.se/cse/EN/news/vacancies/positions/ph-d-positions-in 18. http://article.gmane.org/gmane.comp.lang.haskell.general/16636 19. http://planet.haskell.org/ 20. http://haskell.org/haskellwiki/Blog_articles 21. http://sigfpe.blogspot.com/2008/11/approach-to-algorithm-parallelisation.html 22. http://www.realworldhaskell.org/blog/2008/11/29/first-european-orders-now-landing/ 23. http://braincrater.wordpress.com/2008/11/29/pimp-your-xmonad-3-prompt/ 24. http://www.realworldhaskell.org/blog/2008/11/26/amazon-orders-now-arriving/ 25. http://www.realworldhaskell.org/blog/2008/11/28/orders-now-arriving-on-the-us-west-coast/ 26. http://lukepalmer.wordpress.com/2008/11/28/relative-time-frp/ 27. http://jpmoresmau.blogspot.com/2008/11/predictable-random-for-testing.html 28. http://greenokapi.net/blog/2008/11/28/london-perl-workshop-tomorrow/ 29. http://www.geeklair.net/~pratzsch/blog/2008/11/initial-haskell-impressions.html 30. http://conway.rutgers.edu/~ccshan/wiki/blog/posts/Metalinguistics/ 31. http://yaxu.org/babble/ 32. http://eve-language.blogspot.com/2008/11/sum-types-vs-typeclasses.html 33. http://therning.org/magnus/archives/417 34. http://www.realworldhaskell.org/blog/2008/11/25/real-world-haskell-is-shipping/ 35. http://twan.home.fmf.nl/blog/haskell/Knight1.details 36. http://conal.net/blog/posts/semantic-editor-combinators/ 37. http://netsuperbrain.com/blog/posts/why-is-the-reactive-behavior-tutorial-taking-so-long-splitb/ 38. http://conway.rutgers.edu/~ccshan/wiki/blog/posts/Bowling_balls/ 39. http://onag.blogspot.com/2008/11/developing-in-impractical-languages.html 40. http://www.bluishcoder.co.nz/2008/11/dynamic-compilation-and-loading-of.html 41. http://feedproxy.google.com/~r/typepad/ahanwadi/ashishs_niti/~3/n41w6S_82SE/more-on-haskell.html 42. http://lukepalmer.wordpress.com/2008/11/23/screw-laziness/ 43. http://www.haskell.org/mailman/listinfo/haskell 44. http://sequence.complete.org/ 45. http://planet.haskell.org/ 46. http://sequence.complete.org/node/feed 47. http://haskell.org/ 48. http://haskell.org/haskellwiki/HWN 49. http://code.haskell.org/~byorgey/code/hwn/