From david.waern at gmail.com Mon Aug 4 07:43:23 2008 From: david.waern at gmail.com (David Waern) Date: Mon Aug 4 07:43:10 2008 Subject: [Haskell] ANN: Haddock version 2.2.1 In-Reply-To: References: Message-ID: -------------------------------------------- -- Haddock 2.2.1 -------------------------------------------- A new version of Haddock, the Haskell documentation tool, is out. The homepage will be updated soon, containing a windows binary release. Please use the bug tracker to submit bug reports and feature requests. -------------------------------------------- -- Changes since version 2.1.0 -------------------------------------------- * Support for GHC 6.8.3 * The Hoogle backend is back * Show associated types in the documentation for class declarations * Show type family declarations * Show type equality predicates * Major bug fixes (#1 and #44) * It is no longer required to specify the path to GHC's lib dir * Remove unnecessary parenthesis in type signatures * Minor bug fixes -------------------------------------------- -- Links -------------------------------------------- Homepage: http://www.haskell.org/haddock Hackage page: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haddock-2.2.1 Bugtracker and wiki: http://trac.haskell.org/haddock Mailing list: haskelldoc@haskell.org Code repository: http://code.haskell.org/haddock -------------------------------------------- -- Details -------------------------------------------- This release contains experimental and incomplete support for GHC's Type Families extension. We have basic support for rendering of type family declarations and associated types in the documentation. Type/Data instances are not shown in the documentation at all, and associated types are not shown for class instances. Feedback is appreciated, especially for ideas of how to render type family instances. Use either the bugtracker, or send a mail to the mailing list. We have also got the Hoogle backend back, thanks to Neil Mitchell! The plan is to be compatible with the upcoming pre-release of Hoogle 4, which is being developed by Neil as a Summer of Code project. -------------------------------------------- -- Get Involved -------------------------------------------- Haddock is an important project, as it is part of the Haskell infrastructure core. The code base is gradually becoming easier to read, better documented and more stable, but more work is needed. To get involved, start by grabbing the code at http://code.haskell.org/haddock then take a look at the bug and feature tracker at http://trac.haskell.org/haddock for things to work on. David From ppdp08-cfp at clip.dia.fi.upm.es Mon Aug 4 09:15:54 2008 From: ppdp08-cfp at clip.dia.fi.upm.es (WLPE-08) Date: Mon Aug 4 09:16:01 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 Politecnica 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: TBA (probably Dec 9th or Dec 13th, half-day) 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 icfp.publicity at googlemail.com Mon Aug 4 17:43:48 2008 From: icfp.publicity at googlemail.com (Matthew Fluet (ICFP Publicity Chair)) Date: Mon Aug 4 17:43:34 2008 Subject: [Haskell] ICFP08 Call for Participation Message-ID: <53ff55480808041443s74abdbf0w4ffd04dd9265f14e@mail.gmail.com> ===================================================================== Call for Participation The 13th ACM SIGPLAN International Conference on Functional Programming (ICFP 2008) http://www.icfpconference.org/icfp2008 Victoria, BC, Canada, 22-24 September 2008 ===================================================================== ICFP 2008 provides a forum for researchers and developers to hear about the latest work on the design, implementations, principles, and uses of functional programming. The conference covers the entire spectrum of work, from practice to theory, including its peripheries. Preliminary program: * http://www.icfpconference.org/icfp2008/schedule.html * Invited speakers: + Butler Lampson, Microsoft Research; Lazy and Speculative Execution in Computer Systems + Olivier Danvy, University of Aarhus; Defunctionalized Interpreters for Higher-Order Languages + Mark Jones, Portland State University; Polymorphism and Page Tables -- Systems Programming From a Functional Programmer's Perspective Schedule including related workshops: * Sep 20: ACM SIGPLAN Workshop on Generic Programming * Sep 20: ACM SIGPLAN Workshop on Mechanizing Metatheory * Sep 20: ACM SIGPLAN Workshop on Scheme and Functional Programming * Sep 21: ACM SIGPLAN Workshop on ML * Sep 21: ACM SIGPLAN Functional and Declarative Programming in Education * Sep 22-24: ICFP08 * Sep 25: ACM SIGPLAN Haskell Symposium * Sep 25: Functional Programming Developer Tracks * Sep 26: Commercial Users of Functional Programming * Sep 27: ACM SIGPLAN Erlang Workshop * Sep 27: Functional Programming Developer Tracks Registration information: * http://www.regmaster.com/conf/icfp2008.html * Early registration deadline: August 20, 2008 Conference hotel accommodation information: * http://www.deltahotels.com/groups/online/VIC/acm.php * Conference rate deadline: August 18, 2008 * Wiki page to coordinate room-sharing: http://www.icfpconference.org/pmwiki/pmwiki.php?n=Main.ICFP08RoomShare Conference organizers: * General Chair: James Hook (Portland State University) * Program Chair: Peter Thiemann (Universit?t Freiburg) * Local Arrangements Chair: George Tzanetakis (University of Victoria) * Workshop Co-Chairs: Michael Sperber (DeinProgramm) and Graham Hutton (University of Nottingham) * Programming Contest Co-Chairs: John Reppy (University of Chicago) and Tim Sheard (Portland State University) * Publicity Chair: Matthew Fluet (Toyota Technological Institute at Chicago) From gmh at Cs.Nott.AC.UK Tue Aug 5 07:14:55 2008 From: gmh at Cs.Nott.AC.UK (Graham Hutton) Date: Tue Aug 5 07:19:09 2008 Subject: [Haskell] Lectureship in Functional Programming, Nottingham Message-ID: <1961.1217934895@cs.nott.ac.uk> Dear all, We are currently seeking a new Lecturer (Assistant Professor) in the Functional Programming Lab in Nottingham, a recently formed research group that comprises Thorsten Altenkirch, Graham Hutton, Henrik Nilsson, four research fellows, and eleven PhD students. Applications from the Haskell community are encouraged! The closing date for applications is *** Friday 15th August 2008 *** Best wishes, Graham +-----------------------------------------------------------------+ UNIVERSITY OF NOTTINGHAM School of Computer Science Lectureship in Functional Programming Applications are invited for the above post in the School of Computer Science. The successful candidate will be expected to participate in the School's teaching activities and contribute to research in the recently formed Functional Programming Laboratory. Candidates must hold a PhD or equivalent in a relevant subject, have an excellent publication record and the ability to teach at undergraduate and postgraduate level. It is desirable that candidates have a track record of external research funding, collaboration across disciplines, experience of different types of assessment and higher education quality assurance. They should also have the ability to play a role in the routine running of the School of Computer Science. The Functional Programming Laboratory covers a broad range of topics in the theory, practice, and implementation of functional programming languages. Current interests include type theory, language design, program semantics, program verification, modelling and simulation, category theory, programming tools, and quantum programming. Applications are welcome from any area that complements existing research strengths in the laboratory. Informal enquiries may be addressed to Dr T Altenkirch, tel: 0115 846 6516, Email: Thorsten.Altenkirch@Nottingham.ac.uk or Dr G Hutton, tel: 0115 951 4220, Email: Graham.M.Hutton@Nottingham.ac.uk. School of Computer Science : http://nottingham.ac.uk/cs Functional programming lab : http://sneezy.cs.nott.ac.uk/joomla/ How to apply : http://jobs.nottingham.ac.uk/CJ24461S Closing date : 15th August 2008 +-----------------------------------------------------------------+ | 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 | +-----------------------------------------------------------------+ 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. From byorgey at seas.upenn.edu Wed Aug 6 11:03:26 2008 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Wed Aug 6 11:03:11 2008 Subject: [Haskell] Haskell Weekly News: Issue 80 - August 6, 2008 Message-ID: <20080806150326.GA20321@minus.seas.upenn.edu> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20080806 Issue 80 - August 6, 2008 --------------------------------------------------------------------------- Welcome to issue 80 of HWN, a newsletter covering developments in the [1]Haskell community. Community News Brent Yorgey (byorgey, your friendly neighborhood HWN editor) has completed a move to Philadelphia and looks forward to starting a PhD in the programming languages group at U Penn next month. Roman Cheplyaka (Feuerbach) won second prize at the 2008 [2]International Mathematics Competition! Announcements prof2dot, version 0.4.1. Gregory Wright [3]announced the release of prof2dot, a graphical profiling tool for use with GHC. prof2dot is a filter that takes the profiling output generated by running a GHC-compiled program with the "+RTS -pix -RTS", option and turns it into a graphviz dot file. GHC switching to git. Simon Marlow [4]announced that the GHC team has made the decision to switch the version control system hosting the GHC repository from darcs to git. Haddock 2.2.1. David Waern [5]announced the release of version 2.2.1 of Haddock, the Haskell documentation tool. Haskore tutorial. jinjing is creating [6]a Haskore tutorial while learning it. Suggestions and corrections are welcome. Hoogle 4 beta. Neil Mitchell [7]announced the availability of beta versions of Hoogle 4, both a [8]web client and [9]command-line version. Testing and [10]feedback welcome! Design your own xmonad shirt. David Lazar has prepared a design on [11]spreadshirt under Designs > Computer > Programming. Choose the color and other formatting and get your very own custom xmonad shirt! Google Summer of Code Progress updates from participants in the 2008 [12]Google Summer of Code. Generic tries. Jamie Brandon is working on a library for efficient maps using generalized tries. This week, he has worked on implementing AVL trees and has created several [13]more [14]benchmarks. Hoogle 4. Neil Mitchell (ndm) is working on [15]Hoogle 4. [16]This week, he finished up type search, which now gives much better results than Hoogle 3. He also [17]released a [18]public beta version of the command-line interface. [19]Bug reports or feature requests are welcome. DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a [20]physics engine using [21]Data Parallel Haskell. [22]Last week, he won second prize at the 2008 International Mathematics Competition; while he was away he also found time to read several papers on broad phase collision detection and to begin thinking about [23]general convex polyhedra. GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC. Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a [24]make-like dependency analysis framework for Cabal. Language.C. Benedikt Huber (visq) is [25]working on Language.C, a standalone parser/pretty printer library for C99. GHC API. Thomas Schilling (nominolo) is working on [26]improvements to the GHC API. Discussion poll: how can we help you contribute to darcs?. Eric Kow (kowey) [27]asked how the darcs team could better encourage more people to contribute, precipitating a long and productive discussion with many good suggestions. Jobs Lectureship in Functional Programming, Nottingham. Graham Hutton [28]announced an opening for a Lecturer (Assistant Professor) in the Functional Programming Lab in Nottingham, a recently formed research group that comprises Thorsten Altenkirch, Graham Hutton, Henrik Nilsson, four research fellows, and eleven PhD students. Applications from the Haskell community are encouraged! The closing date for applications is Friday, 15th August 2008. Blog noise [29]Haskell news from the [30]blogosphere. * Roman Cheplyaka: [31]Physics and polyhedra. * Chris Done: [32]Kibro: Haskell, lighttpd and fastcgi. * Neil Mitchell: [33]Hoogle 4.0 web client preview. * >>> Sven Heyll: [34]Lazy Evaluation (there be dragons and basement cats). * Clifford Beshers: [35]Two-dimensional zip. * Brent Yorgey: [36]Philadelphia!. * Luke Plant: [37]Haskell API docs suck. A lot.. * Neil Mitchell: [38]Hoogle 4.0 release (beta, command line). * Mikael Johansson (Syzygy-): [39]The end of the line. * Jamie Brandon: [40]Yet more mini benchmarks. * Douglas M. Auclair (geophf): [41]Combinators in Haskell. * Holumbus: [42]Search Packages. * Douglas M. Auclair (geophf): [43]How do I get better?. * Neil Mitchell: [44]GSoC Hoogle: Week 10. * Dan Piponi (sigfpe): [45]Hopf Algebra = Group + Monad. * >>> Ayumilove: [46]Haskell Programming Tutorial Part 4. * Douglas M. Auclair (geophf): [47]Trivial Monad solutions. * Douglas M. Auclair (geophf): [48]Trivial Monad solutions (cont.). * Douglas M. Auclair (geophf): [49]Orators' exercise. * Roman Cheplyaka: [50]Status report: week 9-10. * Matthew Sackman: [51]Reflections on the ICFP Programming Contest 2008. * Jamie Brandon: [52]More benchmarks. * Chris Done: [53]GHCi on Acid (GOA). * Audrey Tang: [54]Pugs now builds again from SVN.. * "FP Lunch": [55]An ad-hoc approach to productive definitions. * Ketil Malde: [56]A plan for Bloom filters. * Audrey Tang: [57]Pugs.hs is back.. * Holumbus: [58]OpenSearch Available Again. Quotes of the Week * shepheb: don't forget YMCArray * matthew-_: you know I increasingly think I'm a very bad haskell programmer - I spend all my time programming at the type level, which is basically untyped. So I just write untyped programs, that happen to run at compile time. * SyntaxNinja: just picture monads as tiny, silly, luminous, and devious sprites who fly around your haskell code carrying state from one piece of code to another. I don't think that'll help, but it can't hurt. * poetix: Avoiding lambdas is pointless <-- *groan* * kzm: My program contains a bug. How ungrateful, after all I've done for it. * sw17ch: FunPtrs do not live up to their name About the Haskell Weekly News New editions are posted to [59]the Haskell mailing list as well as to [60]the Haskell Sequence and [61]Planet Haskell. [62]RSS is also available, and headlines appear on [63]haskell.org. Headlines are available as [64]PDF. To help create new editions of this newsletter, please see the information on [65]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [66]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://imc-math.org/ 3. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/14821 4. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/14819 5. http://www.haskell.org//pipermail/haskell-cafe/2008-August/045791.html 6. http://article.gmane.org/gmane.comp.lang.haskell.cafe/42861 7. http://neilmitchell.blogspot.com/2008/08/hoogle-40-web-client-preview.html 8. http://haskell.org/hoogle/beta/ 9. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hoogle 10. http://code.google.com/p/ndmitchell/issues/list 11. http://spreadshirt.com/ 12. http://hackage.haskell.org/trac/summer-of-code/wiki/SoC2008 13. http://jamiiecb.blogspot.com/2008/08/more-benchmarks.html 14. http://jamiiecb.blogspot.com/2008/08/yet-more-mini-benchmarks.html 15. http://code.haskell.org/hoogle/ 16. http://neilmitchell.blogspot.com/2008/08/gsoc-hoogle-week-10.html 17. http://neilmitchell.blogspot.com/2008/08/hoogle-40-release-beta-command-line.html 18. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hoogle 19. http://code.google.com/p/ndmitchell/issues/list 20. http://haskell.org/haskellwiki/Hpysics 21. http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell 22. http://physics-dph.blogspot.com/2008/08/status-report-week-9-10.html 23. http://physics-dph.blogspot.com/2008/08/physics-and-polyhedra.html 24. http://code.haskell.org/~Saizan/cabal 25. http://www.sivity.net/projects/language.c/wiki/ 26. http://hackage.haskell.org/trac/ghc/wiki/GhcApiStatus 27. http://www.haskell.org//pipermail/haskell-cafe/2008-August/045701.html 28. http://article.gmane.org/gmane.comp.lang.haskell.general/16365 29. http://planet.haskell.org/ 30. http://haskell.org/haskellwiki/Blog_articles 31. http://physics-dph.blogspot.com/2008/08/physics-and-polyhedra.html 32. http://chrisdone.com/blog/2008/08/06/kibro-haskell-lighttpd-and-fastcgi/ 33. http://neilmitchell.blogspot.com/2008/08/hoogle-40-web-client-preview.html 34. http://sheyll.blogspot.com/2008/08/lazy-evaluation-there-be-dragons-and.html 35. http://cliffordbeshers.blogspot.com/2008/08/two-dimensional-zip.html 36. http://byorgey.wordpress.com/2008/08/04/philadelphia/ 37. http://lukeplant.me.uk/blog.php?id=1107301692 38. http://neilmitchell.blogspot.com/2008/08/hoogle-40-release-beta-command-line.html 39. http://blog.mikael.johanssons.org/archive/2008/08/the-end-of-the-line/ 40. http://jamiiecb.blogspot.com/2008/08/yet-more-mini-benchmarks.html 41. http://logicaltypes.blogspot.com/2008/08/combinators-in-haskell.html 42. http://holumbus.fh-wedel.de/blog/?p=14 43. http://logicaltypes.blogspot.com/2008/08/how-do-i-get-better.html 44. http://neilmitchell.blogspot.com/2008/08/gsoc-hoogle-week-10.html 45. http://sigfpe.blogspot.com/2008/08/hopf-algebra-group-monad.html 46. http://www.5min.com/Video/Ayumilove-Haskell-Programming-Tutorial-Part-4-32807921?src=rss 47. http://logicaltypes.blogspot.com/2008/05/trivial-monad-solutions.html 48. http://logicaltypes.blogspot.com/2008/05/trivial-monad-solutions-cont.html 49. http://logicaltypes.blogspot.com/2008/05/orators-exercise.html 50. http://physics-dph.blogspot.com/2008/08/status-report-week-9-10.html 51. http://www.wellquite.org/icfp_contest_2008_reflections.html 52. http://jamiiecb.blogspot.com/2008/08/more-benchmarks.html 53. http://chrisdone.com/blog/2008/08/01/ghci-on-acid-goa/ 54. http://pugs.blogs.com/pugs/2008/08/pugs-now-builds.html 55. http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=109 56. http://blog.malde.org/index.php/2008/07/31/a-plan-for-bloom-filters/ 57. http://pugs.blogs.com/pugs/2008/07/pugshs-is-back.html 58. http://holumbus.fh-wedel.de/blog/?p=13 59. http://www.haskell.org/mailman/listinfo/haskell 60. http://sequence.complete.org/ 61. http://planet.haskell.org/ 62. http://sequence.complete.org/node/feed 63. http://haskell.org/ 64. http://code.haskell.org/~byorgey/code/hwn/archives/20080806.pdf 65. http://haskell.org/haskellwiki/HWN 66. http://code.haskell.org/~byorgey/code/hwn/ From icfp.publicity at googlemail.com Wed Aug 6 21:37:58 2008 From: icfp.publicity at googlemail.com (Matthew Fluet (ICFP Publicity Chair)) Date: Wed Aug 6 21:37:38 2008 Subject: [Haskell] DEFUN 2008 (Developer Tracks on Functional Programming): Call for participation Message-ID: <53ff55480808061837k6330fa54h62dc238e42b82dbf@mail.gmail.com> ACM SIGPLAN 2008 Developer Tracks on Functional Programming http://www.deinprogramm.de/defun-2008/ Victoria, BC, Canada, 25, 27 September, 2008 Held in conjunction with ICFP 2008: http://www.icfpconference.org/icfp2008/ DEFUN 2008 is the event for developers using functional languages: Recognized experts on functional programming technologies share their knowledge and professional skills in talks and tutorials in 10 exciting tracks. Find out how to best make functional programming work in your development project! Acquire new development skills! Learn about other functional languages! The DEFUN program (attached) has tracks with the following types of presentations: - Half-day general language tutorials for specific functional languages, given by recognized experts for the respective languages. - Half-day tutorials on specific techniques or the use of specific technologies in functional programming. - 45-minute "how-to" talks that provide specific information on how to solve specific problems using functional programming. These talks focus on concrete examples, but provide useful information for developers working on different projects or in different contexts. The developer tracks are complementary to ICFP itself (which is for researchers). They are anchored by CUFP, the Haskell Symposium, and the Erlang workshop. Organizers Kathleen Fisher AT&T Labs Simon Peyton Jones Microsoft Research Mike Sperber (co-chair) DeinProgramm Don Stewart (co-chair) Galois PROGRAM: Note: The sessions of a given morning or afternoon are concurrent. The markers (M1, M2, A1, A2, etc.) mark a particular session, and correspond to the designations on the registration forms. Note that the talks M5 together constitute a session. DAY 1 - 25 SEPTEMBER, 2008 MORNING SESSION M1 (Tutorial): Practical Erlang Programming Francesco Cesarini Erlang Training and Consulting M2 (Tutorial): A Gentle Introduction to Functional Information Visualization Jefferson Heard Renaissance Computing Institute, University of North Carolina M3 (Tutorial): JavaScript: from basics to building custom frameworks Sameer Sundresh and Erik Hinterbichler University of Illinois Urbana-Champaign and Pattern Insight, Inc. AFTERNOON SESSION A1 (Tutorial): Erlang DBG and the Trace Biff Tamas Nagy Erlang Training and Consulting A2 (Tutorial): Erlang QuickCheck Tutorial Thomas Arts IT University of Gothenburg and Quviq A3 (Tutorial): Practical and Portable Programming in Scheme Donovan Kolbly TippingPoint Technologies DAY 2 - 27 SEPTEMBER 2008 MORNING SESSION M4 (Tutorial): Real World Haskell Bryan O'Sullivan M5 (Talks): Ten one-liners: handling power series in Haskell Doug McIlroy Dartmouth Incremental multi-level input processing with left-fold enumerator Oleg Kiselyov How we locate wild animals with a functional program Ryan Newton MIT AFTERNOON SESSION A4 (Tutorial): Using QuickCheck and HPC - Obtaining Quality Assurance for Haskell Code Andy Gill Kansas University Koen Claessen Chalmers A5 (Tutorial): Introduction to F# Don Syme and Chris Smith Microsoft Research From mik at konecny.aow.cz Thu Aug 7 14:37:46 2008 From: mik at konecny.aow.cz (Michal Konecny) Date: Thu Aug 7 14:37:28 2008 Subject: [Haskell] ANN: interval and polynomial enclosure arithmetics Message-ID: <200808071937.52068.mik@konecny.aow.cz> Hello, I have recently released the following two Haskell packages, which model and reasonably efficiently implement exact real arithmetic: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/AERN-Real implements arbitrary-precision interval arithmetic for approximating real numbers http://hackage.haskell.org/cgi-bin/hackage-scripts/package/AERN-RnToRm implements arbitrary-precision arithmetic of bounded-degree piecewise-polynomial enclosures for approximating functions of type R^n -> R^m The libraries are fairly stable and complete (AERN-Real more so than AERN-RnToRm) and members of the KEG research group at Aston University have used it for reliably solving differential equations and numerical constraint satisfaction problems. Also, the libraries are designed in multiple levels of abstraction that are clearly separated by type classes. Thanks to this it is very easy to switch between different implementations of the lower-levels, eg using a different floating point type or different representation of polynomials. There are many similarities between AERN-Real and Augustsson's numbers package. The main difference is in how the bit-size of arbitrary precision floating point numbers is determined. In numbers, the bit size is determined statically via types using a type-level encoding of natural numbers. In AERN-Real, the bit-size is part of the floating-point number, which slows the arithmetic down a bit but one can change precision dynamically. Best regards, Michal -- |-| Dr. Michal Konecny, Computer Science, Aston University |-| Room MB212D | Tel +44 121 204 3462 | Fax +44 121 204 3681 |-| http://www.aston.ac.uk/~konecnym |-| OpenPGP key http://www.aston.ac.uk/~konecnym/ki.aston -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://www.haskell.org/pipermail/haskell/attachments/20080807/0319cb4b/attachment.bin From S.Scholz at herts.ac.uk Thu Aug 7 23:39:41 2008 From: S.Scholz at herts.ac.uk (Sven-Bodo Scholz) Date: Thu Aug 7 23:39:25 2008 Subject: [Haskell] 2nd call for papers IFL 2008 Message-ID: <20080808033940.GA12050@herts.ac.uk> ******************************************************************************** * * CALL FOR PAPERS * * 20th International Symposium on the * Implementation and Application of Functional Languages * IFL 2008 * 10-12.Sept 2008, Hatfield UK * * http://events.sac-home.org/ifl2008/ * ******************************************************************************** The aim of the IFL symposia is to bring together researchers actively engaged in the implementation and application of functional and function-based programming languages. They provide an open forum for researchers who wish to present and discuss new ideas and concepts, work in progress, preliminary results, etc. related primarily but not exclusively to the implementation and application of functional languages. Formal proceedings are produced after the symposium, so that authors can incorporate the feedback from discussions at the symposium in their published papers. Topics ====== Topics of interest include, but are not limited to: * language concepts * type checking * compilation techniques * (abstract) interpretation * generic programming techniques * automatic program generation * array processing * concurrent/parallel programming * concurrent/parallel program execution * functional programming on embedded systems * functional programming on multi-cores/ many-cores * heap management * runtime profiling * performance measurements * debugging and tracing * (abstract) machine architectures * verification * formal aspects * tools and programming techniques Papers on applications or tools demonstrating the suitability of novel ideas in any of the above areas and contributions on related theoretical work are also welcomed. The change of the symposium name adding the term application, introduced in 2004, is to reflect the broader scope IFL has gained over the years. Paper Submissions ================= Prospective authors are encouraged to submit papers to be published in the draft proceedings and to present them at the symposium. All contributions must be written in English, conform to the Springer-Verlag LNCS series format and not exceed 16 pages. The draft proceedings will appear as a Technical Report of the School of Computer Science of the University of Hertfordshire. Attendees of IFL 2008 will have the opportunity to submit a revised version of their paper for post-symposium reviewing. As in previous years, we hope that selected papers will be published by Springer Verlag in the Lecture Notes in Computer Science (LNCS) Series. The Peter Landin Prize ====================== Since 2002 every year the Peter Landin Prize of 150 GBP is awarded to the best paper presented at the symposium, as selected by the program committee. Important Dates =============== * Submission for draft proceedings: 22. August * Early Registration: 25. August * Symposium: 10-12. September * Submission for post-refereeing: 14. November * Notification of acceptance / rejection: 23. January 2009 * Submission of a camera ready version: 20. February 2009 Contact ======= For further details see or contact us by email: events sac-home.org From wss at cs.nott.ac.uk Sat Aug 9 14:02:36 2008 From: wss at cs.nott.ac.uk (Wouter Swierstra) Date: Sat Aug 9 14:02:06 2008 Subject: [Haskell] CFP: PLPV 2009 Message-ID: <926E3ECE-20AA-437C-ABBD-E368A795DC65@cs.nott.ac.uk> Dear all, I'd like to encourage you to submit something to "Programming Languages meet Program Verification". The PC would love to see examples of verified Haskell programs and innovative uses of Haskell's type system. Wouter Call For Papers Programming Languages meets Program Verification (PLPV) 2009 http://sneezy.cs.nott.ac.uk/darcs/plpv09 January 20, 2009 Savannah, Georgia, USA Affiliated with POPL 2009. Invited Speaker: Manuel Fahndrich, Microsoft Research Overview: The goal of PLPV is to foster and stimulate research at the intersection of programming languages and program verification. Work in this area typically attempts to reduce the burden of program verification by taking advantage of particular semantic and/or structural properties of the programming language. One example are dependently typed programming languages, which leverage a language's type system to specify and check richer than usual specifications, possibly with programmer-provided proof terms. Another example are extended static checking systems like Spec#, which extends C# with pre- and postconditions along with a static verifier for these contracts. Paper Topics: We invite submissions on all aspects, both theoretical and practical, of the integration of programming language and program verification technology. By co-locating with POPL 2009, we seek to broaden the scope of PLPV. For example, submissions may have diverse foundations for verification (e.g., type-based, Hoare-logic-based), target diverse kinds of programming languages (e.g., functional, imperative, object-oriented), and apply to diverse kinds of program properties (e.g., data structure invariants, security properties, temporal protocols). Submissions: Submissions should fall into one of the following three categories: 1. Regular research papers (at most 12 pages in total length). Submissions in this category should describe new work on the above or related topics. Please note that the page limit is an upper limit - shorter submissions are encouraged. 2. Work-in-progress reports (at most 6 pages in total length). Submissions in this category should describe new work that is ongoing and may not be fully completed or evaluated. 3. Proposals for challenge problems (at most 6 pages in total length). Submissions in this category should describe an application area which the author believes is a useful benchmark or important domain for language-based program verification techniques. Submissions should be prepared with SIGPLAN two-column conference format. Submitted papers must adhere to the SIGPLAN republication policy. Concurrent submissions to other workshops, conferences, journals, or similar forums of publication are not allowed. Publication: Accepted papers will be published by the ACM and appear in the ACM digital library. Important Dates: * Electronic submission: October 8, 2008, 11:59 pm, Samoa time (UTC-11) * Notification: November 8, 2008 * Final version: November 17, 2008 * Workshop: January 20, 2009 Organizers: * Thorsten Altenkirch (University of Nottingham, UK) * Todd Millstein (University of California, Los Angeles, USA) Program Committee: * Andreas Abel (University of Munich, Germany) * Thorsten Altenkirch, co-chair (University of Nottingham, UK) * Jeremy Gibbons (University of Oxford, UK) * Robert Harper (Carnegie Mellon University, USA) * K. Rustan M. Leino (Microsoft Research, USA) * Todd Millstein , co-chair (University of California, Los Angeles, USA) * Ulf Norell (Chalmers University, Sweden) * Jeremy Siek (University of Colorado, Boulder, USA) * Benjamin Werner (Ecole Polytechnique, France) * Steve Zdancewic (University of Pennsylvania, USA) From simonpj at microsoft.com Wed Aug 13 04:09:38 2008 From: simonpj at microsoft.com (Simon Peyton-Jones) Date: Wed Aug 13 04:08:57 2008 Subject: [Haskell] FW: shootout on quad-core Message-ID: <638ABD0A29C8884A91BC5FB5C349B1C32AE806682A@EA-EXMSG-C334.europe.corp.microsoft.com> Friends: an opportunity spotted by Ulf. Simon -----Original Message----- From: ulf.wiger@gmail.com [mailto:ulf.wiger@gmail.com] On Behalf Of Ulf Wiger Sent: 12 August 2008 16:33 Subject: shootout on quad-core The famous language shootout now has a quad-core architecture: http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=all So far, the maintainers have mainly focused on trying to get the build environment to work, and no real agreement exists on how to potentially expand the benchmark suite with multicore problems, or perhaps how to handle alternative entries on existing benchmarks. I think they welcome suggestions. I imagine that several different categories exist: - problems that naturally lend themselves to message-passing concurrency - obviously data parallel algorithms - problems that could be parallelized using a smart compiler BR, Ulf W From dons at galois.com Wed Aug 13 04:13:20 2008 From: dons at galois.com (Don Stewart) Date: Wed Aug 13 04:12:36 2008 Subject: [Haskell] FW: shootout on quad-core In-Reply-To: <638ABD0A29C8884A91BC5FB5C349B1C32AE806682A@EA-EXMSG-C334.europe.corp.microsoft.com> References: <638ABD0A29C8884A91BC5FB5C349B1C32AE806682A@EA-EXMSG-C334.europe.corp.microsoft.com> Message-ID: <20080813081320.GB4299@scytale.galois.com> Yes, it would be interesting to see some of the benchmarks from the parallel nofib used, http://www.macs.hw.ac.uk/~dsg/gph/nofib/ simonpj: > Friends: an opportunity spotted by Ulf. > > Simon > > -----Original Message----- > From: ulf.wiger@gmail.com [mailto:ulf.wiger@gmail.com] On Behalf Of Ulf Wiger > Sent: 12 August 2008 16:33 > Subject: shootout on quad-core > > The famous language shootout now has a quad-core architecture: > > http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=all > > So far, the maintainers have mainly focused on trying to get the build > environment to work, and no real agreement exists on how to > potentially expand the benchmark suite with multicore problems, > or perhaps how to handle alternative entries on existing benchmarks. > > I think they welcome suggestions. I imagine that several different > categories exist: > > - problems that naturally lend themselves to message-passing concurrency > - obviously data parallel algorithms > - problems that could be parallelized using a smart compiler > > > BR, > Ulf W > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > From byorgey at seas.upenn.edu Wed Aug 13 11:27:50 2008 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Wed Aug 13 11:27:14 2008 Subject: [Haskell] Haskell Weekly News: Issue 81 - August 13, 2008 Message-ID: <20080813152750.GA14379@minus.seas.upenn.edu> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20080813 Issue 81 - August 13, 2008 --------------------------------------------------------------------------- Welcome to issue 81 of HWN, a newsletter covering developments in the [1]Haskell community. This week saw some interesting talks at [2]AngloHaskell, and some cool new packages to hit Hackage, like [3]Language.C, [4]AERN-Real, [5]FTGL, and [6]Hoogle. What are you waiting for? Get out there and build something! Announcements Initial release of Language.C (language-c-0.3). Benedikt Huber [7]announced the [8]first release of [9]Language.C, a library for analysing and generating C code. This release features a reasonably well tested parser, a pretty printer, and a preview of the analysis framework. darcs roadmap. Jason Dagit [10]wrote to the list to thank everyone for their support for darcs, and to announce a webpage with a [11]roadmap for future darcs features. Darcs is alive and well! Anglo Haskell 2008 -- slides and audio. Matthew Sackman [12]announced that [13]slides and audio from Anglo Haskell 2008 are now available. BLAS bindings for haskell, version 0.5. Patrick Perry [14]announced a new release of the Haskell BLAS bindings, including a number of new features and improvements. Tutorial on information visualization and visual analytics in Haskell. Jefferson Heard [15]announced the [16]tutorial he will be presenting at DEFUN 2008, to give everyone a sneak peek at the long version of the tutorial before he's done with it. Comments and questions are welcome and encouraged. interval and polynomial enclosure arithmetics. Michal Konecny [17]announced the release of the [18]AERN-Real and [19]AERN-RnToRm packages, which model and reasonably efficiently implement exact real arithmetic. FTGL 1.0. Portable truetype font rendering in OpenGL. Jefferson Heard [20]announced the release of [21]Haskell bindings to FTGL, an easy to use library for portable rendering of TrueType fonts in OpenGL. Google Summer of Code Progress updates from participants in the 2008 [22]Google Summer of Code. GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC. [23]This week, he gave [24]a talk at AngloHaskell. Language.C. Benedikt Huber (visq) is [25]working on Language.C, a standalone parser/pretty printer library for C99. This week, he [26]announced the [27]first release of the [28]Language.C package. Hoogle 4. Neil Mitchell (ndm) is working on [29]Hoogle 4. [30]This week, he released several [31]command-line versions and a [32]web version of Hoogle 4, updated the manual, and gave [33]a talk at AngloHaskell. Next week, he plans to work on generating better Hoogle databases, and some bug fixes. DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a [34]physics engine using [35]Data Parallel Haskell. [36]This week, he added complete support for general polyhedra, and fixed some bugs in the collision handler. He also added support for bounding spheres, although the results so far are disappointing, due to delays in the GHC implementation of parallel arrays. Next week, he plans to implement static bodies and BSP trees. Generic tries. Jamie Brandon is working on a library for efficient maps using generalized tries. GHC API. Thomas Schilling (nominolo) is working on [37]improvements to the GHC API. Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a [38]make-like dependency analysis framework for Cabal. Blog noise [39]Haskell news from the [40]blogosphere. * >>> Nicholas Lativy: [41]Haskell in less than five minutes. Nicholas refreshes his memory of Haskell. * Douglas M. Auclair (geophf): [42]Monoid use. * Roman Cheplyaka: [43]Status report: week 11-12. * Douglas M. Auclair (geophf): [44]Combinatory Birds as Types. * Douglas M. Auclair (geophf): [45]Getting Better, part ][. * Neil Mitchell: [46]GSoC Hoogle: Week 11. * Max Bolingbroke: [47]Compiler Plugins AngloHaskell Talk. * London Haskell Users Group: [48]Video: Paradise, a DSEL for Derivatives Pricing. * Roman Cheplyaka (Feuerbach): [49]Compiling GHC. Roman records his experiences building the latest development version of GHC. * Luke Palmer: [50]Mindfuck: The Reverse State Monad. * Dan Piponi (sigfpe): [51]Untangling with Continued Fractions: Part 0. * Joachim Breitner: [52]Xmonad on my mobile phone. * Luke Palmer: [53]Composable Input for Fruit. * >>> Louis: [54]A Gentle Introduction to Haskell. Louis is learning Haskell by working through the Gentle Introduction. * >>> Bryan St. Amour: [55]Some Project Euler. Bryan learns some Haskell the good old-fashioned way---by solving Project Euler problems. * Magnus Therning: [56]TagSoup, meet Parsec!. Magnus uses Parsec to parse streams of tags. * Thomas M. DuBuisson: [57]hsXenCtrl and pureMD5. * Alpheccar: [58]Haskell, iPhone and Biotech. * >>> codeflow: [59]About AI and neural networks. codeflow implements neural networks in Haskell for some soccer-playing AI software. * >>> Vincent Kriek: [60]And the winner is.... Vincent decides to stick with xmonad. * >>> Matthew Trinneer: [61]A New Paradigm - Haskell and HAppS. Quotes of the Week * Anatoly Yakovenko: theory doesn't scare me. i am using haskell after all, so i am used to reading long winded papers. * bwr: mapM_ putStrLn$reverse[(++)([1..y-30]>>" ")$concat$map([" "," /", " -", " \\"]!!)[(foldr(.)(scanl(+)1)([1..y]>>[scanl(+)0])[2..]!!(2*(1+y)+x) )`mod`4|x<-[-y-2..59-y*2]]|y<-[30..61]] About the Haskell Weekly News New editions are posted to [62]the Haskell mailing list as well as to [63]the Haskell Sequence and [64]Planet Haskell. [65]RSS is also available, and headlines appear on [66]haskell.org. To help create new editions of this newsletter, please see the information on [67]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [68]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://www.wellquite.org/anglohaskell2008/ 3. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/language%2Dc 4. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/AERN-Real 5. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/FTGL 6. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hoogle 7. http://article.gmane.org/gmane.comp.lang.haskell.libraries/9809 8. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/language%2Dc 9. http://www.sivity.net/projects/language.c 10. http://www.haskell.org//pipermail/haskell-cafe/2008-August/045959.html 11. http://wiki.darcs.net/DarcsWiki/Roadmap 12. http://www.haskell.org//pipermail/haskell-cafe/2008-August/045986.html 13. http://www.wellquite.org/anglohaskell2008/ 14. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43036 15. http://article.gmane.org/gmane.comp.lang.haskell.cafe/42994 16. http://bluheron.europa.renci.org/docs/BeautifulCode.pdf 17. http://article.gmane.org/gmane.comp.lang.haskell.general/16368 18. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/AERN-Real 19. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/AERN-RnToRm 20. http://article.gmane.org/gmane.comp.lang.haskell.cafe/42955 21. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/FTGL 22. http://hackage.haskell.org/trac/summer-of-code/wiki/SoC2008 23. http://blog.omega-prime.co.uk/2008/08/11/compiler-plugins-anglohaskell-talk/ 24. http://www.wellquite.org/anglohaskell2008/ 25. http://www.sivity.net/projects/language.c/wiki/ 26. http://article.gmane.org/gmane.comp.lang.haskell.libraries/9809 27. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/language%2Dc 28. http://www.sivity.net/projects/language.c 29. http://code.haskell.org/hoogle/ 30. http://neilmitchell.blogspot.com/2008/08/gsoc-hoogle-week-11.html 31. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hoogle 32. http://haskell.org/hoogle/beta/ 33. http://www.wellquite.org/anglohaskell2008/ 34. http://haskell.org/haskellwiki/Hpysics 35. http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell 36. http://physics-dph.blogspot.com/2008/08/status-report-week-11-12.html 37. http://hackage.haskell.org/trac/ghc/wiki/GhcApiStatus 38. http://code.haskell.org/~Saizan/cabal 39. http://planet.haskell.org/ 40. http://haskell.org/haskellwiki/Blog_articles 41. http://blog.lativy.org/2008/08/13/haskell-in-less-than-five-minutes/ 42. http://logicaltypes.blogspot.com/2008/05/monoid-use.html 43. http://physics-dph.blogspot.com/2008/08/status-report-week-11-12.html 44. http://logicaltypes.blogspot.com/2008/08/combinatory-birds-as-types.html 45. http://logicaltypes.blogspot.com/2008/08/getting-better-part.html 46. http://neilmitchell.blogspot.com/2008/08/gsoc-hoogle-week-11.html 47. http://blog.omega-prime.co.uk/2008/08/11/compiler-plugins-anglohaskell-talk/ 48. http://www.londonhug.net/2008/08/11/video-paradise-a-dsel-for-derivatives-pricing/ 49. http://ro-che.blogspot.com/2008/08/compiling-ghc.html 50. http://luqui.org/blog/archives/2008/08/10/mindfuck-the-reverse-state-monad/ 51. http://sigfpe.blogspot.com/2008/08/untangling-with-continued-fractions.html 52. https://www.joachim-breitner.de/blog/archives/300-Xmonad-on-my-mobile-phone.html 53. http://luqui.org/blog/archives/2008/08/09/composable-input-for-fruit/ 54. http://lbks23.wordpress.com/2008/08/09/a-gentle-introduction-to-haskell/ 55. http://bryanstamour.com/?p=46 56. http://therning.org/magnus/archives/367 57. http://tommd.wordpress.com/2008/08/07/hsxenctrl-and-puremd5/ 58. http://www.alpheccar.org/en/posts/show/92 59. http://codeflow.wordpress.com/2008/08/03/about-ai-and-neural-networks/ 60. http://www.vincentkriek.nl/post/and-the-winner-is/ 61. http://thespohtexperiment.blogspot.com/2008/08/new-paradigm.html 62. http://www.haskell.org/mailman/listinfo/haskell 63. http://sequence.complete.org/ 64. http://planet.haskell.org/ 65. http://sequence.complete.org/node/feed 66. http://haskell.org/ 67. http://haskell.org/haskellwiki/HWN 68. http://code.haskell.org/~byorgey/code/hwn/ From andygill at ku.edu Thu Aug 14 11:58:42 2008 From: andygill at ku.edu (Andy Gill) Date: Thu Aug 14 11:57:56 2008 Subject: [Haskell] CFP: PADL 2009 Message-ID: <32785ACA-C644-46B3-9A4A-1A9D223ECE21@ku.edu> 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 8, 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 dons at galois.com Thu Aug 14 17:17:05 2008 From: dons at galois.com (Don Stewart) Date: Thu Aug 14 17:16:21 2008 Subject: [Haskell] Fwd: Haskell job opportunity: Platform Architect at Peerium, Inc. Message-ID: <20080814211705.GH14958@scytale.galois.com> Hey all, Below is a job opportunity for a Haskell programmer at Peerium, Inc. I was asked for forward to the community. Enjoy! -- Don ------------------------------------------------------------------------ Subject: Haskell Job Opportunity Platform Architect at Peerium, Inc. Please mail resumes to: hr@peerium.com Location: Cambridge, MA (Greater Boston Area) http://www.peerium.com Type: Full-time Skills: Proficiency and a strong interest in Haskell programming :) Bachelor's degree in computer science or equivalent from a four-year institution. Job Description Platform architects work with the founders to design and implement components of the runtime and supporting libraries for our software platform. Company Description At Peerium, we're striving to bring a new level of quality and efficiency to online communication and collaboration within virtual communities, social networks, and business environments. We believe that a new environment that supports the effortless sharing of both information and software will enable a level of online cooperation far beyond current Web-based technologies -- modern programming techniques will enable the creation of more robust and more powerful programs within these environments. ----- To this end, we're building a new software platform for direct, real- time communication and collaboration within graphically rich environments. We're currently building our first publicly available software product using many in-house technologies, including a powerful new programming language. Our first software product brings together a broad range of technologies, including: * Concurrent, distributed, functional programming * Graphically-rich, OpenGL interfaces * Peer-to-peer network protocols * Cryptographically secure communication * Distributed computation * Ubiquitous online agents ----- Peerium is located in the heart of Harvard Square in Cambridge, Massachusetts. From ashley at semantic.org Mon Aug 18 04:27:46 2008 From: ashley at semantic.org (Ashley Yakeley) Date: Mon Aug 18 04:27:00 2008 Subject: [Haskell] ANN: witness 0.1, open-witness 0.1, "Witnesses and Open Witnesses" Message-ID: Two packages, and the draft paper on which they are based. Both packages are "proof of concept"; I'm open to ideas and repainting of bike-sheds. witness 0.1 A witness is a value that witnesses some sort of constraint on some list of type variables. This library provides support for simple witnesses, that constrain a type variable to a single type, and equality witnesses, that constrain two type variables to be the same type. The library also provides classes for representatives, which are values that represent types. For example, the equality witness type: data EqualType a b where MkEqualType :: EqualType t t If two simple witness values are the same, then their types are the same: class SimpleWitness w where matchWitness :: w a -> w b -> Maybe (EqualType a b) Hackage: Source: open-witness 0.1 Open witnesses (type IOWitness) are simple witnesses that can witness to any type. However, they cannot be constructed, they can only be generated in certain monads: newIOWitness :: IO (IOWitness a) We can also create fully heterogenous dictionaries that use open witnesses as keys. This would work as the state in an ST monad. If we had a "top-level" monad, or some other way of declaring unique IOWitness values at top level, we could straightforwardly and safely solve the expression problem (see below). In lieu of that, there's an unsafe function to construct them: unsafeIOWitnessFromString :: String -> IOWitness a This release includes an example re-implementation of ST/STRef, and a sound approximation of Typeable/Dynamic. Hackage: Source: Witnesses and Open Witnesses Abstract: We review witnesses, an emerging Haskell idiom, and suggest some terminology. We then introduce open witnesses as a library, and propose an extension to allow the creation of them at top-level. We show how this solves the expression problem, all with relatively little implementation fuss. draft, rejected from the Haskell Symposium 2008 -- Ashley Yakeley Seattle, WA From dons at galois.com Mon Aug 18 13:12:01 2008 From: dons at galois.com (Don Stewart) Date: Mon Aug 18 13:10:59 2008 Subject: [Haskell] ANN: witness 0.1, open-witness 0.1, "Witnesses and Open Witnesses" In-Reply-To: References: Message-ID: <20080818171201.GB30959@scytale.galois.com> ashley: > witness 0.1 > A witness is a value that witnesses some sort of constraint on some list > of type variables. This library provides support for simple witnesses, > that constrain a type variable to a single type, and equality witnesses, > that constrain two type variables to be the same type. The library also > provides classes for representatives, which are values that represent types. snip > open-witness 0.1 > Open witnesses (type IOWitness) are simple witnesses that can witness to > any type. However, they cannot be constructed, they can only be > generated in certain monads: snip > Hackage: > > Source: You can find these packages for your local Arch Linux distribution, http://aur.archlinux.org/packages.php?ID=19194 http://aur.archlinux.org/packages.php?ID=19195 Come on Debian! :) -- Don From kr.angelov at gmail.com Wed Aug 20 05:35:15 2008 From: kr.angelov at gmail.com (Krasimir Angelov) Date: Wed Aug 20 05:34:10 2008 Subject: [Haskell] Is this a feature or bug in the GADTs & ExistentialQuantification? (Was: [Haskell-cafe] Unboxing VT_VARIANT in hscom) Message-ID: The issue reported by Praki looks like a GHC bug to me. The smallest test case is at the end. (VarType a) is a GADT and Variant wraps the VarType with a value of type a. The definitions of Variant and VarType require ExistentialQuantification and GADTs extensions and I have declared them. The problem is when someone try to use them. If the client code is compiled without any extensions turned on the error message is: >> test.hs:35:47: >> Couldn't match expected type `IDispatch a' >> against inferred type `a1' >> `a1' is a rigid type variable bound by >> the constructor `Variant' at test.hs:34:22 >> In the second argument of `getMethodID', namely `idisp' >> In a 'do' expression: dispId <- getMethodID "ExecQuery" idisp >> In the expression: >> do dispId <- getMethodID "ExecQuery" idisp >> return () This suggests that the compiler understands that Variant is an existential type but doesn't understand that VarType is a GADT. If the code is compiled with -fglasgow-exts then everything works fine. Why the compiler always understands existential types and not GADT. For me this is unfair against GADT. Shouldn't the compiler always understand GADT as well provided that they are already defined somewhere? Best Regards, Krasimir ------------------------------------------------------------------------------ -- Implementation of Variant ------------------------------------------------------------------------------ {-# LANGUAGE ExistentialQuantification, GADTs #-} module Variant where data VarType a where VT_DISPATCH :: VarType IDispatch data IDispatch = IDispatch data Variant = forall a . Variant (VarType a) a ------------------------------------------------------------------------------ -- Use of Variant ------------------------------------------------------------------------------ import Variant useIDispatch :: IDispatch -> IO () useIDispatch _ = putStrLn "useIDispatch" useVariant (Variant VT_DISPATCH idisp) = useIDispatch idisp On Wed, Aug 20, 2008 at 9:58 AM, Krasimir Angelov wrote: > Aha. I got it. You should compile with -fglasgow-exts option. The > extra type signatures doesn't matter. > > > On Wed, Aug 20, 2008 at 8:20 AM, Praki Prakash wrote: >> Krasimir - thanks for your reply. I had tried explicit typing but I still >> get the same error. I have some code below and the error message. >> >> import Control.Exception >> import Foreign >> import Foreign.COM.Client >> import Foreign.COM.Automation >> import System.IO >> >> data WmiConnection = >> WmiConnection { >> execQuery :: String -> IO () >> } >> >> main = withCOM $ do >> conn <- wmiconnect "." "root\\cimv2" >> execQuery conn "Select * From ..." >> print "done" >> >> wmiconnect :: String -> String -> IO WmiConnection >> wmiconnect comp cimroot = >> do >> clsid <- progid2clsid "WbemScripting.SWbemLocator" >> (bracket (createInstance clsid iidIUnknown) release $ \iunkn -> >> bracket (queryInterface iidIDispatch iunkn) release $ \idisp -> do >> dispId <- getMethodID "ConnectServer" idisp >> withBSTR comp $ \pComputer -> >> withBSTR cimroot $ \pCimRoot -> do >> (res,args) <- invoke dispId InvokeMethod [Variant VT_BSTR >> pComputer, >> Variant VT_BSTR >> pCimRoot >> ] idisp >> print res >> let conn = WmiConnection{ execQuery = queryFunc res } >> return conn) >> where >> queryFunc :: Variant -> String -> IO () >> queryFunc (Variant VT_DISPATCH idisp) query = do >> dispId <- getMethodID "ExecQuery" idisp >> return () >> {- >> queryFunc (Variant vt idisp) query = >> if vt == VT_DISPATCH >> then do >> dispId <- getMethodID "ExecQuery" idisp >> return "" >> else >> fail "error" >> >> return () >> -} >> >> C:\>ghc --make test.hs >> [1 of 1] Compiling Main ( test.hs, test.o ) >> >> test.hs:35:47: >> Couldn't match expected type `IDispatch a' >> against inferred type `a1' >> `a1' is a rigid type variable bound by >> the constructor `Variant' at test.hs:34:22 >> In the second argument of `getMethodID', namely `idisp' >> In a 'do' expression: dispId <- getMethodID "ExecQuery" idisp >> In the expression: >> do dispId <- getMethodID "ExecQuery" idisp >> return () >> >> Any further suggestions? >> >> Thanks, >> Praki >> >> On Tue, Aug 19, 2008 at 1:49 AM, Krasimir Angelov >> wrote: >>> >>> This looks like a GHC bug to me. I am pretty sure that this worked >>> before. Variant is defined like this: >>> >>> data Variant = forall a . Variant (VarType a) a >>> >>> data VarType a where >>> .... >>> VT_DISPATCH :: VarType (IDispatch ()) >>> >>> From this it clear that val is of type (IDispatch ()) because the >>> VarType has value VT_DISPATCH. A workaround is to add explicit type >>> singnature for val: >>> >>> someFunc (Variant VT_DISPATCH val) query = do >>> dispId <- getMethodID "MethodName" (val :: IDispatch ()) >>> >>> I don't know why this doesn't work without the signature. >>> >>> Regards, >>> Krasimir >>> >>> >>> On Tue, Aug 19, 2008 at 7:09 AM, Praki Prakash >>> wrote: >>> > I am a Haskell newbie trying to do COM automation using Haskell. I am >>> > using >>> > hscom (Krasimir's implementation of COM automation). I have run into a >>> > problem >>> > and need some help. >>> > >>> > I have a Variant returned from a COM method invocation. When I print it, >>> > it >>> > shows up as below. >>> > >>> > Variant VT_DISPATCH >>> > >>> > I need to invoke methods on the wrapped interface. My attempt to unbox >>> > it as >>> > below runs into 'rigid type' error. >>> > >>> > someFunc (Variant VT_DISPATCH val) query = do >>> > dispId <- getMethodID "MethodName" val >>> > >>> > The code above generates this error. >>> > >>> > Couldn't match expected type `IDispatch a' >>> > against inferred type `a1' >>> > `a1' is a rigid type variable bound by... >>> > >>> > I am probably missing something pretty basic. Any help on this is >>> > greatly >>> > appreciated! >>> > >>> > Thanks >>> > >>> > >>> > >>> > >>> > >>> > _______________________________________________ >>> > Haskell-Cafe mailing list >>> > Haskell-Cafe@haskell.org >>> > http://www.haskell.org/mailman/listinfo/haskell-cafe >>> > >> >> > From waldmann at imn.htwk-leipzig.de Wed Aug 20 10:03:42 2008 From: waldmann at imn.htwk-leipzig.de (Johannes Waldmann) Date: Wed Aug 20 10:04:35 2008 Subject: [Haskell] Compiler Construction course using Haskell? Message-ID: <48AC243E.2070200@imn.htwk-leipzig.de> Hello. I plan to give a course in compiler construction, using Haskell as the implementation language (not as source or target language). Something along these lines: 1. combinator parsers (Parsec), 2. simple interpreter (arithmetical expressions) 3. add algebraic data types, functions 4. type checker 5. code generator. Ideally, 2..5 would be using the very same tree traversal code and just change the monad for evaluation. Any comments appreciated. Have you given such a course? Taken? If I really decide to do it, then slides (in German) will be made available. Best regards, J.W. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 257 bytes Desc: OpenPGP digital signature Url : http://www.haskell.org/pipermail/haskell/attachments/20080820/2a7fb689/signature-0001.bin From andygill at ku.edu Wed Aug 20 10:53:55 2008 From: andygill at ku.edu (Andy Gill) Date: Wed Aug 20 10:52:50 2008 Subject: [Haskell] QuickCheck and HPC Tutorial Message-ID: Dear Haskellers, We would like to draw your attention to the following. At the DEFUN event (in conjunction with ICFP in Victoria in September), there will be a half day tutorial titled: Using QuickCheck and HPC - Obtaining Quality Assurance for Haskell Code The tutorial will be given by Andy Gill (Kansas University) and Koen Claessen (Chalmers), on Saturday, September 27 in the afternoon. The latest version of QuickCheck will also be released in conjunction with the tutorial. (If you cannot wait, you can find a development snapshot at http://code.haskell.org/QuickCheck/). For more information on DEFUN, look here: http://www.deinprogramm.de/defun-2008/ See you there! Andy and Koen -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20080820/0e365a95/attachment.htm From emax at chalmers.se Wed Aug 20 11:40:43 2008 From: emax at chalmers.se (Emil Axelsson) Date: Wed Aug 20 11:39:38 2008 Subject: [Haskell] ANNOUNCE: Lava2000 on Hackage Message-ID: <48AC3AFB.7090202@chalmers.se> Hello, Lava2000 has been uploaded to Hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/chalmers-lava2000 Lava is a structural hardware description library embedded in Haskell. This version of Lava focuses on verification, and connects to a number of different verification engines (although only Smv and Satzoo are maintained in this version). For documentation, see the tutorial included in the package. The code is located at http://www.cs.chalmers.se/~emax/darcs/chalmers-lava2000/ People who have other modified versions of the library are welcome to submit patches, so that we get a single version that can be used by everyone. A different version of Lava, with focus on FPGA generation, can be found on Satnam Sing's page: http://raintown.org/lava/ / Emil From bertmayo at earthlink.net Wed Aug 20 12:14:37 2008 From: bertmayo at earthlink.net (Bert Mayo) Date: Wed Aug 20 13:31:13 2008 Subject: [Haskell] Re:Fwd: Haskell job opportunity: Platform Architect at Message-ID: <26155532.1219248877855.JavaMail.root@elwamui-ovcar.atl.sa.earthlink.net> Fat Chance. My resume has been knocking on their email mail box since last weekend. Apparently the mail box is already stuffed full with applications from eager Haskellers. Thousands of Haskellers chasing one job! Why don't some of you geniuses start businesses to employ some of this eager talent? --Bert Mayo >The message identifier is: 1KUz2g-0002tI-DO >The date of the message is: Mon, 18 Aug 2008 03:20:41 -0400 (GMT-04:00) >The subject of the message is: Haskell Job Opportunity >The address to which the message has not yet been delivered is: > hr@peerium.com From johan.tibell at gmail.com Wed Aug 20 14:12:00 2008 From: johan.tibell at gmail.com (Johan Tibell) Date: Wed Aug 20 14:10:54 2008 Subject: [Haskell] Re:Fwd: Haskell job opportunity: Platform Architect at In-Reply-To: <26155532.1219248877855.JavaMail.root@elwamui-ovcar.atl.sa.earthlink.net> References: <26155532.1219248877855.JavaMail.root@elwamui-ovcar.atl.sa.earthlink.net> Message-ID: <90889fe70808201112w4cf238b3i90fa5df477324a72@mail.gmail.com> On Wed, Aug 20, 2008 at 6:14 PM, Bert Mayo wrote: > Fat Chance. My resume has been knocking on their email mail box since last weekend. Apparently the mail box is already stuffed full with applications from eager Haskellers. Thousands of Haskellers chasing one job! > > Why don't some of you geniuses start businesses to employ some of this eager talent? Hardly a genius but I would be up for starting a company. Any takers? :) -- Johan From byorgey at seas.upenn.edu Wed Aug 20 14:18:08 2008 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Wed Aug 20 14:17:08 2008 Subject: [Haskell] Haskell Weekly News: Issue 82 - August 20, 2008 Message-ID: <20080820181808.GA8235@minus.seas.upenn.edu> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20080820 Issue 82 - August 20, 2008 --------------------------------------------------------------------------- Welcome to issue 82 of HWN, a newsletter covering developments in the [1]Haskell community. Announcements Lava2000 on Hackage. Emil Axelsson [2]announced that [3]Lava2000 has been uploaded to Hackage. Lava is a structural hardware description library embedded in Haskell. This version of Lava focuses on verification, and connects to a number of different verification engines (although only Smv and Satzoo are maintained in this version). QuickCheck and HPC Tutorial. Andy Gill [4]announced a half day tutorial on QuickCheck and HPC to be held at [5]DEFUN, taught by Andy Gill and Koen Claessen. The latest version of QuickCheck will also be released in conjunction with the tutorial. Compiler Construction course using Haskell?. Johannes Waldmann [6]announced that he plans to give a course in compiler construction, using Haskell as the implementation language. Any comments are appreciated, especially from anyone who has given or taken such a course. witness 0.1, open-witness 0.1. Ashley Yakeley [7]announced the release of these new packages and the draft paper on which they are based. posix-realtime 0.0.1. Vasili Galchin [8]announced the release of the posix-realtime package. benchpress 0.2.1. Johan Tibell [9]announced the first public release of [10]benchpress, a micro-benchmark library that produces statistics such as min, mean, standard deviation, median, and max execution time. wavconvert 0.1.1. Tim Chevalier [11]announced the release of [12]wavconvert, a tool which takes a directory tree as an argument, and converts any .wav files in it to .ogg (using an external OGG encoder) while filling in the ID3 tags based on the directory names. darcs hacking sprint (25-26 October). Eric Y. Kow [13]announced a darcs hacking sprint, to be held on the 25-26 of October, in Cambridge and Portland (and over IRC). The perfect opportunity to get involved, if you are interested in doing some hacking on darcs. Let Eric know if you are interested. X Haskell Bindings. Antoine Latter [14]announced that he is slowly [15]porting XCB (the X C Bindings) to Haskell, and would like input from any interested parties. logfloat. wren ng thornton [16]announced the release of the logfloat package for manipulating log-domain floating numbers. The main reason for casting numbers into the log-domain is to prevent underflow when multiplying many small probabilities as is done in Hidden Markov Models and other statistical models often used for natural language processing. The log-domain also helps prevent overflow when multiplying many large numbers. Roguestar 0.2.2. Christopher Lane Hinson [17]announced the release of version 0.2.2 of Roguestar. Google Summer of Code Progress updates from participants in the 2008 [18]Google Summer of Code. Hoogle 4. Neil Mitchell (ndm) is working on [19]Hoogle 4. [20]This week, he worked on getting out the last kinks to make [21]Hoogle 4 usable as a replacement for [22]Hoogle 3. Although this is the last official week of the GSoC, he plans to continue working on it when he has time. DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a [23]physics engine using [24]Data Parallel Haskell. GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC. Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a [25]make-like dependency analysis framework for Cabal. Language.C. Benedikt Huber (visq) is [26]working on Language.C, a standalone parser/pretty printer library for C99. Generic tries. Jamie Brandon is working on a library for efficient maps using generalized tries. GHC API. Thomas Schilling (nominolo) is working on [27]improvements to the GHC API. Jobs Platform Architect at Peerium, Inc.. Don Stewart [28]forwarded a job opportunity for a Haskell programmer at [29]Peerium, Inc. Peerium is building a new software platform for direct, real-time communication and collaboration within graphically rich environments, and is looking for a platform architect proficient in Haskell to work with the founders to design and implement components of the runtime and supporting libraries for our software platform. Resumes should be forwarded to hr [30]peerium.com. Blog noise [31]Haskell news from the [32]blogosphere. * Don Stewart: [33]The 500 Packages: Haskell, Distros, and Maintainership. * Neil Mitchell: [34]Hoogle New Features. Neil has finished his Google Summer of Code work on the [35]new version of Hoogle, but still intends to continue working on it when he gets the chance. A number of new features have been added. * Well-Typed.Com: [36]Solving the diamond dependency problem. Duncan explains how the newest version of Cabal (mostly) solves the DDDP (dreaded diamond dependency problem). * Real-World Haskell: [37]Two new chapters, preorder links, and a page count estimate. Two new beta chapters are up! * Dan Piponi (sigfpe): [38]Untangling with Continued Fractions: Part 1. Dan continues his fascinating series on rational tangles, showing how to describe a tangle using do-notation. * Christopher Lane Hinson: [39]ANN: Roguestar 0.2.2. * Luis Araujo: [40]Himerge (and Haskell) out to the street!. * Neil Mitchell: [41]GSoC Hoogle: Week 12. * Twan van Laarhoven: [42]A generic merge function. * Luke Palmer: [43]Slicing open the belly of the IO monad in an alternate universe. Luke explores methods of safely performing some I/O without the IO monad in the context of FRP. * Ketil Malde: [44]The wee beginnings of a biohaskell tutorial? -- and some thoughts on programming productivity. * Douglas M. Auclair (geophf): [45]Using Difference Lists. * Real-World Haskell: [46]Mid-August status update. Quotes of the Week * SimonM: People don't seem to believe me when I say this. In retrospect we shouldn't have called it forkOS, we should have called it forkReallyExpensiveOnlyNecessaryForCallingOpenGL_IO. * quicksilver: unsafeInterleaveIO gives you a way to cheat if you're happy to descend into a mire of programs with no semantics. * dmhouse: Eurgh, metastereo quotes. * quicksilver: [on @yhjulwwiefzojcbxybbruweejw] it's the noise a haskell developer makes if you kick him in the de bruijn index. About the Haskell Weekly News New editions are posted to [47]the Haskell mailing list as well as to [48]the Haskell Sequence and [49]Planet Haskell. [50]RSS is also available, and headlines appear on [51]haskell.org. To help create new editions of this newsletter, please see the information on [52]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [53]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://article.gmane.org/gmane.comp.lang.haskell.general/16381 3. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/chalmers-lava2000 4. http://article.gmane.org/gmane.comp.lang.haskell.general/16380 5. http://www.deinprogramm.de/defun-2008/ 6. http://article.gmane.org/gmane.comp.lang.haskell.general/16379 7. http://article.gmane.org/gmane.comp.lang.haskell.general/16376 8. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43295 9. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43292 10. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/benchpress 11. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43282 12. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/wavconvert 13. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43240 14. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43230 15. http://community.haskell.org/~aslatter/code/xhb 16. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43211 17. http://blog.downstairspeople.org/2008/08/16/ann-roguestar-022/ 18. http://hackage.haskell.org/trac/summer-of-code/wiki/SoC2008 19. http://code.haskell.org/hoogle/ 20. http://neilmitchell.blogspot.com/2008/08/gsoc-hoogle-week-12.html 21. http://haskell.org/hoogle/beta 22. http://haskell.org/hoogle 23. http://haskell.org/haskellwiki/Hpysics 24. http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell 25. http://code.haskell.org/~Saizan/cabal 26. http://www.sivity.net/projects/language.c/wiki/ 27. http://hackage.haskell.org/trac/ghc/wiki/GhcApiStatus 28. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43175 29. http://www.peerium.com/ 30. file://localhost/home/brent/haskell/hwn/at] 31. http://planet.haskell.org/ 32. http://haskell.org/haskellwiki/Blog_articles 33. http://cgi.cse.unsw.edu.au/~dons/blog/2008/08/21#the_500 34. http://neilmitchell.blogspot.com/2008/08/hoogle-new-features.html 35. http://haskell.org/hoogle/ 36. http://blog.well-typed.com/2008/08/solving-the-diamond-dependency-problem/ 37. http://www.realworldhaskell.org/blog/2008/08/18/two-new-chapters-preorder-links-and-a-page-count-estimate/ 38. http://sigfpe.blogspot.com/2008/08/untangling-with-continued-fractions_16.html 39. http://blog.downstairspeople.org/2008/08/16/ann-roguestar-022/ 40. http://araujoluis.blogspot.com/2008/08/himerge-and-haskell-out-to-street.html 41. http://neilmitchell.blogspot.com/2008/08/gsoc-hoogle-week-12.html 42. http://twan.home.fmf.nl/blog/haskell/generic-merge.details 43. http://luqui.org/blog/archives/2008/08/14/slicing-open-the-belly-of-the-io-monad-in-an-alternate-universe/ 44. http://blog.malde.org/index.php/2008/08/14/the-wee-beginnings-of-a-biohaskell-tutorial-and-some-thoughts-on-programming-productivity/ 45. http://logicaltypes.blogspot.com/2008/08/using-difference-lists.html 46. http://www.realworldhaskell.org/blog/2008/08/13/mid-august-status-update/ 47. http://www.haskell.org/mailman/listinfo/haskell 48. http://sequence.complete.org/ 49. http://planet.haskell.org/ 50. http://sequence.complete.org/node/feed 51. http://haskell.org/ 52. http://haskell.org/haskellwiki/HWN 53. http://code.haskell.org/~byorgey/code/hwn/ From claus.reinke at talk21.com Wed Aug 20 15:30:16 2008 From: claus.reinke at talk21.com (Claus Reinke) Date: Wed Aug 20 15:29:15 2008 Subject: [Haskell] Compiler Construction course using Haskell? References: <48AC243E.2070200@imn.htwk-leipzig.de> Message-ID: <019c01c902fb$2e3e4710$2c408351@cr3lt> >I plan to give a course in compiler construction, >using Haskell as the implementation language >(not as source or target language). This might be of interest: http://www.cs.nott.ac.uk/~nhn/G52CMP/index.html >Something along these lines: >1. combinator parsers (Parsec), >2. simple interpreter (arithmetical expressions) >3. add algebraic data types, functions >4. type checker >5. code generator. >Ideally, 2..5 would be using the very same tree traversal code >and just change the monad for evaluation. This has me worried slightly: do you intend to showcase monads, or do you intend to teach compiler construction? Just wondering, Claus From jason.dusek at gmail.com Wed Aug 20 18:17:14 2008 From: jason.dusek at gmail.com (Jason Dusek) Date: Wed Aug 20 18:16:08 2008 Subject: [Haskell] Re:Fwd: Haskell job opportunity: Platform Architect at In-Reply-To: <90889fe70808201112w4cf238b3i90fa5df477324a72@mail.gmail.com> References: <26155532.1219248877855.JavaMail.root@elwamui-ovcar.atl.sa.earthlink.net> <90889fe70808201112w4cf238b3i90fa5df477324a72@mail.gmail.com> Message-ID: <42784f260808201517h2d81278bt273f12f00d77fe7e@mail.gmail.com> What is your company going to do? -- _jsn From jason.dusek at gmail.com Wed Aug 20 19:57:49 2008 From: jason.dusek at gmail.com (Jason Dusek) Date: Wed Aug 20 19:56:42 2008 Subject: [Haskell] Re:Fwd: Haskell job opportunity: Platform Architect at In-Reply-To: <26155532.1219248877855.JavaMail.root@elwamui-ovcar.atl.sa.earthlink.net> References: <26155532.1219248877855.JavaMail.root@elwamui-ovcar.atl.sa.earthlink.net> Message-ID: <42784f260808201657j5254c127me1a8113db70c5315@mail.gmail.com> Let's make World of Warcraft! -- _jsn From DekuDekuplex at Yahoo.com Thu Aug 21 02:23:49 2008 From: DekuDekuplex at Yahoo.com (Benjamin L.Russell) Date: Thu Aug 21 02:22:49 2008 Subject: [Haskell] Re: Fwd: Haskell job opportunity: Platform Architect at References: <26155532.1219248877855.JavaMail.root@elwamui-ovcar.atl.sa.earthlink.net> <90889fe70808201112w4cf238b3i90fa5df477324a72@mail.gmail.com> Message-ID: <4a2qa4p9pra6a97dur8ta5c11vk8s97it1@4ax.com> On Wed, 20 Aug 2008 20:12:00 +0200, "Johan Tibell" wrote: >On Wed, Aug 20, 2008 at 6:14 PM, Bert Mayo wrote: >> Fat Chance. My resume has been knocking on their email mail box since last weekend. Apparently the mail box is already stuffed full with applications from eager Haskellers. Thousands of Haskellers chasing one job! >> >> Why don't some of you geniuses start businesses to employ some of this eager talent? > >Hardly a genius but I would be up for starting a company. Any takers? :) Let me know if you want to hire somebody for writing/documentation work on a telecommuting basis. Perhaps I could help market your product in Tokyo, since I live there. :-) -- Benjamin L. Russell From nr at eecs.harvard.edu Thu Aug 21 22:46:00 2008 From: nr at eecs.harvard.edu (Norman Ramsey) Date: Thu Aug 21 22:44:51 2008 Subject: [Haskell] Compiler Construction course using Haskell? In-Reply-To: <48AC243E.2070200@imn.htwk-leipzig.de> (sfid-H-20080820-101307-+32.11-1@multi.osbf.lua) References: <48AC243E.2070200@imn.htwk-leipzig.de> (sfid-H-20080820-101307-+32.11-1@multi.osbf.lua) Message-ID: <20080822024602.15707138473@drdoom.eecs.harvard.edu> > I plan to give a course in compiler construction, > using Haskell as the implementation language > (not as source or target language). > > Something along these lines: > 1. combinator parsers (Parsec), > 2. simple interpreter (arithmetical expressions) > 3. add algebraic data types, functions > 4. type checker > 5. code generator. > Ideally, 2..5 would be using the very same tree traversal code > and just change the monad for evaluation. > > Any comments appreciated. Have you given such a course? Taken? In Fall 2006 I gave a graduate course in advanced functional programming in which the default project was a compiler from a functional language of the student's own design to the 2D circuit language invented by the Cult of the Bound Variable. The project was primarily an excuse to read papers about parsing combinators, polymorphic typed defunctionalization, A-Normal Form, generics for the masses, linear types, and so on, and to implement all that stuff in Haskell. This all worked out tolerably well but would need a lot of polishing before I would want to use the project again. However I can say that I found it very pleasant to write the compiler in Haskell. Prepare for your students to have difficulty figuring out exactly what monad to use where and also to have difficulty exploiting type classes. Also, it's not clear what you plan for register allocation or what machine you're intending to target. Also not clear how you plan to deal with memory management---if you have first-class, nested functions in the source language, you pretty much have to have a garbage collector. If I were in your shoes, these are the questions I'd be thinking about. Norman From ppk at cse.iitk.ac.in Thu Aug 21 23:53:47 2008 From: ppk at cse.iitk.ac.in (Piyush P Kurur) Date: Thu Aug 21 23:48:46 2008 Subject: [Haskell] Another First course in Haskell Message-ID: <20080822035347.GA23256@cse.iitk.ac.in> Hi, I am planing a haskell based functional programming course. It is supposed to be a first course and I intend to show how real world applications can be built quite easily in haskell. Goals: 1) Cover all the basics like recursion, interesting data structures like zippers, monads 2) Haskell programming environment: by this I mean things like ghci, hadock, cabal The students after the course should seriously consider Haskell as a programming language for implementing their final year projects. In this aspect if one can convince that things like web-programming cgi scripting, networking, compiler projects, which are the favorits for programming projects, are better done in Haskell than in traditional languages like C and Java that would be a success. The course will be taken by mostly Computer Science undergrads. Any feed back is really welcome. I have about 2-3 months to plan the course. Regards ppk From arnarbi at gmail.com Fri Aug 22 06:04:59 2008 From: arnarbi at gmail.com (Arnar Birgisson) Date: Fri Aug 22 06:03:48 2008 Subject: [Haskell] Compiler Construction course using Haskell? In-Reply-To: <20080822024602.15707138473@drdoom.eecs.harvard.edu> References: <48AC243E.2070200@imn.htwk-leipzig.de> <20080822024602.15707138473@drdoom.eecs.harvard.edu> Message-ID: <28012bc60808220304p41dc7795h5c12f011a6cb78a6@mail.gmail.com> On Fri, Aug 22, 2008 at 02:46, Norman Ramsey wrote: > In Fall 2006 I gave a graduate course in advanced functional > programming in which the default project was a compiler from a > functional language of the student's own design to the 2D circuit > language invented by the Cult of the Bound Variable. The project was > primarily an excuse to read papers about parsing combinators, > polymorphic typed defunctionalization, A-Normal Form, generics for the > masses, linear types, and so on, and to implement all that stuff in Haskell. As a student, I find this very interesting. Would you happen to have a syllabus or other course material (list of papers, assignments, etc.) available online? cheers, Arnar From nr at eecs.harvard.edu Fri Aug 22 18:53:51 2008 From: nr at eecs.harvard.edu (Norman Ramsey) Date: Fri Aug 22 18:52:39 2008 Subject: [Haskell] Compiler Construction course using Haskell? In-Reply-To: <28012bc60808220304p41dc7795h5c12f011a6cb78a6@mail.gmail.com> (sfid-H-20080822-061311-+69.45-1@multi.osbf.lua) References: <48AC243E.2070200@imn.htwk-leipzig.de> <20080822024602.15707138473@drdoom.eecs.harvard.edu> <28012bc60808220304p41dc7795h5c12f011a6cb78a6@mail.gmail.com> (sfid-H-20080822-061311-+69.45-1@multi.osbf.lua) Message-ID: <20080822225353.06D7313848C@drdoom.eecs.harvard.edu> > On Fri, Aug 22, 2008 at 02:46, Norman Ramsey wrote: > > In Fall 2006 I gave a graduate course in advanced functional programming > > in which the default project was a compiler from a functional language of > > the student's own design to the 2D circuit language invented by the Cult > > of the Bound Variable... > > .... Would you happen to have a > syllabus or other course material available online? Yes: http://www.cs.tufts.edu/~nr/cs252r/ Norman From ashley at semantic.org Sun Aug 24 19:12:18 2008 From: ashley at semantic.org (Ashley Yakeley) Date: Sun Aug 24 19:11:05 2008 Subject: [Haskell] Top Level <- Message-ID: Is there any interest in implementing a top level "<-" to run monadic code? Currently this sort of thing is done with unsafePerformIO and switching off inlining with some pragma. Indeed, the 'atomically' haddock actually advises doing this to declare top-level TVars. The same trick is used in the source of Data.Unique and System.Random. This is bad Haskell. To avoid observation of effects, etc., we would need a new monad rather than IO. There would be equivalents of IO functions such as these: newIORef newMVar newTVarIO newUnique I can think of two uses: 1. Global mutable state. For instance, here's the count variable for Data.Unique rewritten: uniqSource :: MVar Integer uniqSource <- newMVarTL 0 Isn't that much nicer? 2. Solving the expression problem using open witnesses, a recent hobby-horse of mine. For instance, here's a simple scheme for extensible exceptions using top-level "<-": -- declare exception carrying an Int myException :: Exn Int <- newExn -- throw with 5 foo = do ... throw myException 5 -- catch, print the Int bar = catch foo myException (\i -> putStrLn (show i)) I already have code for this, except with an unsafe hack to do the "<-" declaration: My open-witness package, which also shows how to do Typeable/Dynamic safely: -- Ashley Yakeley Seattle, WA From wss at cs.nott.ac.uk Mon Aug 25 04:28:43 2008 From: wss at cs.nott.ac.uk (Wouter Swierstra) Date: Mon Aug 25 04:27:30 2008 Subject: [Haskell] ANN: The Monad.Reader - Issue 11 Message-ID: I am pleased to announce that a new issue of The Monad.Reader is now available: http://www.haskell.org/haskellwiki/The_Monad.Reader Issue 11 consists of 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! The Monad.Reader is a quarterly magazine about functional programming. It is less formal than a journal, but a bit more enduring than a wiki page or blog post. If you'd like to write something for the next issue of The Monad.Reader, please get in touch. I haven't fixed the deadline for the next issue just yet. Expect a deadline early 2009. Wouter From ekmett at gmail.com Mon Aug 25 10:43:36 2008 From: ekmett at gmail.com (Edward Kmett) Date: Mon Aug 25 10:42:17 2008 Subject: [Haskell] Top Level <- In-Reply-To: References: Message-ID: <7fb8f82f0808250743wb7b7fablc2c6d2188e863dfa@mail.gmail.com> On Sun, Aug 24, 2008 at 7:12 PM, Ashley Yakeley wrote: > Is there any interest in implementing a top level "<-" to run monadic code? > This is actually implemented in jhc. See the 'top level actions' section of http://repetae.net/computer/jhc/manual.html -Edward Kmett -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20080825/d5233372/attachment.htm From ahey at iee.org Mon Aug 25 11:55:05 2008 From: ahey at iee.org (Adrian Hey) Date: Mon Aug 25 11:53:53 2008 Subject: [Haskell] Top Level <- In-Reply-To: <7fb8f82f0808250743wb7b7fablc2c6d2188e863dfa@mail.gmail.com> References: <7fb8f82f0808250743wb7b7fablc2c6d2188e863dfa@mail.gmail.com> Message-ID: <48B2D5D9.8020608@iee.org> (Moving to Haskell cafe) Edward Kmett wrote: > On Sun, Aug 24, 2008 at 7:12 PM, Ashley Yakeley wrote: > >> Is there any interest in implementing a top level "<-" to run monadic code? >> > > This is actually implemented in jhc. See the 'top level actions' section of > http://repetae.net/computer/jhc/manual.html Gosh! I was always quite impressed by Johns determination to write a Haskell compiler and by his self discipline in resisting the temptation to fix everything that was wrong with Haskell and keep to standards :-) I implemented my own ACIO monad a while ago (which is of course quite useless without top level <- bindings) and it turned out that there was quite a lot that could go in here. The only problem seemed to be that some things that seemed perfectly reasonable to create via ACIO had *IO* finalisers associated with them, which didn't feel right to me. But if you think about how finalisers get run I'm inclined to think we should insist that they are ACIO too. Regards -- Adrian Hey From john at repetae.net Mon Aug 25 22:03:26 2008 From: john at repetae.net (John Meacham) Date: Mon Aug 25 22:02:13 2008 Subject: [Haskell-cafe] Re: [Haskell] Top Level <- In-Reply-To: <48B2D5D9.8020608@iee.org> References: <7fb8f82f0808250743wb7b7fablc2c6d2188e863dfa@mail.gmail.com> <48B2D5D9.8020608@iee.org> Message-ID: <20080826020325.GB15616@sliver.repetae.net> On Mon, Aug 25, 2008 at 04:55:05PM +0100, Adrian Hey wrote: > (Moving to Haskell cafe) > > Edward Kmett wrote: >> On Sun, Aug 24, 2008 at 7:12 PM, Ashley Yakeley wrote: >> >>> Is there any interest in implementing a top level "<-" to run monadic code? >>> >> >> This is actually implemented in jhc. See the 'top level actions' section of >> http://repetae.net/computer/jhc/manual.html > > Gosh! I was always quite impressed by Johns determination to write a > Haskell compiler and by his self discipline in resisting the temptation > to fix everything that was wrong with Haskell and keep to standards :-) Heh. :) I have not had much time recently to work on jhc. but I hope to pick it up full steam soon. There have been a lot of strong contributers in the community as well. (sigh. day job syndrome). > I implemented my own ACIO monad a while ago (which is of course quite > useless without top level <- bindings) and it turned out that there > was quite a lot that could go in here. Yeah, I based my design on what I thought was the 'community consensus' on how they should look the last time the discussion came up. (not counting those that were adamantly opposed to the idea alltogether ;) ) I forgot who came up with the original ACIO idea, but I'd give them props in the manual if they wish. > The only problem seemed to be that some things that seemed perfectly > reasonable to create via ACIO had *IO* finalisers associated with them, > which didn't feel right to me. But if you think about how finalisers > get run I'm inclined to think we should insist that they are ACIO too. Yeah, this sounds like a great idea. there were a whole lot of issues dealing with finalizers and concurrency, and restricting them in some way similar to ACIO might be good... however, you want something a little weaker than ACIO I think. it must satisfy the ACIO conditions, but _may_ assume its argument (the item being collected) is never referenced again. hence something like 'free' is okay which wouldn't be if other references to the object exist. do you think that is 'formal' enough of a description? seems clear enough if ACIO is well defined which I think it is. John -- John Meacham - ?repetae.net?john? From bulat.ziganshin at gmail.com Tue Aug 26 11:01:30 2008 From: bulat.ziganshin at gmail.com (Bulat Ziganshin) Date: Tue Aug 26 11:11:18 2008 Subject: [Haskell] Top Level <- In-Reply-To: References: Message-ID: <534781822.20080826190130@gmail.com> Hello Ashley, Monday, August 25, 2008, 3:12:18 AM, you wrote: > Is there any interest in implementing a top level "<-" to run monadic code? yes, definitely. as it's hard to develop "real" app w/o using global vars, h98 still remains "unreal" language but from my POV it's important to push this feature into haskell standard -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com From derek.a.elkins at gmail.com Tue Aug 26 12:14:21 2008 From: derek.a.elkins at gmail.com (Derek Elkins) Date: Tue Aug 26 12:12:58 2008 Subject: [Haskell] Top Level <- In-Reply-To: <534781822.20080826190130@gmail.com> References: <534781822.20080826190130@gmail.com> Message-ID: <1219767261.5868.0.camel@derek-laptop> On Tue, 2008-08-26 at 19:01 +0400, Bulat Ziganshin wrote: > Hello Ashley, > > Monday, August 25, 2008, 3:12:18 AM, you wrote: > > > Is there any interest in implementing a top level "<-" to run monadic code? > > yes, definitely. as it's hard to develop "real" app w/o using global > vars, h98 still remains "unreal" language > > but from my POV it's important to push this feature into haskell > standard Haskell should be moving -toward- a capability-like model, not away from it. From S.Scholz at herts.ac.uk Tue Aug 26 13:26:38 2008 From: S.Scholz at herts.ac.uk (Sven-Bodo Scholz) Date: Tue Aug 26 13:25:17 2008 Subject: [Haskell] Final CFP and extended deadline IFL 2008 Message-ID: <20080826172638.GA10945@herts.ac.uk> ******************************************************************************** * * FINAL CALL FOR PAPERS -- EXTENDED DEADLINE!! * CALL FOR PARTICIPATION * * 20th International Symposium on the * Implementation and Application of Functional Languages * IFL 2008 * 10-12.Sept 2008, Hatfield UK * * http://events.sac-home.org/ifl2008/ * ******************************************************************************** UPDATED DEADLINES: * Submission for draft proceedings: NOW 1. Sept * Early Registration: NOW 2. Sept Please note, that the draft proceedings do NOT require full papers; extended abstracts will be considered too. ******************************************************************************** The aim of the IFL symposia is to bring together researchers actively engaged in the implementation and application of functional and function-based programming languages. They provide an open forum for researchers who wish to present and discuss new ideas and concepts, work in progress, preliminary results, etc. related primarily but not exclusively to the implementation and application of functional languages. Formal proceedings are produced after the symposium, so that authors can incorporate the feedback from discussions at the symposium in their published papers. Topics ====== Topics of interest include, but are not limited to: * language concepts * type checking * compilation techniques * (abstract) interpretation * generic programming techniques * automatic program generation * array processing * concurrent/parallel programming * concurrent/parallel program execution * functional programming on embedded systems * functional programming on multi-cores/ many-cores * heap management * runtime profiling * performance measurements * debugging and tracing * (abstract) machine architectures * verification * formal aspects * tools and programming techniques Papers on applications or tools demonstrating the suitability of novel ideas in any of the above areas and contributions on related theoretical work are also welcomed. The change of the symposium name adding the term application, introduced in 2004, is to reflect the broader scope IFL has gained over the years. Paper Submissions ================= Prospective authors are encouraged to submit papers to be published in the draft proceedings and to present them at the symposium. All contributions must be written in English, conform to the Springer-Verlag LNCS series format and not exceed 16 pages. The draft proceedings will appear as a Technical Report of the School of Computer Science of the University of Hertfordshire. Attendees of IFL 2008 will have the opportunity to submit a revised version of their paper for post-symposium reviewing. As in previous years, we hope that selected papers will be published by Springer Verlag in the Lecture Notes in Computer Science (LNCS) Series. The Peter Landin Prize ====================== Since 2002 every year the Peter Landin Prize of 150 GBP is awarded to the best paper presented at the symposium, as selected by the program committee. Important Dates =============== * Submission for draft proceedings: NOW 1. Sept. * Early Registration: NOW 2. Sept. * Symposium: 10-12. September * Submission for post-refereeing: 14. November * Notification of acceptance / rejection: 23. January 2009 * Submission of a camera ready version: 20. February 2009 Contact ======= For further details see or contact us by email: events sac-home.org From emax at chalmers.se Wed Aug 27 13:02:50 2008 From: emax at chalmers.se (Emil Axelsson) Date: Wed Aug 27 13:01:31 2008 Subject: [Haskell] ANNOUNCE: Wired 0.1.1 Message-ID: <48B588BA.3050900@chalmers.se> Hello, This is to announce the first release of the hardware description library Wired. Wired can be seen as an extension to Lava that targets (not exclusively) semi-custom VLSI design. A particular aim of Wired is to give the designer more control over the routing wires' effects on performance. The only working backends in this version are simulation and verification (through Lava), and generation of postscript layouts. Soon, there will also be static timing analysis and DEF file generation. The DEF format is accepted by most tools for physical design. Wired is available from Hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Wired or using Darcs: darcs get http://www.cs.chalmers.se/~emax/darcs/Wired/ There is also a homepage at: http://www.cs.chalmers.se/~emax/wired/index.html Comments, questions, patches are welcome. Cheers, / Emil From byorgey at seas.upenn.edu Sat Aug 30 15:07:22 2008 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Sat Aug 30 15:05:58 2008 Subject: [Haskell] Haskell Weekly News: Issue 83 - August 30, 2008 Message-ID: <20080830190721.GA31316@minus.seas.upenn.edu> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20080830 Issue 83 - August 30, 2008 --------------------------------------------------------------------------- Welcome to issue 83 of HWN, a newsletter covering developments in the [1]Haskell community. This is the "better late than never" edition. As an excuse I could tell you that my home internet service has been horrible (now fixed) and I was away from home for a few days with my wife celebrating our third wedding anniversary. But instead, I give you a link to the [2]Uncyclopedia entry on Haskell. If you haven't already seen it, you should give it a read, being sure not to drink any milk at the same time, or at least pointing your nose away from the keyboard if you insist on drinking milk. Community News If Dell sends John Goerzen (CosmicRay) one more catalog, it will [3]actually be a federal crime. Announcements LogFloat 0.9. wren ng thornton [4]announced a new official release of the [5]logfloat package for manipulating log-domain floating numbers. This release is mainly for those who are playing with Transfinite rather than LogFloat, but the interface changes warrant a minor version change. validating xml lib - need some guidance. Marc Weber [6]asked for help developing an xml generating library validating the result against a given DTD. gsl-random 0.1 and monte-carlo-0.1. Patrick Perry [7]announced that he has started on [8]bindings for the random number generators and random distributions provided by the gsl. He has also written a [9]monad and transformer for doing monte carlo computations that uses gsl-random internally. For a quick tutorial in the latter package, see [10]his blog. Wired 0.1.1. Emil Axelsson [11]announced the first release of the hardware description library [12]Wired. Wired can be seen as an extension to Lava that targets (not exclusively) semi-custom VLSI design. A particular aim of Wired is to give the designer more control over the routing wires' effects on performance. darcs weekly news #1. Eric Kow [13]sent out the first edition of the new Darcs Weekly News! zip-archive 0.0. John MacFarlane [14]announced the release of the [15]zip-archive library for dealing with zip archives. The Monad.Reader - Issue 11. Wouter Swierstra [16]announced a new issue of [17]The Monad.Reader, with articles by David Place, Kenn Knowles, and Doug Auclair. First Monad Tutorial of the Season. Hans van Thiel [18]announced a new monad tutorial, [19]The Greenhorn's Guide to becoming a Monad Cowboy. "Real World Haskell" hits a milestone. Bryan O'Sullivan [20]proudly announced that the draft manuscript of Real World Haskell is [21]complete! It is now available online in its entirety. The authors expect the final book to be published around the beginning of November, and to weigh in at about 700 pages. Mueval 0.5.1, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.6.4. Gwern Branwen [22]announced a number of new releases of [23]Mueval. Lambdabot now uses mueval for all its dynamic Haskell evaluation needs. Hoogle Database Generation. Neil Mitchell (ndm) [24]announced that a new release of the [25]Hoogle command line is out, including bug fixes and additional features. Upgrading is recommended.Two interesting features of Hoogle 4 are working with multiple function databases (from multiple packages), and running your own web server. Blog noise [26]Haskell news from the [27]blogosphere. * Real-World Haskell: [28]Source handed over to production. * Douglas M. Auclair (geophf): [29]Earning \bot-Trophies. * Douglas M. Auclair (geophf): [30]Scanner-parsers II: State Monad Transformers. * Douglas M. Auclair (geophf): [31]Scanner-parsers I: lifting functions. * >>> software engineering radio: [32]Episode 108: Simon Peyton Jones on Functional Programming and Haskell. A podcast interview with Simon Peyton Jones. * Neil Mitchell: [33]Running your own Hoogle on a Web Server. * Braden Shepherdson: [34]Announcing xmonad-light. Braden is rolling out a new configuration framework for xmonad, providing an easier learning curve for those not wanting to learn Haskell right away, and an easy transition to a more powerful Haskell configuration when they want it. * Gabor Grief: [35]Category. Gabor is excited that base-3.0 will include Control.Category. * Douglas M. Auclair (geophf): [36]Ten = 1+2+3+4. Solving an arithmetic puzzle with Haskell, Prolog-style. * Paul R Brown: [37]perpubplat now on github. * Douglas M. Auclair (geophf): [38]"Lucky you!"?. Doug shares some secrets of his success in getting Haskell/Dylan/Mercury/Prolog jobs. * Neil Mitchell: [39]Hoogle Database Generation. Neil releases a new command-line version of Hoogle, including bug fixes and additional features -- multiple function databases and the ability to run your own Hoogle server. * Patrick Perry: [40]A Monte Carlo Monad for Haskell. * Mads Lindstroem: [41]Proposal: Adding composability to WxHaskell. * Tom Moertel: [42]PXSL Tools now on Hackage and GitHub. * Gabor Greif: [43]Uploaded. Gabor uploads his first contribution to Hackage, [44]thrist-0.1. * Muad`Dib (vixey): [45]Tail Call Optimization doesn't exist in Haskell. * >>> Hans van Thiel: [46]The Greenhorn's Guide to becoming a Monad Cowboy. YAMT * Dan Piponi (sigfpe): [47]Untangling with Continued Fractions: Part 2. Dan continues his excellent series on rational tangles, this time showing the connection between tangles and rational numbers. * >>> Praki Prakash: [48]Learning Haskell Redux. * Gabor Greif: [49]Ca(ni)balized. Gabor creates his first cabal package! * Real-World Haskell: [50]Our writing is now complete!. * Tom Moertel: [51]Thinking algebraically: a functional-programming dividend that pays during your imperative-programming day job. * Jason Dagit: [52]Darcs 2 Real-World Push Performance Evaluation. * Well-Typed.Com: [53]What's wrong with make?. A lot, apparently: it's too static, and makes it easy to write incorrect rules. Duncan (dcoutts) provides an analysis. * Dougal Stanton: [54]Lord of the Flies as a window onto monadic IO. * Real-World Haskell: [55]A tighter page count estimate. Real World Haskell is going to be about 700 pages!? * Real-World Haskell: [56]Real World Haskell tutorial next month at DEFUN 2008. Quotes of the Week * shepheb: #haskell isn't so much on-topic when discussing Haskell, but off-off-topic. * chrisdone: it's neat how you learn haskell because you are drawn in by the purely functional paradigm, and then you find loads more things like algebraic data types, monad abstractions, arrows and applicative, lack of objects... so that when people say "well, it's not haskell, but at least X is functional", it's just not the same at all * lambdabot: [tristes_tigres] @vixen unsafe [lambdabot] you're turning me on :) * b\6: sometimes i make variables f and ck and find some reason to multiply them like f*ck if i'm having a bad day. * waynemokane: wow... thanks everyone - it looks like I have a full day of reading type signatures ahead of me. * mauke: call/cthulhu * seydar: monads are just like saran wrap. * b\6: keep this info private, but you can actually overclock your brain. the technique i use is to loop mplayer playing oggs but increase the speed like -speed 1.25 for 125% normal. your brain's speed increases accordingly, allowing you to solve problems much more easily. About the Haskell Weekly News New editions are posted to [57]the Haskell mailing list as well as to [58]the Haskell Sequence and [59]Planet Haskell. [60]RSS is also available, and headlines appear on [61]haskell.org. To help create new editions of this newsletter, please see the information on [62]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [63]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://uncyclopedia.org/wiki/Haskell 3. http://changelog.complete.org/posts/741-From-Dell,-a-Uniquely-Terrible-Experience.html 4. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43829 5. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/logfloat 6. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43825 7. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43764 8. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/gsl-random 9. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/monte-carlo 10. http://quantile95.com/2008/08/27/a-monte-carlo-monad-for-haskell/ 11. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43658 12. http://www.cs.chalmers.se/~emax/wired/index.html 13. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43626 14. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43539 15. http://johnmacfarlane.net/zip-archive/ 16. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43491 17. http://www.haskell.org/haskellwiki/The_Monad.Reader 18. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43403 19. http://www.muitovar.com/monad/moncow.xhtml 20. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43401 21. http://www.realworldhaskell.org/blog/2008/08/22/our-writing-is-now-complete/ 22. http://article.gmane.org/gmane.comp.lang.haskell.cafe/43372 23. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mueval 24. http://neilmitchell.blogspot.com/2008/08/hoogle-database-generation.html 25. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hoogle 26. http://planet.haskell.org/ 27. http://haskell.org/haskellwiki/Blog_articles 28. http://www.realworldhaskell.org/blog/2008/08/30/source-handed-over-to-production/ 29. http://logicaltypes.blogspot.com/2008/08/earning.html 30. http://logicaltypes.blogspot.com/2008/08/scanner-parsers-ii-state-monad.html 31. http://logicaltypes.blogspot.com/2008/08/scanner-parsers-i-lifting-functions.html 32. http://www.se-radio.net/podcast/2008-08/episode-108-simon-peyton-jones-functional-programming-and-haskell 33. http://neilmitchell.blogspot.com/2008/08/running-your-own-hoogle-on-web-server.html 34. http://braincrater.wordpress.com/2008/08/28/announcing-xmonad-light/ 35. http://heisenbug.blogspot.com/2008/08/category.html 36. http://logicaltypes.blogspot.com/2008/08/ten-1234.html 37. http://mult.ifario.us/p/perpubplat-now-on-github 38. http://logicaltypes.blogspot.com/2008/08/lucky-you.html 39. http://neilmitchell.blogspot.com/2008/08/hoogle-database-generation.html 40. http://quantile95.com/2008/08/27/a-monte-carlo-monad-for-haskell/ 41. http://lindstroem.wordpress.com/2008/03/16/proposal-adding-composability-to-wxhaskell/ 42. http://blog.moertel.com/articles/2008/08/24/pxsl-tools-now-on-hackage-and-github 43. http://heisenbug.blogspot.com/2008/08/uploaded.html 44. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/thrist 45. http://muaddibspace.blogspot.com/2008/08/tail-call-optimization-doesnt-exist-in.html 46. http://www.muitovar.com/monad/moncow.xhtml 47. http://sigfpe.blogspot.com/2008/08/untangling-with-continued-fractions_23.html 48. http://monadict.blogspot.com/2008/08/learning-haskell-redux-when-you-are.html 49. http://heisenbug.blogspot.com/2008/08/canibalized.html 50. http://www.realworldhaskell.org/blog/2008/08/22/our-writing-is-now-complete/ 51. http://blog.moertel.com/articles/2008/08/20/thinking-algebraically-a-functional-programming-dividend-that-pays-during-your-imperative-programming-day-job 52. http://blog.codersbase.com/2008/08/21/darcs-2-real-world-push-performance-evaluation/ 53. http://blog.well-typed.com/2008/08/whats-wrong-with-make/ 54. http://www.dougalstanton.net/blog/index.php/2008/08/21/lord-of-the-flies-as-a-window-onto-monadic-io/ 55. http://www.realworldhaskell.org/blog/2008/08/20/a-tighter-page-count-estimate/ 56. http://www.realworldhaskell.org/blog/2008/08/20/real-world-haskell-tutorial-next-month-at-defun-2008/ 57. http://www.haskell.org/mailman/listinfo/haskell 58. http://sequence.complete.org/ 59. http://planet.haskell.org/ 60. http://sequence.complete.org/node/feed 61. http://haskell.org/ 62. http://haskell.org/haskellwiki/HWN 63. http://code.haskell.org/~byorgey/code/hwn/ From andreas.abel at ifi.lmu.de Sun Aug 31 16:05:32 2008 From: andreas.abel at ifi.lmu.de (Andreas Abel) Date: Sun Aug 31 16:03:54 2008 Subject: [Haskell] Compiler Construction course using Haskell? In-Reply-To: <48AC243E.2070200@imn.htwk-leipzig.de> References: <48AC243E.2070200@imn.htwk-leipzig.de> Message-ID: <48BAF98C.7000508@ifi.lmu.de> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dear Johannes, Hans-Wolfgang Loidl and I have given a course on compiler construction using Andrew Appel's book. There was free choice of the implementation language, and we had Java (2 teams and Hans-Wolfgang), python (one team), and Haskell (me). http://www.tcs.ifi.lmu.de/lehre/WS07-08/Compiler/schedule.html (German) I found Haskell very pleasent to use. However, one traversal of the abstract syntax tree did not suffice to generate Intel code. We used an intermediate language on which one can perform optimizations, a greedy instruction selector, and then liveness analysis and graph coloring for register allocation. We developed some tools to support the compiler development, such as an interpreter for the intermediate language and one for a relevant subset of the 386 assembly language (all programmed in Haskell). Cheers, Andreas Johannes Waldmann wrote: > Hello. > > I plan to give a course in compiler construction, > using Haskell as the implementation language > (not as source or target language). > > Something along these lines: > 1. combinator parsers (Parsec), > 2. simple interpreter (arithmetical expressions) > 3. add algebraic data types, functions > 4. type checker > 5. code generator. > Ideally, 2..5 would be using the very same tree traversal code > and just change the monad for evaluation. > > Any comments appreciated. Have you given such a course? Taken? > > If I really decide to do it, > then slides (in German) will be made available. > > Best regards, J.W. > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell - -- Andreas Abel <>< Du bist der geliebte Mensch. Theoretical Computer Science, University of Munich http://www.tcs.informatik.uni-muenchen.de/~abel/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIuvmMPMHaDxpUpLMRAuPSAJwMsgSyBGVxC70Gj47EWxmsb1EYXwCg2HFl HD5fFSn3LatfBPCztguZ+tg= =/5lz -----END PGP SIGNATURE----- From amal.j.ahmed at gmail.com Sun Aug 31 22:18:30 2008 From: amal.j.ahmed at gmail.com (Amal Ahmed) Date: Sun Aug 31 22:16:47 2008 Subject: [Haskell] TLDI 2009 Call for Papers Message-ID: <666bd19b0808311918i38a346dds35b18193996d9aec@mail.gmail.com> ********************************************************************* CALL FOR PAPERS TLDI 2009 ACM SIGPLAN Workshop on Types in Language Design and Implementation 24 January 2009 Savannah, Georgia, USA To be held in conjunction with POPL 2009 http://ttic.uchicago.edu/~amal/tldi2009/ ********************************************************************* IMPORTANT DATES Submission: 8 Oct 2008, 5PM EDT (Wed) Notification: 8 Nov 2008 (Sat) Camera ready: 19 Nov 2008 (Wed) TLDI'09: 24 January 2009 (Sat) SCOPE The role of types and proofs in all aspects of language design, compiler construction, and software development has expanded greatly in recent years. Type systems, type analyses, and formal deduction have led to new concepts in compilation techniques for modern programming languages, verification of safety and security properties of programs, program transformation and optimization, and many other areas. In light of this expanding role of types, the ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI'09) follows six previous International Workshops on types in compilation and language design (TIC'97, TIC'98, TIC'00, TLDI'03, TLDI'05, and TLDI'07), with the hope of bringing together researchers to share new ideas and results in this area. Submissions for this event are invited on all interactions of types with language design, implementation, and programming methodology. This includes both practical applications and theoretical aspects. TLDI'09 specifically encourages papers from a broad field of programming language and compiler researchers, including those working in object-oriented, dynamically-typed, late-binding, systems programming, and mobile-code paradigms, as well as traditional fully-static type systems. Topics of interest include: - Typed intermediate languages and type-directed compilation - Type-based language support for safety and security - Types for interoperability - Type systems for system programming languages - Type-based program analysis, transformation, and optimization - Dependent types and type-based proof assistants - Types for security protocols, concurrency, and distributed computing - Type inference and type reconstruction - Type-based specifications of data structures and program invariants - Type-based memory management - Proof-carrying code and certifying compilation This is not meant to be an exhaustive list; papers on novel utilizations of type information are welcome. Authors concerned about the suitability of a topic are encouraged to inquire via electronic mail to the program chair prior to submission. SUBMISSION GUIDELINES Authors should submit a full paper of no more than 12 pages (including bibliography and appendices) by Wednesday, October 8, 2008 5PM Eastern Daylight Savings Time. The submission deadline and length limitations are firm. Submissions that do not meet these guidelines will not be considered. All submissions should be in standard ACM SIGPLAN conference format: two columns, nine-point font on a ten-point baseline. Detailed formatting guidelines are available on the SIGPLAN Author Information page, along with a LaTeX class file and template: http://www.sigplan.org/authorInformation.htm Papers must be submitted in Adobe Portable Document Format (PDF) and must be formatted for US Letter size (8.5"x11") paper. Authors for whom this is a hardship should contact the program chair before the deadline. Submitted papers must adhere to the SIGPLAN Republication Policy: http://www.sigplan.org/republicationpolicy.htm Submissions should contain original research not published or submitted for publication elsewhere. The URL for submission will be announced closer to the deadline. GENERAL CHAIR Andrew Kennedy Microsoft Research, Cambridge PROGRAM CHAIR Amal Ahmed Toyota Technological Institute, Chicago PROGRAM COMMITTEE Amal Ahmed Toyota Technological Institute, Chicago (Chair) Juan Chen Microsoft Research Peter Dybjer Chalmers University of Technology Jeff Foster University of Maryland, College Park Neal Glew Intel Robert Harper Carnegie Mellon Univers