From ashley at semantic.org Mon Sep 1 05:58:35 2008 From: ashley at semantic.org (Ashley Yakeley) Date: Mon Sep 1 05:57:07 2008 Subject: [Haskell] Linking Multiple Versions of the Same Package Message-ID: I tried doing this out of curiosity. Package B links to version 0.1 of open-witness, while package C links to B and version 0.1.1 of open-witness. Cabal stopped me when doing "cabal configure" in C: $ cabal configure Configuring C-0.1... Warning: This package indirectly depends on multiple versions of the same package. This is highly likely to cause a compile failure. package B-0.1 requires open-witness-0.1 package C-0.1 requires open-witness-0.1.1 It appears the issue is that package versions are not recorded in External Core names. Thus From ashley at semantic.org Mon Sep 1 06:02:27 2008 From: ashley at semantic.org (Ashley Yakeley) Date: Mon Sep 1 06:00:46 2008 Subject: [Haskell] Re: Linking Multiple Versions of the Same Package In-Reply-To: References: Message-ID: <48BBBDB3.2090608@semantic.org> I wrote: > Thus Sorry, that was accidentally sent early, and after I discovered that package versions are in fact recorded in External Core names. Please ignore... -- Ashley Yakeley From duncan.coutts at worc.ox.ac.uk Mon Sep 1 08:41:36 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Sep 1 08:48:46 2008 Subject: [Haskell] Linking Multiple Versions of the Same Package In-Reply-To: References: Message-ID: <1220272896.24846.294.camel@localhost> On Mon, 2008-09-01 at 02:58 -0700, Ashley Yakeley wrote: > I tried doing this out of curiosity. Package B links to version 0.1 of > open-witness, while package C links to B and version 0.1.1 of open-witness. > > Cabal stopped me when doing "cabal configure" in C: > > $ cabal configure > Configuring C-0.1... > Warning: This package indirectly depends on multiple versions of the same > package. This is highly likely to cause a compile failure. > package B-0.1 requires open-witness-0.1 > package C-0.1 requires open-witness-0.1.1 It does not stop you. It's a warning. The reason it warns is because almost every use of multiple versions of a package is a mistake. We do not currently have a mechanism to see which uses are deliberate or obviously safe so Cabal has to be conservative. Duncan From oleg at okmij.org Tue Sep 2 03:57:18 2008 From: oleg at okmij.org (oleg@okmij.org) Date: Tue Sep 2 03:56:45 2008 Subject: [Haskell] The final view on typed sprintf and sscanf Message-ID: <20080902075718.17EB1AE54@Adric.metnet.fnmoc.navy.mil> It would be remiss not to mention the dual solution to the problem of typed sprintf and sscanf sharing the same formatting specification. The previous message defined the embedded domain-specific language of formatting specifications in the initial style, as a data type. The language can also be defined in the final style. To the end user, the difference is hardly noticeable: all the tests of the previous message work as they are (modulo a few adjustments caused by the monomorphism restriction). However, whereas the initial style required GADT, the final solution is entirely in Haskell98. One often hears that hardly anything interesting can be written in Haskell98. I submit that implementing type-indexed terms, thought to require GADTs or similar dependent-type-like extensions, ought to count as interesting. Again, the formulation of the problem and the end-user interface remain exactly the same as described in the previous message. Here are a few examples: > tp1 = sprintf $ lit "Hello world" > -- "Hello world" > ts1 = sscanf "Hello world" (lit "Hello world") () > -- Just () > tp2 = sprintf (lit "Hello " ^ lit "world" ^ char) '!' > -- "Hello world!" > ts2 = sscanf "Hello world!" (lit "Hello " ^ lit "world" ^ char) id > -- Just '!' > fmt3 () = lit "The value of " ^ char ^ lit " is " ^ int > tp3 = sprintf (fmt3 ()) 'x' 3 > -- "The value of x is 3" > ts3 = sscanf "The value of x is 3" (fmt3 ()) (\c i -> (c,i)) > -- Just ('x',3) The only difference is the dummy unit argument to the fmt3 term, to keep it polymorphic and away from the monomorphism restrictions. Otherwise, the examples look the same and work the same. The complete code is available at http://okmij.org/ftp/Haskell/PrintScanF.hs It is Haskell98 and should work on any Haskell98 system (tested on GHC 6.8.2 and Hugs September 2006). Whereas the initial version defined the formatting language with the help of GADT, the final version uses a simple, single-parameter type class > class FormattingSpec repr where > lit :: String -> repr a a > int :: repr a (Int -> a) > char :: repr a (Char -> a) > (^) :: repr b c -> repr a b -> repr a c > infixl 5 ^ The printer and the scanner are two interpreters of the language > newtype FPr a b = FPr ((String -> a) -> b) > instance FormattingSpec FPr where > lit str = FPr $ \k -> k str > char = FPr $ \k -> \x -> k [x] > (FPr a) ^ (FPr b) = FPr $ \k -> a (\sa -> b (\sb -> k (sa ++ sb))) > newtype FSc a b = FSc (String -> b -> Maybe (a,String)) > instance FormattingSpec FSc where > lit str = FSc $ \inp x -> > maybe Nothing (\inp' -> Just (x,inp')) $ prefix str inp > char = FSc $ \inp f -> case inp of > (c:inp) -> Just (f c,inp) > "" -> Nothing > (FSc a) ^ (FSc b) = FSc $ \inp f -> > maybe Nothing (\(vb,inp') -> b inp' vb) $ a inp f > sprintf :: FPr String b -> b > sprintf (FPr fmt) = fmt id > sscanf :: String -> FSc a b -> b -> Maybe a > sscanf inp (FSc fmt) f = maybe Nothing (Just . fst) $ fmt inp f The transformation from the initial to the final style follows the correspondence described in http://okmij.org/ftp/Computation/tagless-typed.html#in-fin In fact, PrintScanF.hs was `derived' from PrintScan.hs by Emacs `code movements'. Once the syntax errors have been fixed, the code worked on the first try. One can easily define a yet another interpreter, to convert the formatting specification to a C-like format string. From genaim at clip.dia.fi.upm.es Tue Sep 2 04:19:36 2008 From: genaim at clip.dia.fi.upm.es (Samir Genaim) Date: Tue Sep 2 04:18:06 2008 Subject: [Haskell] BYTECODE09: 1st Call for Papers Message-ID: ******************************************************** * 1st Call for Papers * * * * Fourth Workshop on Bytecode Semantics, * * Verification, Analysis and Transformation * * * * York, UK, 29th March 2009, part of ETAPS 2009 * * * * Venue: The University of York * * * * http://www.clip.dia.fi.upm.es/Conferences/BYTECODE09 * * * ******************************************************** Important Dates =============== Paper Submission December 21, 2008 Notification January 25, 2009 Final Version February 8, 2009 Workshop March 29, 2009 Workshop Description ==================== Bytecode, such as produced by e.g. .Net and Java compilers, has become an important topic of interest, both for industry and academia. The industrial interest stems from the fact that bytecode is typically used for the Internet and mobile devices (smartcards, phones, etc.), where security is a major issue. Moreover, bytecode is device-independent and allows dynamic loading of classes, which provides an extra challenge for the application of formal methods. In addition, the lack of structure of the code and the pervasive presence of the operand stack also provide extra challenges for the analysis of bytecode. This workshop will focus on the latest developments in the semantics, verification, analysis, and transformation of bytecode. Both new theoretical results and tool demonstrations are welcome. Invited Speaker =============== TBA Submission ========== There are two paper categories, Regular and Tool demo papers. Paper should be written using the ENTCS style and submitted through the easy chair page "http://www.easychair.org/conferences/?conf=bytecode08". Please indicate in the submission page the category of your submission. Submissions will be evaluated by the Program Committee for inclusion in the ENTCS proceedings. Regular research papers should be at most 15 pages (including bibliography and excluding well-marked appendices not intended for publication). They must contain original contributions, be written in English and be unpublished and not submitted simultaneously for publication elsewhere. Tool demo papers must describe a completed, robust and well-documented tool -- highlighting the overall functionality of the tool, the interfaces of the tool, interesting examples and applications of the tool, an assessment of the tool's strengths and weaknesses, and a summary of documentation/support available with the tool. The body of the paper must be no longer than 6 pages in length (including bibliography), and it should give an overview of the tool, the methodology associated with its use, a summary of how the tool has been applied and to what effect, and it should indicate what supporting artifacts (user manual, example repository, downloads, etc) are available. This material will be included in the ENTCS proceedings if the paper is accepted. In addition, the paper should include an appendix (limited to six pages) that gives an outline of the proposed demo presentation (this material will NOT appear in the ENTCS proceedings). Program Committee ================= Wolfgang Ahrendt Chalmers University of Technology, SWE Elvira Albert (co-chair) Complutense University of Madrid, ESP June Andronick Security Lab - Gemalto, FRA David Aspinall University of Edinburgh, UK Cristina Cifuentes Sun Microsystems, AUS Samir Genaim (co-chair) Technical University of Madrid, ESP Sara Kalvala The University of Warwick, UK Gerwin Klein The University of New South Wales, AUS Francesco Logozzo Microsoft Research, USA David Pichardie INRIA Rennes (IRISA), FRA Tamara Rezk INRIA-Microsoft, FRA Fausto Spoto University of Verona, ITA Eran Yahav IBM T.J. Watson Research Center, USA From ppdp08-cfp at clip.dia.fi.upm.es Tue Sep 2 07:02:09 2008 From: ppdp08-cfp at clip.dia.fi.upm.es (WLPE-08) Date: Tue Sep 2 07:00:45 2008 Subject: [Haskell] WLPE'08 - Call for Papers Message-ID: WLPE'08 -- Call for Papers The 18th Workshop on Logic-based methods in Programming Environments http://www.clip.dia.fi.upm.es/Conferences/WLPE08/ December 9th-13th 2008, Udine, Italy (Satellite Workshop of ICLP 2008) The 18th Workshop on Logic-based methods in Programming Environments will take place in Udine (Italy), as a satellite workshop of ICLP 2008, the 24th International Conference on Logic Programming. This workshop will continue the series of successful international workshops on logic programming environments held in Ohio, USA (1989), Eilat, Israel (1990), Paris, France (1991), Washington D.C., USA (1992), Vancouver, Canada (1993), Santa Margherita Ligure, Italy (1994), Portland, USA (1995), Leuven, Belgium (1997), Las Cruces, USA (1999), Paphos, Cyprus (2001), Copenhagen, Denmark (2002), Mumbai, India (2003), Saint Malo, France (2004), Sitges (Barcelona), Spain (2005), Seattle, USA (2006) and Porto, Portugal (2007). More information about the series of WLPE workshops can be found at http://www.cs.usask.ca/projects/envlop/WLPE/ The workshop aims at providing an informal meeting for researchers working on logic-based methods and tools which support program development and analysis. This year, we plan to continue and consolidate the shift in focus from environmental tools for logic programming to logic-based environmental tools for programming in general, so that this workshop can be possibly interesting for a wider scientific community. In addition to papers describing more conceptual and theoretical work, the call for papers will solicit papers describing the implementation of, and the experience with, such tools. Areas particularly relevant to the workshop include (but are not limited to): - static and dynamic analysis - debugging and testing - program verification and validation - code generation from specifications - termination and non-termination analysis - reasoning on occurs-check freeness and determinacy - profiling and performance analysis - type- and mode analysis - module systems - optimization tools Authors who are interested in taking part in the workshop, but are unsure if their work falls within its scope, are invited to contact the organizers and will be given suitable advice. Workshop Organizers ------------------- Puri Arenas Facultad de Informatica Universidad Complutense de Madrid 28040-Madrid, Spain Email: puri@sip.ucm.es Phone: +34 91 394 76 33 Fax: +34 91 336 50 18 http://www.clip.dia.fi.upm.es/puri Damiano Zanardini Facultad de Informatica Universidad Polit????cnica de Madrid 28660-Boadilla del Monte, Madrid, Spain Email: damiano@clip.dia.fi.upm.es Phone: +34 91 336 74 48 Fax: +34 91 394 75 29 http://www.clip.dia.fi.upm.es/damiano Program Committee ----------------- - Puri Arenas, Universidad Complutense de Madrid (ws co-chair) - Michael Codish, Ben-Gurion University of the Negev - Roberta Gori, Universita di Pisa - Arnaud Gotlieb, IRISA/CNRS UMR 6074 - Patricia Hill, University of Leeds - Jacob Howe, City University, London - Sabina Rossi, Universita Ca' Foscari di Venezia - Tom Schrijvers, K.U.Leuven - Alexander Serebrenik, Technische Universiteit Eindhoven - Wim Vanhoof, University of Namur - German Vidal, Universidad Politecnica de Valencia - Damiano Zanardini, Universidad Politecnica de Madrid,(ws co-chair) Important Dates --------------- Submission: September 15th, 2008 (23:59:59 Samoa time (GMT -11)) Notification: October 8th, 2008 Camera-ready: October 26th, 2008 Workshop: December 12nd, to be confirmed Submission ---------- Papers should be submitted to http://www.easychair.org/conferences/?conf=wlpe2008 The length of papers can range from 2 to 15 pages in LNCS style. Informal proceedings will be distributed at the workshop. After the workshop, proceedings will be available on-line in the Computing Research Repository (CoRR). In addition to papers describing conceptual and theoretical work, papers describing the implementation of and the experience with tools are welcome. From duncan.coutts at worc.ox.ac.uk Tue Sep 2 08:27:41 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Tue Sep 2 08:24:51 2008 Subject: [Haskell] REMINDER: OpenSPARC project application deadline this Friday Message-ID: <1220358461.24846.341.camel@localhost> http://haskell.org/opensparc/ The deadline for applications for the Haskell OpenSPARC project is rapidly approaching. Applications have to be sent to: opensparc@community.haskell.org by the end of this week, Friday the 5th September. If you want any comments on your application before you submit it then contact me directly. ?Duncan (project coordinator) In other news, the server that Sun Microsystems donated to the community has just gone online at Chalmers: http://blog.well-typed.com/2008/09/the-new-haskellorg-community-sparc-server-is-online/ From icfp.publicity at googlemail.com Tue Sep 2 10:06:42 2008 From: icfp.publicity at googlemail.com (Matthew Fluet (ICFP Publicity Chair)) Date: Tue Sep 2 10:04:56 2008 Subject: [Haskell] ICFP09 Announcement Message-ID: <53ff55480809020706o574ba463i20bc34ff6d0b8a5d@mail.gmail.com> +--------------------------------------------------------------------+ ANNOUNCEMENT The 14th ACM SIGPLAN International Conference on Functional Programming ICFP 2009 31st August - 2nd September 2009 Edinburgh, United Kingdom ICFP provides a forum for researchers and developers to hear about the latest work on the design, implementations, principles, and uses of functional programming. ICFP 2009 will be held in Scotland's historic capital city of Edinburgh, during the final week of the Edinburgh International Festival. Further information is available from: http://www.cs.nott.ac.uk/~gmh/icfp09.html Graham Hutton General Chair, ICFP 2009 +--------------------------------------------------------------------+ | Dr Graham Hutton Email : gmh@cs.nott.ac.uk | | Functional Programming Lab | | School of Computer Science Web : www.cs.nott.ac.uk/~gmh | | University of Nottingham | | Jubilee Campus, Wollaton Road Phone : +44 (0)115 951 4220 | | Nottingham NG8 1BB, UK | +--------------------------------------------------------------------+ From byorgey at seas.upenn.edu Sat Sep 6 16:29:27 2008 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Sat Sep 6 16:27:31 2008 Subject: [Haskell] Haskell Weekly News: Issue 84 - September 6, 2008 Message-ID: <20080906202927.GA31530@seas.upenn.edu> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20080906 Issue 84 - September 06, 2008 --------------------------------------------------------------------------- Welcome to issue 84 of HWN, a newsletter covering developments in the [1]Haskell community. This is the "This issue is not late since the HWN will henceforth be published on Saturday now that I have real work to do" edition. Featured this week: darcs hacking sprint plans solidify, xmonad 0.8 released, typed sprintf and sscanf, and tons of discussion about everything from functional references to splitting up the base library to the future direction of Haskell. Announcements unicode-properties 3.2.0.0, unicode-names 3.2.0.0. Ashley Yakeley [2]announced the release of the [3]unicode-properties 3.2.0.0 and [4]unicode-names 3.2.0.0 packages, which are representations in Haskell of various data in the Unicode 3.2.0 Character Database. experimental static blog engine in Haskell. jinjing [5]announced the initial release of [6]Panda, an experimental static blog engine written in Haskell. darcs hacking sprint, venues confirmed! (25-26 October). Eric Y. Kow [7]announced that two venues (Brighton, UK and Portland, Oregon, USA) have been confirmed for the [8]darcs hacking sprint on 25-26 October. darcs weekly news #2. Eric Y. Kow The second weekly issue of the [9]darcs weekly news has been published. xmonad 0.8 released!. Don Stewart [10]announced the release of [11]xmonad 0.8, featuring a general purpose "gaps" replacement, locale support, the ability to create your own configuration parsers, and various other [12]enhancements and fixes. POPL logo design contest. Don Stewart [13]forwarded a message announcing a logo design contest for POPL 2009. Dust off your magic markers/photoshop skills and get designing! ICFP09 Announcement. Matthew Fluet [14]announced [15]ICFP 2009, to be held 31st August to 2nd September 2009 in Edinburgh. ICFP provides a forum for researchers and developers to hear about the latest work on the design, implementations, principles, and uses of functional programming. Fast parallel binary-trees for the shootout: Control.Parallel.Strategies FTW!. Don Stewart [16]announced that the Computer Language Shootout recently got a quad core 64 bit machine, and outlined a plan and some initial results for porting the Haskell entries to take advantage of the available parallelism. The initial view on typed sprintf and sscanf. oleg [17]announced an implementation of typed sprintf and sscanf functions sharing the same formatting specifications, which also led to some interesting discussion and alternative proposals. Discussion Generalize groupBy in a useful way?. Bart Massey [18]proposed changing the implementation of groupBy to extend its usefulness for predicates which are not equivalence relations. Splitting SYB from the base package in GHC 6.10. Jos?? Pedro Magalh??es [19]initiated a discussion regarding splitting the SYB libraries out of the base package for GHC 6.10. The base library and GHC 6.10. Ian Lynagh initiated a [20]discussion on further splitting up the base package for GHC 6.10. Functional references. Tim Newsham began a [21]discussion on functional references and the possibility of merging the existing four or five implementations into something more standard. Types and Trees. Matt Morrow [22]wrote something about types and type representations, involving some commutative diagrams and some code. I haven't read it yet but it looks neat! Research language vs. professional language. Ryan Ingram started an interesting [23]discussion on the future direction(s) of the Haskell language. language proposal: ad-hoc overloading. Ryan Ingram [24]proposed adding ad-hoc name overloading to Haskell, prompting quite a bit of discussion. Top Level <-. Ashley Yakeley originally [25]asked whether there is any interest in implementing a top level "<-" to run monadic code. This set off a cascade of discussion the likes of which have been rarely seen on the Cafe. I would tell you what the discussion has been about but I must confess that I haven't read it. Blog noise [26]Haskell news from the [27]blogosphere. * Eric Kow (kowey): [28]darcs hacking sprint (25-26 October 2008). * Magnus Therning: [29]Confusion with HaskellDB. * Xmonad: [30]xmonad 0.8 released!. * Real-World Haskell: [31]Speaking in Silicon Valley next week. * Luke Palmer: [32]Composable Input for Fruit. * Luke Palmer: [33]Slicing open the belly of the IO monad in an alternate universe. * "FP Lunch": [34]Modular Monad Transformers. * Douglas M. Auclair (geophf): [35]Fuzzy unification parser in Haskell. * Bjoern Edstroem: [36]Speeding up Haskell with C -- a very short introduction. * Eric Kow (kowey): [37]darcs weekly news #2. * Roman Cheplyaka: [38]Physics and polyhedra. * Well-Typed.Com: [39]The new haskell.org community SPARC server is online. * Douglas M. Auclair (geophf): [40]A stream of primes as Comonad. * Eric Kidd: [41]Ubiquitous Hoogle. Eric shows how to integrate a [42]Hoogle search command into [43]Ubiquity. * Dan Piponi (sigfpe): [44]Untangling with Continued Fractions: Part 3. The vector space monad and rational tangles. Quotes of the Week * dons: maybe we should do a "recommend RWH to a java programmer" campaign :) * gwern: we fill fight them in the registers, we will fight them in the caches; we shall fight them in the core, and even in the backing store. And we shall never surrender! 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://article.gmane.org/gmane.comp.lang.haskell.libraries/9973 3. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/unicode-properties 4. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/unicode-names 5. http://article.gmane.org/gmane.comp.lang.haskell.cafe/44181 6. http://jinjing.blog.easymic.com/ 7. http://article.gmane.org/gmane.comp.lang.haskell.cafe/44164 8. http://wiki.darcs.net/index.html/Sprints 9. http://code.haskell.org/darcs/darcs-news 10. http://article.gmane.org/gmane.comp.lang.haskell.cafe/44157 11. http://xmonad.org/ 12. http://haskell.org/haskellwiki/Xmonad/Notable_changes_since_0.7 13. http://article.gmane.org/gmane.comp.lang.haskell.cafe/44069 14. http://article.gmane.org/gmane.comp.lang.haskell.general/16413 15. http://www.cs.nott.ac.uk/~gmh/icfp09.html 16. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43968 17. http://article.gmane.org/gmane.comp.lang.haskell.general/16405 18. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/10016 19. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/9962 20. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/9929 21. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/44098 22. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/44028 23. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/43933 24. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/43897 25. http://thread.gmane.org/gmane.comp.lang.haskell.general/16393 26. http://planet.haskell.org/ 27. http://haskell.org/haskellwiki/Blog_articles 28. http://koweycode.blogspot.com/2008/09/darcs-hacking-sprint-25-26-october-2008.html 29. http://therning.org/magnus/archives/375 30. http://xmonad.wordpress.com/2008/09/05/xmonad-08-released/ 31. http://www.realworldhaskell.org/blog/2008/09/05/speaking-in-silicon-valley-next-week/ 32. http://luqui.org/blog/archives/2008/08/09/composable-input-for-fruit/ 33. http://luqui.org/blog/archives/2008/08/14/slicing-open-the-belly-of-the-io-monad-in-an-alternate-universe/ 34. http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=111 35. http://logicaltypes.blogspot.com/2008/09/fuzzy-unification-parser-in-haskell.html 36. http://blog.bjrn.se/2008/09/speeding-up-haskell-with-c-very-short.html 37. http://koweycode.blogspot.com/2008/09/darcs-weekly-news-2.html 38. http://physics-dph.blogspot.com/2008/08/physics-and-polyhedra.html 39. http://blog.well-typed.com/2008/09/the-new-haskellorg-community-sparc-server-is-online/ 40. http://logicaltypes.blogspot.com/2008/09/stream-of-primes-as-comonad.html 41. http://www.randomhacks.net/articles/2008/09/01/ubiquitous-hoogle 42. http://www.haskell.org/hoogle/ 43. https://wiki.mozilla.org/Labs/Ubiquity 44. http://sigfpe.blogspot.com/2008/08/untangling-with-continued-fractions_31.html 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 andygill at ku.edu Mon Sep 8 08:30:09 2008 From: andygill at ku.edu (Andy Gill) Date: Mon Sep 8 08:28:05 2008 Subject: [Haskell] Final CFP: Practical Aspects of Declarative Languages 2009 Message-ID: <69D6E32F-2911-4FA2-94BF-9DB385C6CF4B@ku.edu> Hi, By popular demand, the deadline has been extended to the 11th. Please submit! Andy Gill ---------------------------------------------------------------------------------- CALL FOR PAPERS!!! Eleventh International Symposium on Practical Aspects of Declarative Languages 2009 (PADL '09) http://cs.utdallas.edu/padl09/ Savannah Georgia, USA January 19-20, 2009 Co-located with ACM POPL'09 Declarative languages build on sound theoretical bases to provide attractive frameworks for application development. These languages have been successfully applied to vastly different real-world situations, ranging from data base management to active networks to software engineering to decision support systems. New developments in theory and implementation have opened up new application areas. At the same time, applications of declarative languages to novel problems raise numerous interesting research issues. Well-known questions include designing for scalability, language extensions for application deployment, and programming environments. Thus, applications drive the progress in the theory and implementation of declarative systems, and benefit from this progress as well. PADL is a forum for researchers and practitioners to present original work emphasizing novel applications and implementation techniques for all forms of declarative concepts, including, functional, logic, constraints, etc. Topics of interest include: * innovative applications of declarative languages; * declarative domain-specific languages and applications; * practical applications of theoretical results; * new language developments & their impact on applications; * evaluation of implementation techniques on practical applications; * novel uses of declarative languages in the classroom; and * practical experiences PADL 09 welcomes new ideas and approaches pertaining to applications and implementation of declarative languages. PADL 09 will be co-located with the ACM POPL. IMPORTANT DATES AND SUBMISSION GUIDELINES Paper Submission: September 11, 2008 Notification: October 10, 2008 Camera-ready: November 5, 2008 Symposium: January 19-20, 2009 Authors should submit an electronic copy of the full paper (written in English) in Postscript (Level 2) or PDF, in the Springer LNCS format (see http://www.springeronline.com/lncs/ ). In addition to the technical papers of previous PADL conferences, PADL 09 will contain a streamk for application papers. TECHNICAL PAPERS Technical papers must describe original, previously unpublished results, and must not be simultaneously submitted for publication elsewhere. Each submission must be written in English, and include three to four keywords, which will be used to assist us in selecting appropriate reviewers for the paper. Submissions must not exceed 15 pages in Springer LNCS format. APPLICATION PAPERS Application papers are a mechanism to present important practical applications of declarative languages that occur in industry or in areas of research other than computer science. Application papers will be published in the Springer-Verlag conference proceedings, and will be presented in a separate poster session. Application papers, are expected to describe complex and/or real-world applications that rely on an innovative use of declarative languages. Application descriptions, engineering solutions and real-world experiences (both positive and negative) are solicited. The limit for application papers is 3 pages in Springer LNCS format. MOST PRACTICAL PAPER AWARD The Most Practical Paper award will be given to the technical submission that is judged by the program committee to be the best in terms of practicality, originality, and clarity of presentation. The program committee may choose not to make an award, or to make multiple awards. PROGRAM COMMITTEE Lennart Augustsson Credit Suisse (UK) Hasan Davulcu Arizona State University (US) In?s Dutra Universidade do Porto (PT) John Gallagher Roskilde University (DK) Andy Gordon Microsoft Research (UK) Jeff Gray University of Alabama at Birmingham (US) Kevin Hamlen University of Texas at Dallas (US) Fergus Henderson Google (US) Gabriele Keller University of New South Wales (Australia) Michael Kifer SUNY Stony Brook (US) Ilkka Niemel? Helsinki University of Technology (FI) Johan Nordlander Lule? University of Technology (Sweden) Lu?s Pereira Universidade Nova de Lisboa (PT) Tom Schrijvers Katholieke Universiteit Leuven (BE) Lindsey Spratt Onology Works (US) Don Stewart Galois, Inc (US) Walter Wilson Systems Development and Analysis (US) Contacts: For information about papers and submissions, please contact a Program Chair: Andy Gill PC co-Chair - PADL 2009 Dept. of Electrical Engineering & Computer Science The University of Kansas 2001 Eaton Hall 1520 West 15th Street Lawrence, KS 66045-7621 Email: andygill ku.edu Terrance Swift PC co-Chair - PADL 2009 Centre for Artificial Intelligence (CENTRIA) Departamento de Inform?tica, FCT/UNL Quinta da Torre 2829-516 CAPARICA - Portugal Email: tswift cs.sunysb.edu For other information about the conference, please contact: Kevin Hamlen General Chair - PADL 2009 Department of Computer Science University of Texas at Dallas Richardson, TX, USA Email: hamlen utdallas.edu From ppdp08-cfp at clip.dia.fi.upm.es Wed Sep 10 05:12:48 2008 From: ppdp08-cfp at clip.dia.fi.upm.es (WLPE-08) Date: Wed Sep 10 05:10:59 2008 Subject: [Haskell] WLPE'08 - Call for Papers, deadline extended to Sep 21st Message-ID: WLPE'08 -- Call for Papers The 18th Workshop on Logic-based methods in Programming Environments http://www.clip.dia.fi.upm.es/Conferences/WLPE08/ December 9th-13th 2008, Udine, Italy (Satellite Workshop of ICLP 2008) The 18th Workshop on Logic-based methods in Programming Environments will take place in Udine (Italy), as a satellite workshop of ICLP 2008, the 24th International Conference on Logic Programming. This workshop will continue the series of successful international workshops on logic programming environments held in Ohio, USA (1989), Eilat, Israel (1990), Paris, France (1991), Washington D.C., USA (1992), Vancouver, Canada (1993), Santa Margherita Ligure, Italy (1994), Portland, USA (1995), Leuven, Belgium (1997), Las Cruces, USA (1999), Paphos, Cyprus (2001), Copenhagen, Denmark (2002), Mumbai, India (2003), Saint Malo, France (2004), Sitges (Barcelona), Spain (2005), Seattle, USA (2006) and Porto, Portugal (2007). More information about the series of WLPE workshops can be found at http://www.cs.usask.ca/projects/envlop/WLPE/ The workshop aims at providing an informal meeting for researchers working on logic-based methods and tools which support program development and analysis. This year, we plan to continue and consolidate the shift in focus from environmental tools for logic programming to logic-based environmental tools for programming in general, so that this workshop can be possibly interesting for a wider scientific community. In addition to papers describing more conceptual and theoretical work, the call for papers will solicit papers describing the implementation of, and the experience with, such tools. Areas particularly relevant to the workshop include (but are not limited to): - static and dynamic analysis - debugging and testing - program verification and validation - code generation from specifications - termination and non-termination analysis - reasoning on occurs-check freeness and determinacy - profiling and performance analysis - type- and mode analysis - module systems - optimization tools Authors who are interested in taking part in the workshop, but are unsure if their work falls within its scope, are invited to contact the organizers and will be given suitable advice. Workshop Organizers ------------------- Puri Arenas Facultad de Informatica Universidad Complutense de Madrid 28040-Madrid, Spain Email: puri@sip.ucm.es Phone: +34 91 394 76 33 Fax: +34 91 336 50 18 http://www.clip.dia.fi.upm.es/puri Damiano Zanardini Facultad de Informatica Universidad Polit????cnica de Madrid 28660-Boadilla del Monte, Madrid, Spain Email: damiano@clip.dia.fi.upm.es Phone: +34 91 336 74 48 Fax: +34 91 394 75 29 http://www.clip.dia.fi.upm.es/damiano Program Committee ----------------- - Puri Arenas, Universidad Complutense de Madrid (ws co-chair) - Michael Codish, Ben-Gurion University of the Negev - Roberta Gori, Universita di Pisa - Arnaud Gotlieb, IRISA/CNRS UMR 6074 - Patricia Hill, University of Leeds - Jacob Howe, City University, London - Sabina Rossi, Universita Ca' Foscari di Venezia - Tom Schrijvers, K.U.Leuven - Alexander Serebrenik, Technische Universiteit Eindhoven - Wim Vanhoof, University of Namur - German Vidal, Universidad Politecnica de Valencia - Damiano Zanardini, Universidad Politecnica de Madrid,(ws co-chair) Important Dates --------------- Submission: September 21st (extended), 2008 (23:59:59 Samoa time (GMT -11)) Notification: October 8th, 2008 Camera-ready: October 26th, 2008 Workshop: December 12th, to be confirmed Submission ---------- Papers should be submitted to http://www.easychair.org/conferences/?conf=wlpe2008 The length of papers can range from 2 to 15 pages in LNCS style. Informal proceedings will be distributed at the workshop. After the workshop, proceedings will be available on-line in the Computing Research Repository (CoRR). In addition to papers describing conceptual and theoretical work, papers describing the implementation of and the experience with tools are welcome. From Oege.de.Moor at comlab.ox.ac.uk Wed Sep 10 06:31:18 2008 From: Oege.de.Moor at comlab.ox.ac.uk (Oege.de.Moor@comlab.ox.ac.uk) Date: Wed Sep 10 06:29:08 2008 Subject: [Haskell] CC 2009: abstracts due Oct 2 Message-ID: <200809101031.m8AAVIho005182@merc4.comlab.ox.ac.uk> >>> abstracts - Oct 2, full papers - Oct 9 <<< CC 2009 International Conference on Compiler Construction March 22-29, York, United Kingdom Invited Speaker: Vivek Sarkar (Rice University, US) Part of ETAPS 2009 http://www.brics.dk/~mis/CC2009/ CC is a premier forum for presenting research on compilers in the broadest possible sense, including run-time techniques, programming tools, domain-specific languages, novel language constructs and so on. In recent years CC has seen a healthy increase in the number of submissions, in line with its broad outlook; its typical acceptance rate is 20-25%. CC is part of ETAPS, and this year it is held in York (UK), March 22-29 2009. The program committee would particularly welcome submissions from researchers in functional programming on any topic relating to analysis, optimisation and compilation of Haskell programs Abstracts are due on October 2, and the deadline for full paper submission is October 9. Prospective authors are welcome to contact the program chairs, Michael Schwartzbach (mis@brics.dk) and Oege de Moor (oege@comlab.ox.ac.uk) with any queries they might have. From duncan.coutts at worc.ox.ac.uk Wed Sep 10 18:17:00 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Sep 10 18:13:42 2008 Subject: [Haskell] Heads Up: code.haskell.org is upgrading to darcs 2 In-Reply-To: References: <1218367895.7661.252.camel@localhost> Message-ID: <1221085020.5395.35.camel@localhost> This email is for darcs users in general and in particular for people who host a project on code.haskell.org. What we are doing ================= We are upgrading /usr/bin/darcs to version 2 on the machine that hosts code.haskell.org. That means it will be used by everyone who uses ssh to push or pull from a darcs repository on code.haskell.org. Pulling via http is completely unaffected. Do I have to do anything? ========================= No. You do not have to change anything. darcs v2 can talk to darcs v1 clients perfectly well so you do not need to upgrade your local version of darcs. You do not need to change the format of your local or server-side repositories. Darcs v2 works fine with darcs v1 format repositories. Should I change anything? ========================= We recommend that you upgrade your local darcs to version 2. This will allow you to take advantage of substantially faster push/pull operations over ssh (darcs 2 makes far fewer ssh connections). As noted above however it is not necessary for you to upgrade or for you to synchronise your upgrading with anyone else who uses the same repository. It is also possible to use a darcs "v1.5" hashed format locally and continue to use darcs v1 format on the server side. This has some performance and reliability advantages. Again this is something you can decide yourself without coordinating with other users of the repository. If your development style means that you bump into the infamous merging problems with darcs v1 format then you may consider converting your repository to the darcs v2 format. Remember that using darcs 2 with darcs v1 format repositories does not eliminate the merging issue. To banish the merging problems you have to use the darcs v2 format. This is however a more substantial change and has to be synchronised between users of the repository because it involves converting the server side repository to v2 format and all users getting the repository again. So if merging is an issue for you then you should discuss it with other users of your repository. Is this change safe? ==================== Yes. Darcs 2 has a substantial test suite. It has unit tests covering the core patch operations and also over 100 scripts doing functional testing, including network tests. The darcs build-bots run all these tests on all the popular platforms. Additionally, the code in darcs 2 for handling the v1 format is mostly the same as in darcs 1, so there are no big risks in using darcs 2 while continuing to use darcs v1 format repositories. The main change in the v1 format code is bug fixes, instrumentation code for debugging/introspection and more cunning types in the patch handling code that enforces some of the patch invariants. Furthermore, we have done real world tests using copies of all the 153 repositories on code.haskell.org which comes to around 2GB. We wanted to verify a couple things: 1. that using darcs 1 on the client and darcs 2 on the server works fine to pull and push patches. This corresponds to a project where all the users are still using darcs 1. 2. that using a mixture of darcs 1 and darcs 2 clients works when pushing and pulling patches between the clients via the server. This corresponds to a project where some users have upgraded but others have not yet. We tested with darcs 1.0.9 and 2.0.2 in three combinations: client darcs 1, server darcs 1 client darcs 1, server darcs 2 client darcs 2, server darcs 2 The test consisted of obliterating a significant number of patches from each repository and pushing them back. In a separate experiment each repository was converted to darcs v2 format which worked without problem in every case. What if I have problems? ======================== Contact support@community.haskell.org. We have made backups of all the repositories in case there are any critical problems. Thanks to the darcs hackers Eric Kow and Jason Dagit for doing all the hard testing work. Duncan, Ian and Malcolm (part of the community server admin team) From wss at Cs.Nott.AC.UK Thu Sep 11 09:32:37 2008 From: wss at Cs.Nott.AC.UK (Wouter Swierstra) Date: Thu Sep 11 09:30:31 2008 Subject: [Haskell] The Monad.Reader (13) - Call for copy Message-ID: <40286DFD-F177-4312-A9B9-2A9E3CE75E88@Cs.Nott.AC.UK> Call for Copy The Monad.Reader - Issue 13 You may want to pencil in the deadline for the next Monad.Reader: ** February 13, 2009 ** And in case you missed it, Issue 11 was released a few weeks ago with the following three articles: * David F. Place How to Refold a Map * Kenneth Knowles First-Order Logic a la Carte * Douglas M. Auclair MonadPlus: What a Super Monad! Check it out at http://www.haskell.org/haskellwiki/The_Monad.Reader * About the Monad.Reader * The Monad.Reader is an electronic magazine about all things Haskell. It is less formal than journal, but more enduring than a wiki-page or blog. There have been a wide variety of articles, ranging from code fragments, puzzles, book reviews, tutorials, to half-baked research ideas. * Submission Details * Get in touch with me if you intend to submit something - the sooner you let me know what you're up to, the better. Please submit articles for the next issue to me by e-mail (wss at cs.nott.ac.uk). Articles should be written according to the guidelines available from http://www.haskell.org/haskellwiki/The_Monad.Reader Please submit your article in PDF, together with any source files you used. The sources will be released together with the magazine under a BSD license. If you would like to submit an article, but have trouble with LaTeX please let me know and we'll sort something out. All the best, 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/20080911/55044196/attachment-0001.htm From icfp.publicity at googlemail.com Fri Sep 12 10:18:23 2008 From: icfp.publicity at googlemail.com (Matthew Fluet (ICFP Publicity Chair)) Date: Fri Sep 12 10:16:12 2008 Subject: [Haskell] Workshop on Generic Programming: Call for Participation (co-located w/ ICFP08) Message-ID: <53ff55480809120718l3af310b0j75cfe366da48e8c2@mail.gmail.com> Dear all, the Workshop on Generic Programming is only a few days away: 20th September 2008 (http://www.regmaster.com/conf/icfp2008.html). ==> Invited talk: The Generic Paradigm ==> Lambert Meertens (Utrecht University) ==> We have reserved 20 minutes for *lightning talks*. If you plan to ==> attend and if you would like to give a short talk (about half-baked, ==> exciting, new stuff) please drop me a short note. Slots will be ==> reserved on a first-come-first-serve basis. Looking forward to seeing you in Victoria, Ralf Hinze ============================================================================ CALL FOR PARTICIPATION Workshop on Generic Programming 2008 Victoria, Canada, 20th September 2008 http://www.comlab.ox.ac.uk/ralf.hinze/wgp2008/cfp.{html,pdf,ps,txt} The Workshop on Generic Programming is sponsored by ACM SIGPLAN and forms part of ICFP 2008. Previous Workshops on Generic Programming have been held in Marstrand (affiliated with MPC), Ponte de Lima (affiliated with MPC), Nottingham (informal workshop), Dagstuhl (IFIP WG2.1 Working Conference), Oxford (informal workshop), Utrecht (informal workshop), and Portland (affiliated with ICFP). ============================================================================ Preliminary program ------------------- 9:00 - 10:00, Session Chair: Ralf Hinze (University of Oxford) Welcome Invited talk: The Generic Paradigm Lambert Meertens (Utrecht University) 10:30 - 12:00, Session Chair: Jeremy Gibbons (University of Oxford) A Functional Model-View-Controller Software Architecture for Command-oriented Programs Alley Stoughton (Kansas State University) A Lightweight Approach to Datatype-Generic Rewriting Thomas van Noort (Radboud University Nijmegen), Alexey Rodriguez, Stefan Holdermans (Utrecht University), Johan Jeuring (Utrecht University and Open University of the Netherlands), Bastiaan Heeren (Open University of the Netherlands) Lightning talks 13:30 - 15:00, Session Chair: Ralf Hinze (University of Oxford) Report from the program chair Ralf Hinze (University of Oxford) Scala for Generic Programmers Bruno C. d. S. Oliveira, Jeremy Gibbons (University of Oxford) A Comparison of C++ Concepts and Haskell Type Classes Jean-Philippe Bernardy, Patrik Jansson, Marcin Zalewski, Sibylle Schupp, Andreas Priesnitz (Chalmers University of Technology and University of Gothenburg) Lightning talks 15:30 - 17:30, Session Chair: Patrik Jansson (Chalmers University of Technology and University of Gothenburg) Polytypic Programming in Coq Wendy Verbruggen, Edsko de Vries, Arthur Hughes (Trinity College Dublin) Bialgebra Views: A Way for Polytypic Programming to Cohabit with Data Abstraction Pablo Nogueira, Juan Jose Moreno-Navarro (Universidad Politecnica de Madrid) Discussion ============================================================================ From ganesh.sittampalam at credit-suisse.com Fri Sep 12 16:22:23 2008 From: ganesh.sittampalam at credit-suisse.com (Sittampalam, Ganesh) Date: Fri Sep 12 16:20:34 2008 Subject: [Haskell] job advert: senior role at Credit Suisse Message-ID: <78A3C5650E28124399107F21A1FA419401D3B8E1@ELON17P32002A.csfb.cs-group.com> Credit Suisse is seeking to recruit an expert in functional programming for a senior role in the Global Modelling and Analytics Group (GMAG) in the Securities Division. The group consists of about 140 people worldwide. The majority of the group are mathematicians engaged in developing mathematical models for financial products traded by the division. Approximately 20 people are primarily computing experts, based in the Architecture and Delivery (AD) subgroup within GMAG. The successful candidate will be based in the R&D section of AD (7 people), which focuses on projects designed to improve the productivity of the modellers. We are already making heavy use of functional programming within the group, primarily Haskell and F#, and we expect to increase this in the future. Some information about our Haskell projects can be found here: http://www.haskell.org/communities/05-2008/html/report.html#sect7.4; we have recently adopted F# for implementing and deploying models on the .NET platform. Our team will be working closely with the modellers to help them leverage functional programming to improve the design of their code. Key requirements: An exceptional academic track record in functional programming including a significant publication history. Significant experience of "real-world" computing environments, preferably using functional programming. Excellent communication skills in order to convey new ideas to our modelling team. Location: London or New York Contact: Howard Mansell Howard and I will be attending ICFP 2008 and associated workshops - if you'd like to discuss this in person, get in touch with us by email (please email us both), or just grab one of us there. We'll also be talking about some of our Haskell work at ICFP and our F# work at CUFP. Background information: Credit Suisse provides investment banking, private banking and asset management services to clients across the world. Active in over fifty countries and employing more than 45,000 people, Credit Suisse is one of the world's premier banks. There are exceptional opportunities for further growth in new product areas and emerging markets; there are equally exceptional opportunities for the people who can deliver that growth. Credit Suisse offers intellectual challenges, high rewards and global development potential for individuals who share an enthusiasm for business-critical innovation. Credit Suisse provides investment banking, private banking and asset management services to clients across the world. Active in over fifty countries and employing more than 45,000 people, Credit Suisse is one of the world's premier banks. There are exceptional opportunities for further growth in new product areas and emerging markets; there are equally exceptional opportunities for the people who can deliver that growth. Credit Suisse offers intellectual challenges, high rewards and global development potential for individuals who share an enthusiasm for business-critical innovation. The Global Modelling and Analytics Group (GMAG) is responsible for producing state-of-the-art pricing, trading and risk management models for Credit Suisse. These models are used across a range of businesses in the Fixed Income and Equity departments. The group performs the full spectrum of quantitative work, from mathematical modelling through software implementation and delivery, to risk analysis of trades and existing portfolios. The group's mandate covers all major asset classes, including Credit Derivatives, Commodities, Emerging Markets, Equity Derivatives and Convertibles, Exotics, Foreign Exchange, Fund Linked Products, Interest Rate Products and Mortgage Derivatives. GMAG operates globally with over 140 members located in London, New York, Hong Kong, Tokyo, Wroclaw and S?o Paolo. Established in 1990, GMAG stands out as a unified quant group that has been covering all major product areas since its inception. The group has always enjoyed a strong relationship with Trading, Structuring and Sales, assisting them with trade pricing and risk management. As the group is based on the trading floor, it is ideally placed to respond to the financial modelling needs of the businesses it supports. The breadth of GMAG's mandate makes it uniquely positioned to leverage the skills and experience of its members, and to provide a consistent modelling approach across all areas. Over time, the group has developed an extensive suite of pricing models on a common platform with complete integration across all asset classes. Quantitative Analysts in GMAG carry out a range of activities which include the creation of sophisticated mathematical models for the valuation of complex derivatives, development of the technology platform used to deliver models and driving the use of these models throughout the bank. Our Quantitative Analysts typically hold an advanced quantitative degree, have excellent analytical and problem-solving skills, demonstrate creative thinking, have strong programming skills, and are confident communicators. ============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html ============================================================================== -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20080912/0cff7e2f/attachment.htm From byorgey at seas.upenn.edu Sat Sep 13 19:07:27 2008 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Sat Sep 13 19:05:11 2008 Subject: [Haskell] Haskell Weekly News: Issue 85 - September 13, 2008 Message-ID: <20080913230727.GA31569@seas.upenn.edu> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20080913 Issue 85 - September 13, 2008 --------------------------------------------------------------------------- Welcome to issue 85 of HWN, a newsletter covering developments in the [1]Haskell community. Announcements citeproc-hs. Andrea Rossato [2]announced the first release of [3]citeproc-hs, a Haskell implementation of the [4]Citation Style Language. citeproc-hs adds a Bibtex-like citation and bibliographic formatting and generation facility to [5]Pandoc. Twidge. John Goerzen [6]announced the release of [7]Twidge, a command-line Twitter and Identi.ca client. Real World HAppS: Cabalized, Self-Demoing HAppS Tutorial (Version 3). Thomas Hartman [8]announced a new version of [9]happs-tutorial, with a correspondingly updated [10]online demo. generic list functions fixed. Jim Apple reported that genericTake, genericDrop, and genericSplitAt have [11]been fixed so they are now total functions (they used to fail on negative integer inputs, unlike their ungeneric counterparts). The Monad.Reader (13) - Call for copy. Wouter Swierstra [12]announced a call for copy for Issue 13 of the [13]Monad.Reader. The deadline for submitting articles is February 13, 2009. Heads Up: code.haskell.org is upgrading to darcs 2. Duncan Coutts [14]announced that /usr/bin/darcs on code.haskell.org will soon be upgraded to version 2. Most users should be unaffected as darcs 2 works just fine with repositories in darcs 1 format, and has been extensively tested for correctness. Discussion packages and QuickCheck. Conal Elliott [15]asked what methods of organization people use to package up QuickCheck tests for their libraries. Hackage needs a theme song!. Jason Dagit wrote a [16]theme song for Hackage! Jobs Gamr7. Lionel Barret De Nazaris [17]announced that [18]Gamr7, a startup in France focused on procedural city generation for the game and simulation market, is looking for a senior developer/technical director. senior role at Credit Suisse. Ganesh Sittampalam [19]announced that [20]Credit Suisse is seeking to recruit an expert in functional programming for a senior role in the Global Modelling and Analytics Group (GMAG) in the Securities Division. Blog noise [21]Haskell news from the [22]blogosphere. * Douglas M. Auclair (geophf): [23]What is declarative programming?. * John Goerzen (CosmicRay): [24]New Twitter Client: Twidge. * Mark Jason Dominus: [25]Return return. Mark's mind is blown by the code "return return" appearing in a paper by Mark Jones. * Eric Kow (kowey): [26]darcs weekly news #3. * Ketil Malde: [27]The FastQ file format for sequences. * >>> Nathan Sanders: [28]Real World Haskell. Nathan experiments with porting some of his Python code to Haskell. * Andrea Vezzosi (Saizan): [29]Results from GSoC. Andrea's GSoC work on a high-level dependency framework for Cabal is going to be released in a separate package for now, [30]hbuild. * >>> Ricky Clarkson: [31]An IRC Bot in Haskell, 20% code, 80% GRR. Ricky shares his experiences, frustrations, and eventual success writing a simple IRC bot in Haskell. * >>> Yaakov Nemoy: [32]Xmonad 0.8 released. * Luke Palmer: [33]The problem with Coq. ...is, according to Luke, that it doesn't have a nice graphical interface. * >>> James Cowie: [34]Haskell! yes no?. James dives into learning some Haskell. Verdict so far: a "very nice language". Quotes of the Week * EvilTerran: this is hard to express in this type system. i'm going to make my own type system instead! About the Haskell Weekly News New editions are posted to [35]the Haskell mailing list as well as to [36]the Haskell Sequence and [37]Planet Haskell. [38]RSS is also available, and headlines appear on [39]haskell.org. To help create new editions of this newsletter, please see the information on [40]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [41]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://article.gmane.org/gmane.comp.lang.haskell.cafe/44471 3. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/citeproc%2Dhs 4. http://xbiblio.sourceforge.net/csl/ 5. http://johnmacfarlane.net/pandoc/ 6. http://article.gmane.org/gmane.comp.lang.haskell.cafe/44453 7. http://software.complete.org/twidge 8. http://article.gmane.org/gmane.comp.lang.haskell.cafe/44410 9. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/happs-tutorial 10. http://happstutorial.com:5001/ 11. http://hackage.haskell.org/trac/ghc/ticket/2533 12. http://article.gmane.org/gmane.comp.lang.haskell.general/16420 13. http://www.haskell.org/haskellwiki/The_Monad.Reader 14. http://article.gmane.org/gmane.comp.lang.haskell.general/16419 15. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/44259 16. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/44450 17. http://article.gmane.org/gmane.comp.lang.haskell.cafe/44211 18. http://www.gamr7.com/ 19. http://article.gmane.org/gmane.comp.lang.haskell.general/16422 20. http://www.credit-suisse.com/ 21. http://planet.haskell.org/ 22. http://haskell.org/haskellwiki/Blog_articles 23. http://logicaltypes.blogspot.com/2008/09/what-is-declarative-programming.html 24. http://changelog.complete.org/posts/752-New-Twitter-Client-Twidge.html 25. http://blog.plover.com/prog/springschool95.html 26. http://koweycode.blogspot.com/2008/09/darcs-weekly-news-3.html 27. http://blog.malde.org/index.php/2008/09/09/the-fastq-file-format-for-sequences/ 28. http://sandersn.com/blog/index.php?title=real_world_haskell 29. http://vezzosi.blogspot.com/2008/09/even-if-this-blog-has-been-silent-since.html 30. http://hackage.haskell.org/trac/hackage/wiki/HBuild 31. http://rickyclarkson.blogspot.com/2008/09/irc-bot-in-haskell-20-code-80-grr.html 32. http://loupgaroublond.blogspot.com/2008/09/xmonad-08-released.html 33. http://luqui.org/blog/archives/2008/09/07/the-problem-with-coq/ 34. http://www.jcowie.co.uk/2008/09/haskell-yes-no/ 35. http://www.haskell.org/mailman/listinfo/haskell 36. http://sequence.complete.org/ 37. http://planet.haskell.org/ 38. http://sequence.complete.org/node/feed 39. http://haskell.org/ 40. http://haskell.org/haskellwiki/HWN 41. http://code.haskell.org/~byorgey/code/hwn/ From dth.tss at gmail.com Mon Sep 15 18:11:40 2008 From: dth.tss at gmail.com (David Harley) Date: Mon Sep 15 18:09:44 2008 Subject: [Haskell] ANNOUNCE: qtHaskell 1.1.2, the second preview version of qtHaskell Message-ID: For all interested in Haskell GUIs, there is now a second preview release of qtHaskell - a set of Haskell bindings for Trolltech's Qt available at http://qthaskell.berlios.de There are a number of important changes from the previous version. 1. All FFI pointers are now Foreign Pointers. Those of a type derived from QObject are wrapped as QPointer types and only this wrapper is deleted when their finalizer runs. All other types are automatically deleted by their finalizer when they go out of Haskell scope - or more precisely when the finalizer acutally runs. To make the actual deletion time more easily controlable, most example code uses the function "returnGC" instead of just "return" in callback functions. Also non QObject derived types can be constructed with an alternative constructor qSomeObject_nf which has no finalizer. In this case it's the programmers job to delete the object when required. 2. All Qt enumerated types are implemented as equivalent Haskell types instead of just being of type Int as before. In fact I'v used separate types for enumerated types and their corresponding "flags" types in Qt. For example enum Qt::AlignmentFlag flags Qt::Alignment have equivalent qHaskell types: data CQt__AlignmentFlag a = CQt__AlignmentFlag a type Qt__AlignmentFlag = QEnum(CQt__AlignmentFlag Int) data CQt__Alignment a = CQt__Alignment a type Qt__Alignment = QFlags(CQt__Alignment Int) and a corresponding set of value functions i.e. qt__AlignLeft and qtf__AlignLeft qt__AlignRight and qtf__AlignRight ... The correct value function must be used depending on the parameter type of the api function being called e.g. buttonBox <- qDialogButtonBox1 (qDialogButtonBoxf__Ok + qDialogButtonBoxf__Cancel) for a "flags" type in "widgets.hs", or slider <- qSlider1 qt__Vertical for an "enum" type in "hellogl.hs" 3. All qtHaskell functions which correspond to some overloaded Qt api function use a final numeral in their name which corresponds to the number of parameters in the function. For example: QRect () QRect ( const QPoint & topLeft, const QPoint & bottomRight ) QRect ( const QPoint & topLeft, const QSize & size ) QRect ( int x, int y, int width, int height ) becomes qRect qRect2 qRect4 where qRect2 is a class of functions that can take either QPoint or QSize for their second parameter. This nomeclature has the advantage of being compatible beteen different Qt versions and of making it possible for the qtHaskell programmer to tell what the name of the corresponding qtHaskell function is just by looking at the Qt documentation. N.B. although qtHaskell 1.1.1 programs are not therefore forwards compatible with qtHaskell 1.1.2, only minimal editing is required to upgrade them. 4. The Haskell api code is now split into separate modules for each Qt class. All these modules are exposed in the qtc package, hence by explicitly importing only the required modules for an application, the size of the corresponding executable can be kept to a reasonable size. All example qtHaskell programs have a corresponding program prefixed with "cs", which has only this explicit importing, e.g. "widgets" and "cswidgets". Some example programs have also a corresponding "as" prefixed program which uses explicit module importing and also uses Arthur Widgets, about which see below. 5. There are two new detailed examples, csterrainsim and csPathDeform. csterrainim, is an eventloop based realtime terrain simulator based on OpenGL and has a frame rate almost the same as its C++ original. csPathDeform, is a vector graphic demo program based on a timer interrupt, which uses Qt's Arthur Widgets. Arthur Widgets demos are implemented by Qt as a derived style class ArthurStyle and a generic frame class ArthurFrame, from which the actual demo program frames are derived. Both ArthurStyle and ArthurFrame are replicated in Haskell in the qtHaskell library and used by csPathDeform in an entirely analagous manner to that of the original Qt C++ "deform" demo program. This demonstrates that qtHaskell can be used to build generic objects/interfaces etc, derived from the basic Qt classes just as in C++. Also, use of the ArthurStyle class means that the callback functions are more resource intensive. The implementation of handlers in qtHaskell has been revised for this release, and the csPathDeform has a smoothness and responsiveness that is virtually indistinguishable from the C++ original. Enjoy! David Harley -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ From g9ks157k at acme.softbase.org Tue Sep 16 03:35:57 2008 From: g9ks157k at acme.softbase.org (Wolfgang Jeltsch) Date: Tue Sep 16 03:33:29 2008 Subject: [Haskell] ANNOUNCE: qtHaskell 1.1.2, the second preview version of qtHaskell In-Reply-To: References: Message-ID: <200809160935.57776.g9ks157k@acme.softbase.org> Hello David, does code written with qtHaskell directly call the respective Qt methods internally? A student of mine who also works on a Qt Haskell binding project told me that internally you use a library intended for scripting which interprets method names etc. at runtime. Is this true? Best wishes, Wolfgang From DekuDekuplex at Yahoo.com Thu Sep 18 00:32:42 2008 From: DekuDekuplex at Yahoo.com (Benjamin L.Russell) Date: Thu Sep 18 00:32:31 2008 Subject: [Haskell] Re: Haskell Weekly News: Issue 85 - September 13, 2008 References: <20080913230727.GA31569@seas.upenn.edu> Message-ID: <2bl3d45ef13i0t4ji0m7lbfbg81q113gka@4ax.com> On Sat, 13 Sep 2008 21:06:21 -0700, "Daryoush Mehrtash" wrote: >I have a newbie question.... Does theorem proofs have a use for an >application? Take for example the IRC bot example ( >http://www.haskell.org/haskellwiki/Roll_your_own_IRC_bot) listed below. Is >there any insight to be gained by theorem proofs (as in COQ) into the app? Yes. Basically, if you can prove that the program is correct, then you don't need to test it. While proofs can become very tedious for huge programs with many different kinds of control flow involving very complicated logic, if the program size can be shortened to a reasonable size, then proofs can help shorten development time. This was actually part of the motivation for developing Haskell as a pure functional programming language (i.e., one that prohibits side effects -- see http://www.haskell.org/haskellwiki/Functional_programming). It is generally easier to write proofs for pure functional programming languages than for impure ones. Theorem provers help to automate the process of writing proofs for programs. Djinn (see http://lambda-the-ultimate.org/node/1178) is an example of a theorem prover for Haskell. Given a (Haskell function), it returns a function of that type if one exists. Here is a sample Djinn session (courtesy of http://lambda-the-ultimate.org/node/1178): > calvin% djinn > Welcome to Djinn version 2005-12-11. > Type :h to get help. ># Djinn is interactive if not given any arguments. ># Let's see if it can find the identity function. > Djinn> f ? a->a > f :: a -> a > f x1 = x1 ># Yes, that was easy. Let's try some tuple munging. > Djinn> sel ? ((a,b),(c,d)) -> (b,c) > sel :: ((a, b), (c, d)) -> (b, c) > sel ((_, v5), (v6, _)) = (v5, v6) > ># We can ask for the impossible, but then we get what we ># deserve. > Djinn> cast ? a->b > -- cast cannot be realized. > ># OK, let's be bold and try some functions that are tricky to write: ># return, bind, and callCC in the continuation monad > Djinn> type C a = (a -> r) -> r > Djinn> returnC ? a -> C a > returnC :: a -> C a > returnC x1 x2 = x2 x1 > > Djinn> bindC ? C a -> (a -> C b) -> C b > bindC :: C a -> (a -> C b) -> C b > bindC x1 x2 x3 = x1 (\ c15 -> x2 c15 (\ c17 -> x3 c17)) > > Djinn> callCC ? ((a -> C b) -> C a) -> C a > callCC :: ((a -> C b) -> C a) -> C a > callCC x1 x2 = x1 (\ c15 _ -> x2 c15) (\ c11 -> x2 c11) ># Well, poor Djinn has a sweaty brow after deducing the code ># for callCC so we had better quit. > Djinn> :q > Bye. Other theorem provers include COQ (see http://coq.inria.fr/) and Sparkle (see http://www.cs.ru.nl/Sparkle/) (a theorem prover for the alternative non-strict, purely function programming language Clean (see http://clean.cs.ru.nl/)). -- Benjamin L. Russell From chak at cse.unsw.edu.au Thu Sep 18 10:17:17 2008 From: chak at cse.unsw.edu.au (Manuel M T Chakravarty) Date: Thu Sep 18 10:14:43 2008 Subject: [Haskell] DAMP 2009: Call for Papers Message-ID: <94B51289-3235-45BD-9E85-9D9C38C03A58@cse.unsw.edu.au> C a l l f o r P a p e r s DAMP 2009: Workshop on Declarative Aspects of Multicore Programming Savannah, Georgia, USA --- January 20, 2009 (co-located with POPL 2009) DAMP 2009 is the fourth in a series of one-day workshops seeking to explore ideas in programming language design that will greatly simplify programming for multicore architectures, and more generally for tightly coupled parallel architectures. DAMP 2009 is co-located with the ACM SIGPLAN - SIGACT Symposium on Principles of Programming Languages (POPL 2009). The emphasis will be on functional and (constraint-)logic programming, but any programming language ideas that aim to raise the level of abstraction are welcome. DAMP seeks to gather together researchers in declarative approaches to parallel programming and to foster cross fertilization across different approaches. For further information, a CFP flyer, and details on paper submissions, see http://www.cse.unsw.edu.au/~pls/damp09/ Paper submission deadline is 10th October 2008! From leather at cs.uu.nl Fri Sep 19 12:05:06 2008 From: leather at cs.uu.nl (Sean Leather) Date: Fri Sep 19 12:02:41 2008 Subject: [Haskell] ANNOUNCE: Extensible and Modular Generics for the Masses (EMGM) 0.1 Message-ID: <3c6288ab0809190905h171fe0a6i3aac97454ba700e@mail.gmail.com> Extensible and Modular Generics for the Masses ============================================== Extensible and Modular Generics for the Masses (EMGM) is a library for generic programming in Haskell using type classes. This is the initial release of a maintained library for EMGM. Other versions have previously existed in various states from various sources. We plan to continue updating and maintaining this version. Visit the home page: http://www.cs.uu.nl/wiki/GenericProgramming/EMGM Features -------- The primary features of EMGM include: * Datatype-generic programming using sum-of-product views * Large collection of ready-to-use generic functions * Included support for standard datatypes: lists, Maybe, tuples * Easy to add support for new datatypes * Type classes make writing new functions straightforward in a structurally inductive style * Generic functions are extensible with ad-hoc cases for arbitrary datatypes * Good performance of generic functions The features of this distribution include: * The API is thoroughly documented with Haddock * Fully tested with QuickCheck and HUnit * Program coverage ensures that all useful code has been touched by tests * Tested on both Mac and Windows systems Requirements ------------ EMGM has the following requirements: * GHC 6.8.1 - It has been tested with versions 6.8.3 and 6.9.20080916. * Cabal library 1.2.1 - It has been tested with versions 1.2.3 and 1.4.0.1. Download & Source ----------------- Use caball-install: cabal install emgm Get the package: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/emgm Get the source: svn checkout https://svn.cs.uu.nl:12443/repos/dgp-haskell/EMGM Examples -------- Check out the examples: https://svn.cs.uu.nl:12443/viewvc/dgp-haskell/EMGM/examples/ Bugs & Support -------------- Report issues or request features: http://code.google.com/p/emgm/ Discuss EMGM with the authors, maintainers, and other interested persons: http://www.haskell.org/mailman/listinfo/generics Credits ------- The research for EMGM originated with Ralf Hinze. It was extended with work by Bruno Oliveira and Andres L?h. More details of the library functionality were explored by Alexey Rodriguez. We are very grateful to all of these people for the foundation on which this library was built. The current authors and maintainers of EMGM are: * Sean Leather * Jos? Pedro Magalh?es * Alexey Rodriguez * Andres L?h -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20080919/98272ec1/attachment.htm From dons at galois.com Fri Sep 19 18:43:29 2008 From: dons at galois.com (Don Stewart) Date: Fri Sep 19 18:40:55 2008 Subject: [Haskell] Re: [Haskell-cafe] ANNOUNCE: Extensible and Modular Generics for the Masses (EMGM) 0.1 In-Reply-To: <3c6288ab0809190905h171fe0a6i3aac97454ba700e@mail.gmail.com> References: <3c6288ab0809190905h171fe0a6i3aac97454ba700e@mail.gmail.com> Message-ID: <20080919224329.GL11802@scytale.galois.com> leather: > Extensible and Modular Generics for the Masses > ============================================== > > Extensible and Modular Generics for the Masses (EMGM) is a library for > generic programming in Haskell using type classes. > > This is the initial release of a maintained library for EMGM. Other > versions have previously existed in various states from various sources. > We plan to continue updating and maintaining this version. > > Visit the home page: > > [1]http://www.cs.uu.nl/wiki/GenericProgramming/EMGM > Now in Arch Linux, http://aur.archlinux.org/packages.php?ID=20070 Come on Debian! -- Don From byorgey at seas.upenn.edu Sat Sep 20 11:25:54 2008 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Sat Sep 20 11:23:22 2008 Subject: [Haskell] Haskell Weekly News: Issue 86 - September 20, 2008 Message-ID: <20080920152554.GA2459@seas.upenn.edu> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20080920 Issue 86 - September 20, 2008 --------------------------------------------------------------------------- Welcome to issue 86 of HWN, a newsletter covering developments in the [1]Haskell community. Lots of NEW stuff this week! A new generics library, new versions of Pandoc and darcs, a new website for xmonad, a new GADT/type family inference engine for GHC, a Haskell binding for Qt, and some new, astonishingly elegant ideas from Oleg. Also, here's hoping that everyone has a lot of fun at ICFP! Announcements GHC version control. Simon Peyton-Jones [2]sent out a revised proposal for GHC version control. darcs 2.0.3pre1. Eric Kow [3]announced the first pre-release of [4]darcs 2.0.3, featuring a few major bug fixes and a handful of interesting features. EMGM. Sean Leather [5]announced a release of [6]Extensible and Modular Generics for the Masses (EMGM), a library for generic programming in Haskell using type classes. Pandoc 1.0.0.1. John MacFarlane [7]announced the release of [8]pandoc 1.0.0.1, the swiss army knife of text markup formats. Iteratee-based IO. oleg [9]described a [10]safe, declarative approach to input processing which will be the subject of a talk at DEFUN08 on September 27. MetaHDBC paper. Mads Lindstroem [11]announced a [12]draft version of a paper about the [13]MetaHDBC library, which uses Template Haskell to do type-safe database access. Comments are welcomed, especially about the overall quality of the paper, whether it can be called scientific, and anything Mads could do to improve the paper. qtHaskell 1.1.2. David Harley [14]announced a second preview release of [15]qtHaskell, a set of Haskell bindings for Trolltech's Qt. Discussion Library design question. Andre Nathan [16]asked for advice on designing a simple graph library. The resulting discussion included an analysis of using the State monad versus a more functional approach. A round of golf. Creighton Hogg [17]learns about laziness by [18]making grown men cry. XML (HXML) parsing :: GHC 6.8.3 space leak from 2000. Lev Walkin [19]discovers a nice example of an obscure class of space leaks while writing some XML-processing code, prompting an in-depth analysis by Simon Marlow. Proofs and commercial code. Daryoush Mehrtash [20]asked about automated proof tools and techniques, and their uses in the real world. Blog noise [21]Haskell news from the [22]blogosphere. * Creighton Hogg: [23]Haskell Cafe or: How I learned to stop worrying & love laziness. * Douglas M. Auclair (geophf): [24]Animal as RDR, part II. Doug continues his posts on RDR expert systems. * Ivan Lazar Miljenovic: [25]Getting Real World Haskell Down Under. * Douglas M. Auclair (geophf): [26]Animal: an RDR implementation study. Doug describes "ripple-down rules" expert systems, and illustrates the types needed to encode one in Haskell. * Mark Jason Dominus: [27]data Mu f = In (f (Mu f)). Mark writes about fixpoints of type constructors. * John Goerzen (CosmicRay): [28]Switched from KDE to xmonad. John has taken the plunge to xmonad and seems to like it so far! * Eric Kow (kowey): [29]darcs weekly news #4. Pre-release of darcs 2.0.3; darcs hacking sprint next month; code.haskell.org upgrades to darcs 2; and other news. * Mads Lindstroem: [30]MetaHDBC paper (draft). Mads's first paper ever, on using Template Haskell for type-safe database access. Comments welcome! * Braden Shepherdson: [31]xmonad-light 0.8 Released. * Manuel M T Chakravarty: [32]GHC HEAD just got a new inference engine for GADTs and type families.. * Magnus Therning: [33]Haskell and Time. Magnus describes the solution to a problem with Data.Time. * Dan Piponi (sigfpe): [34]Two Papers and a Presentation. * Xmonad: [35]New xmonad website launched. xmonad has a shiny new website! Quotes of the Week * Botje: GHC 11 will have shootout entries as primitives. * wjt: oh, i see what you're doing. ...no, i don't. *splode* * Benjamin Pierce: [on existential types] I have a term, and it has a type. So there. * bos: come on, real programmers use "(((,) <$>) .) . (<*>)" * quicksilver: #haskell : Sometimes we answer your question, sometimes we lay hideous traps which will devour your soul. It's a risk you take. * harrison: [on computing 1000000!] it is the same as factorial 999999 * 1000000, big deal About the Haskell Weekly News New editions are posted to [36]the Haskell mailing list as well as to [37]the Haskell Sequence and [38]Planet Haskell. [39]RSS is also available, and headlines appear on [40]haskell.org. To help create new editions of this newsletter, please see the information on [41]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [42]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://www.haskell.org//pipermail/libraries/2008-September/010661.html 3. http://www.haskell.org//pipermail/haskell-cafe/2008-September/047664.html 4. http://www.darcs.net/darcs-2.0.3pre1.tar.gz 5. http://www.haskell.org//pipermail/haskell-cafe/2008-September/047751.html 6. http://www.cs.uu.nl/wiki/GenericProgramming/EMGM 7. http://www.haskell.org//pipermail/haskell-cafe/2008-September/047437.html 8. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/pandoc 9. http://article.gmane.org/gmane.comp.lang.haskell.cafe/44828 10. http://okmij.org/ftp/Haskell/Iteratee/ 11. http://article.gmane.org/gmane.comp.lang.haskell.cafe/44713 12. http://lindstroem.files.wordpress.com/2008/09/metahdbc.pdf 13. http://www.haskell.org/haskellwiki/MetaHDBC 14. http://article.gmane.org/gmane.comp.lang.haskell.general/16425 15. http://qthaskell.berlios.de/ 16. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/44733 17. http://abstractabsurd.blogspot.com/2008/09/haskell-cafe-or-how-i-learned-to-stop.html 18. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/44724 19. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/44708 20. http://www.haskell.org//pipermail/haskell-cafe/2008-September/047440.html 21. http://planet.haskell.org/ 22. http://haskell.org/haskellwiki/Blog_articles 23. http://abstractabsurd.blogspot.com/2008/09/haskell-cafe-or-how-i-learned-to-stop.html 24. http://logicaltypes.blogspot.com/2008/09/animal-as-rdr-part-ii.html 25. http://ivanmiljenovic.wordpress.com/2008/09/19/getting-real-world-haskell-down-under/ 26. http://logicaltypes.blogspot.com/2008/09/animal-rdr-implementation-study.html 27. http://blog.plover.com/prog/springschool95-2.html 28. http://changelog.complete.org/posts/756-Switched-from-KDE-to-xmonad.html 29. http://koweycode.blogspot.com/2008/09/darcs-weekly-news-4.html 30. http://lindstroem.wordpress.com/2008/09/18/metahdbc-paper-draft/ 31. http://braincrater.wordpress.com/2008/09/17/xmonad-light-08-released/ 32. http://justtesting.org/post/50500880 33. http://therning.org/magnus/archives/389 34. http://sigfpe.blogspot.com/2008/09/two-papers-and-presentation.html 35. http://xmonad.wordpress.com/2008/09/14/new-xmonad-website-launched/ 36. http://www.haskell.org/mailman/listinfo/haskell 37. http://sequence.complete.org/ 38. http://planet.haskell.org/ 39. http://sequence.complete.org/node/feed 40. http://haskell.org/ 41. http://haskell.org/haskellwiki/HWN 42. http://code.haskell.org/~byorgey/code/hwn/ From duncan.coutts at worc.ox.ac.uk Sat Sep 20 11:37:08 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Sat Sep 20 11:32:18 2008 Subject: [Haskell] OpenSPARC project applicant chosen Message-ID: <1221925028.5395.674.camel@localhost> I am very pleased to announce that we have chosen Ben Lippmeier for the OpenSPARC project. ?Congratulations Ben! Ben will spend three months hacking on GHC to make it perform well on the latest multi-core OpenSPARC chips. I would also like to thank the other people who applied. The reviewers were very impressed by the number of strong applications. About the project ----------------- http://haskell.org/opensparc/ It is a joint project between Sun Microsystems and the Haskell.org community. Sun has provided the funding for Ben to work on this full time for three months and has donated a powerful SPARC server for him and the rest of us to use. Ben will be working with Roman Leshchinskiy as a mentor and Darryl Gove as an adviser. ?Roman works on Data Parallel Haskell at UNSW and ?Darryl is a senior staff engineer in the SPARC compiler team at Sun. If you want to follow the progress we will be using the existing ghc development mailing list: http://www.haskell.org/mailman/listinfo/cvs-ghc and a corner of the ghc development wiki: http://hackage.haskell.org/trac/ghc/wiki/OpenSPARC Duncan (project coordinator) From ivan.miljenovic at gmail.com Sun Sep 21 02:10:32 2008 From: ivan.miljenovic at gmail.com (Ivan Miljenovic) Date: Sun Sep 21 02:07:57 2008 Subject: [Haskell] ANNOUNCE: graphviz-2008.9.20 Message-ID: The latest version of Matthew Sackman's Haskell bindings to Graphviz [1] are now available on Hackage [2]. The reason there's a new release only two weeks after the previous one is that I've made some extensions to it (hence why I'm writing the announcement) that Matthew has kindly included. Since Matthew doesn't recall writing an announcement for graphviz before, here is a brief synopsis of what it does. The Graphviz program is probably _the_ way of drawing graphs (note: this is graph-theory graphs, not function plotting). As it stands, there are currently at least four different Haskell bindings available for Graphviz that I've managed: * The inbuilt Graphviz module in FGL [3] * graphviz (which this announcement is for) * dotgen [4] * A really simple generator by Duncan Coutts [5] In addition to this, the following utilities on Hackage output graphs in Graphviz's .dot format (either using one of the above libraries or their own parser): * prof2dot : converts profiling information to .dot [custom, I think] [6] * flow2Dot : convert textual descriptions to .dot [also custom, I think] [7] * graphmod : draw the dependencies between Haskell modules [uses dotgen] [8] As it can be seen, there's a plethora of possible ways of creating .dot graphs in Haskell. What seperates the graphviz package from the others is: * It uses FGL graphs, rather than passing through lists of nodes and edges manually (of course, if you're not doing any other graph-related activity you might not want to use an FGL graph), whilst providing more control than the default FGL module. * A large list of attributes that can be used are available: http://hackage.haskell.org/packages/archive/graphviz/2008.9.20/doc/html/Data-GraphViz-Attributes.html * A "sane" interface that provides a large degree of customizability (don't specify the attributes manually for each node/edge/etc., just pass through a function that will create the attribute you want). * Limited parsing of .dot format (note that as yet it can't convert a parsed DotGraph into an FGL graph). * The graphToGraph function allows you to pass a graph through Graphviz and then extract out positional information and combine it with the original graph. There are some things things that graphviz can't do, such as drawing undirected graphs and clusters (which dotgen can)... at least until now. The changes that I have made provide the additional functionality to graphviz: * Differentiate between undirected and directed graphs. Whilst FGL represents undirected graphs with a directed graph by duplicating all edges (an undirected edge {1,2} is represented by the two edges (1,2) and (2,1)), you don't really want to draw a graph this way. Furthermore, many reports say that graphviz's "neato" command is better at drawing undirected graphs than the normal "dot" command is. Thus, graphviz will now draw only one edge out of every directed pair. To do so, however, requires that the edge labels are an instance of Ord: if this is a problem for you, please contact either Matthew or myself and we'll see what else we can do (this is required because it's assumed that if two edges (1,2) and (2,1) are meant to represent the undirected edge {1,2}, then their labels must be the same). * Add clustering support. Graphs can be drawn (but as yet not parsed) to provide nested clustering support to arbitrary depth. To do so, you need to provide a function (LNode a -> NodeCluster c a), where NodeCluster is the following recursive data type that indicates in which subcluster a node in the graph belongs: data NodeCluster c a = N (LNode a) | C c (NodeCluster c a) The c type represents the cluster label, and is the parameter by which cluster attributes are assigned. Note that c has to be an instance of Ord. Clusters are not parseable, because there's no clear way of how to convert a cluster to an FGL graph. The interface for graphviz remains unchanged, so you can safely upgrade to this version. Here is an example function of how the library can be used to draw an FGL graph to a (very plain) Graphviz graph (well, it will convert it to the DotGraph datatype, which when shown produces the .dot graph code): graphviz :: (Graph g, Show a, Ord b, Show b) => String -> g a b -> DotGraph graphviz title g = graphToDot g attrs nattrs eattrs where attrs = [Label title] nattrs (_,a) = [Label (show a)] eattrs (_,_,b) = [Label (show b)] Enjoy! [1] http://graphviz.org/ [2] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/graphviz [3] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/fgl [4] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/dotgen [5] http://haskell.org/~duncan/WriteDotGraph.hs [6] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/prof2dot [7] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/flow2dot [8] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/graphmod -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com From dons at galois.com Sun Sep 21 02:38:16 2008 From: dons at galois.com (Don Stewart) Date: Sun Sep 21 02:35:23 2008 Subject: [Haskell] Re: [Haskell-cafe] ANNOUNCE: graphviz-2008.9.20 In-Reply-To: References: Message-ID: <20080921063816.GB20287@scytale.galois.com> ivan.miljenovic: > The latest version of Matthew Sackman's Haskell bindings to Graphviz > [1] are now available on Hackage [2]. The reason there's a new > release only two weeks after the previous one is that I've made some > extensions to it (hence why I'm writing the announcement) that Matthew > has kindly included. And by now you know where which distro has it: http://aur.archlinux.org/packages.php?ID=18343 See also, http://archhaskell.wordpress.com/2008/09/20/arch-haskell-news-sep-20-2008/ :) -- Don From ivan.miljenovic at gmail.com Sun Sep 21 02:45:50 2008 From: ivan.miljenovic at gmail.com (Ivan Lazar Miljenovic) Date: Sun Sep 21 02:43:12 2008 Subject: [Haskell] Re: [Haskell-cafe] ANNOUNCE: graphviz-2008.9.20 In-Reply-To: <20080921063816.GB20287@scytale.galois.com> References: <20080921063816.GB20287@scytale.galois.com> Message-ID: <20080921164550.70ecccf7@gmail.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sat, 20 Sep 2008 23:38:16 -0700 Don Stewart wrote: > > And by now you know where which distro has it: > > http://aur.archlinux.org/packages.php?ID=18343 I'm sorry, Don, but you're late... Gentoo had it last night (as soon as Matthew told me he uploaded it to Hackage)! ;-) - -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkjV7aAACgkQfEfFJ9Jhvyjj1gCfakJfsQX6g8FTc4kY2jDBogVl v/EAn31XYRa98GVY7Nz1G+cfOZ8tegJz =iDT/ -----END PGP SIGNATURE----- From dons at galois.com Sun Sep 21 02:47:09 2008 From: dons at galois.com (Don Stewart) Date: Sun Sep 21 02:44:22 2008 Subject: [Haskell] Re: [Haskell-cafe] ANNOUNCE: graphviz-2008.9.20 In-Reply-To: <20080921164550.70ecccf7@gmail.com> References: <20080921063816.GB20287@scytale.galois.com> <20080921164550.70ecccf7@gmail.com> Message-ID: <20080921064709.GC20287@scytale.galois.com> ivan.miljenovic: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On Sat, 20 Sep 2008 23:38:16 -0700 > Don Stewart wrote: > > > > > And by now you know where which distro has it: > > > > http://aur.archlinux.org/packages.php?ID=18343 > > I'm sorry, Don, but you're late... Gentoo had it last night (as soon as Matthew > told me he uploaded it to Hackage)! ;-) Mwhaha. Game on! -- Don From malcolm.wallace at cs.york.ac.uk Wed Sep 24 01:06:05 2008 From: malcolm.wallace at cs.york.ac.uk (Malcolm Wallace) Date: Wed Sep 24 01:08:32 2008 Subject: [Haskell] ICFP programming contest results Message-ID: <17AABD63-3B4A-4E61-9BE8-E1D333A7F46F@cs.york.ac.uk> The ICFP programming contest results presentation: http://video.google.com/videoplay?docid=-4697764813432201693 Feel free to pass on this link to any other appropriate forum. Regards, Malcolm From Malcolm.Wallace at cs.york.ac.uk Sat Sep 27 16:16:42 2008 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Sat Sep 27 16:13:41 2008 Subject: [Haskell] Symposium videos Message-ID: Guerilla videos of the Haskell Symposium 2008 presentations. Enjoy. Regards, Malcolm -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20080927/ea917967/videos.html From dons at galois.com Sat Sep 27 17:31:14 2008 From: dons at galois.com (Don Stewart) Date: Sat Sep 27 17:28:13 2008 Subject: [Haskell] Symposium videos In-Reply-To: References: Message-ID: <20080927213114.GA14344@scytale.galois.com> Now on haskell.org, http://haskell.org/haskellwiki/Video_presentations/Haskell_Symposium_2008 Great work Malcolm!! Malcolm.Wallace: > Guerilla videos of the Haskell Symposium 2008 presentations. Enjoy. From ivan.miljenovic at gmail.com Mon Sep 29 12:11:58 2008 From: ivan.miljenovic at gmail.com (Ivan Miljenovic) Date: Mon Sep 29 12:08:46 2008 Subject: [Haskell] ANNOUNCE: Graphalyze-0.1 Message-ID: I'd like to announce the initial release of my graph-theoretic analysis library, Graphalyze [1], the darcs repo for which is also available [2]. This is a pre-release of the library that I'm writing for my mathematics honours thesis, "Graph-Theoretic Analysis of the Relationships in Discrete Data". I'll also be releasing a tool that uses this library to analyse the structure of Haskell code, that I'm tentatively calling SourceGraph. As it stands, the library has a number of algorithms included, some of which I've developed from scratch (e.g. clique finder), and others are implementations of published algorithms (mainly the two clustering algorithms). The code is meant to be more readable than efficient, and I wanted to explore ways of developing algorithms that match more closely the way graphs work (which makes FGL a much nicer fit than matrix-based or list-based graph data structures). This library is only a pre-release, as whilst everything in there works (at least it does for me), I'd like to get some feedback from the community, especially since this is my first ever released solo piece of code (I've coded assignments, and worked on projects with others, but have never released anything that I've been solely responsible for before). In particular, have I written the .cabal file correctly? Also, I'd like advice on something else: the part of the library that I'd like to develop still is the reporting framework. The end goal of the library is for the user to specify which algorithms they want applied to their data, and then the library produces a document with the results. This document is _not_ meant to be machine readable. As such, I can think of three options: 1) Plain text, with graphs either in seperate image files (using graphviz) or else as plaintext (FGL's show function). 2) Generate LaTeX code. 3) Generate Pandoc [3] compatible Markdown, and let the user convert it into whatever format they prefer. I'm not a big fan of option 1), as it is probably the most unreadable in general. I'd like to use Pandoc, as it is theoretically possible to convert it to numerous other filetypes, however with inline linking there's still no way (at least I can find) to have images scaled to the correct size automatically. So unless I pre-scale the images, using option 3) and then converting to PDF via LaTex generation of the Markdown sources is probably out. As such, what would you all prefer to read as a documentation-style report of your software? 1) A PDF via LaTeX, which has the advantage of being printable and all in one file 2) HTML via Pandoc, which lets you have the images linked separately from the document, and thus no need to shrink them down (they can stay at the natively generated size, and thus easier to zoom in, etc.). Finally, I'll be giving my honours talk on this next Monday. So if you're in Brisbane on 6 October and interested, it'll be on at 2PM at the University of Queensland (where as part of it I'll be explaining to mathematicians why Haskell is a great language to use for mathematics... or at least trying to!). [1] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Graphalyze [2] http://code.haskell.org/Graphalyze/ [3] http://johnmacfarlane.net/pandoc -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com