From simonmarhaskell at gmail.com Thu Nov 1 05:10:46 2007 From: simonmarhaskell at gmail.com (Simon Marlow) Date: Thu Nov 1 05:08:11 2007 Subject: [Haskell] Image manipulation In-Reply-To: <20071101011516.GA3654@localhost.localdomain> References: <000c01c81a6b$98ea3d90$cabeb8b0$@com> <625b74080710291539s44840388j39eadd1b7e2d6462@mail.gmail.com> <200710310854.l9V8sX1u007441@ripper.it.kth.se> <87d4uvr4fj.fsf@nmd9999.imr.no> <20071101011516.GA3654@localhost.localdomain> Message-ID: <47299816.6070709@gmail.com> Stefan O'Rear wrote: > On Wed, Oct 31, 2007 at 10:58:40AM +0100, Ketil Malde wrote: >> Bjorn Lisper writes: >> >>> Wait, Jerzy. Haskell implementations do not have to be lazy as long as they >>> preserve the more abstract semantics. Optimistic evaluation has been >>> considered, for instance by Robert Ennals. >> I'm not sure if the GC hack proposed by Wadler? that lets the garbage >> collector replace "fst (a,b)" with "a" (and similar for other unchecked >> selectors) counts as optimistic evaluation, but I wonder what the >> status of this is. GHC doesn't seem to do it, and I wonder if there >> is any particular reason? Too specific? > > GHC nominally does do it (look for 'selector thunks' in the RTS and > commentary), but it doesn't work and we don't know why. > > http://hackage.haskell.org/trac/ghc/ticket/1038 GHC HEAD has a fix for the example in that ticket, and 6.8.1 has a workaround (I bumped the recursion depth limit enough to make it run in constant space). Do you have an example that still doesn't work, particularly with the HEAD? Cheers, Simon From tarmo at cs.ioc.ee Fri Nov 2 14:13:00 2007 From: tarmo at cs.ioc.ee (Tarmo Uustalu) Date: Fri Nov 2 14:24:55 2007 Subject: [Haskell] TYPES small workshop on Effects and Type Theory Message-ID: <20071102182738.BD836BF088@sool.cc.ioc.ee> In the frame of the extended EU FP6-funded TYPES project, we are organizing an ad hoc "small workshop" on integration of effects into type-theoretic programming/reasoning. This is an informal event and attendance is not confined to people involved in TYPES. On the contrary, attendance and contributions from outside the TYPES consortium are most welcome. The invited speakers are Paul Levy and Aleksandar Nanevski. --- Call for contibutions and participation Workshop on Effects and Type Theory, EffTT Tallinn, Estonia, 13-14 December 2007 http://cs.ioc.ee/efftt/ a "small workshop" of the TYPES project Background The syntax and semantics of impurities of computation known as effects have been an important challenge for functional programming. Today, we tend to employ categorically inspired tools such as monads, Lavwere theories and arrows, but also more pragmatic approaches such as uniqueness typing. Effects are an issue also for type-theoretic programming and reasoning, where a number of aspects make them specifically interesting. First, we do not yet know what the best dependently typed generalizations of our simply typed tools are, although we hope they would reinforce the dual utility of type-theoretic calculi as programming languages and logics. Second, this duality specifically forces that pure computations must terminate, so even nontermination is an impurity and potentially an effect. Third, is it not likely that the type-theoretic glasses can help us see more clearly the particularities of external-world effects such as true destructively updatable state and true interactive input-output? Thus, this workshop is exactly about effects and type theory. Topics of interest include * all kinds of dependent generalizations of monads and more * type-theoretic language design for effects * type-theoretic effectful programming methodology * time, nontermination and type theory * state and type theory, including combinations of Hoare-like logics and type theory * interactive input-output and type theory * theories of external-world effects * type theory and concurrency * type-theoretic descriptions of physical systems * and any further topics about effects and type theory Invited speakers Our invited speakers are Paul Levy (Birmingham) and Aleksandar Nanevski (Microsoft Research, Cambridge). Contributing a talk The rest of the programme will be based on contributed talks and discussions. If you would like to contribute a talk, send a title and abstract to efftt(at)cs.ioc.ee by 21 November 2007. Organizers The workshop organizers are Thorsten Altenkirch, Marino Miculan and Tarmo Uustalu. Venue The workshop will take place in the building of the Estonian Academy of Sciences on Tallinn's Dome Hill. The workshop dates are during the Tallinn Christmas market and the Christmas Jazz festival of Jazzkaar. Participating To register, please drop an email to efftt(at)cs.ioc.ee as soon as possible, but not later than 21 November 2007. Attendance is not confined to people involved in the TYPES project; the workshop is open to anyone interested. From igloo at earth.li Sat Nov 3 10:23:56 2007 From: igloo at earth.li (Ian Lynagh) Date: Sat Nov 3 10:21:11 2007 Subject: [Haskell] ANNOUNCE: GHC version 6.8.1 Message-ID: <20071103142356.GA10952@matrix.chaos.earth.li> ============================================================= The (Interactive) Glasgow Haskell Compiler -- version 6.8.1 ============================================================= The GHC Team is pleased to announce a new major release of GHC. There have been a number of significant changes since the last major release, including: * Haskell Program Coverage (hpc) support has been added to the compiler * GHCi now includes a debugger * The first phase of the base package split has been done * The code generator now uses pointer tagging (which should mean most code improves by 10-15%, and as a result the compiler is also faster). The full release notes are here: http://haskell.org/ghc/docs/6.8.1/html/users_guide/release-6-8-1.html How to get it ~~~~~~~~~~~~~ The easy way is to go to the web page, which should be self-explanatory: http://www.haskell.org/ghc/ We supply binary builds in the native package format for many platforms, and the source distribution is available from the same place. Packages will appear as they are built - if the package for your system isn't available yet, please try again later. Background ~~~~~~~~~~ Haskell is a standard lazy functional programming language; the current language version is Haskell 98, agreed in December 1998 and revised December 2002. GHC is a state-of-the-art programming suite for Haskell. Included is an optimising compiler generating good code for a variety of platforms, together with an interactive system for convenient, quick development. The distribution includes space and time profiling facilities, a large collection of libraries, and support for various language extensions, including concurrency, exceptions, and foreign language interfaces (C, whatever). GHC is distributed under a BSD-style open source license. A wide variety of Haskell related resources (tutorials, libraries, specifications, documentation, compilers, interpreters, references, contact information, links to research groups) are available from the Haskell home page (see below). On-line GHC-related resources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Relevant URLs on the World-Wide Web: GHC home page http://www.haskell.org/ghc/ GHC developers' home page http://hackage.haskell.org/trac/ghc/ Haskell home page http://www.haskell.org/ Supported Platforms ~~~~~~~~~~~~~~~~~~~ The list of platforms we support, and the people responsible for them, is here: http://hackage.haskell.org/trac/ghc/wiki/Contributors Ports to other platforms are possible with varying degrees of difficulty. The Building Guide describes how to go about porting to a new platform: http://hackage.haskell.org/trac/ghc/wiki/Building Developers ~~~~~~~~~~ We welcome new contributors. Instructions on accessing our source code repository, and getting started with hacking on GHC, are available from the GHC's developer's site run by Trac: http://hackage.haskell.org/trac/ghc/ Mailing lists ~~~~~~~~~~~~~ We run mailing lists for GHC users and bug reports; to subscribe, use the web interfaces at http://www.haskell.org/mailman/listinfo/glasgow-haskell-users http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs There are several other haskell and ghc-related mailing lists on www.haskell.org; for the full list, see http://www.haskell.org/mailman/listinfo/ Some GHC developers hang out on #haskell on IRC, too: http://www.haskell.org/haskellwiki/IRC_channel Please report bugs using our bug tracking system. Instructions on reporting bugs can be found here: http://www.haskell.org/ghc/reportabug From duncan.coutts at worc.ox.ac.uk Sun Nov 4 22:12:29 2007 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Sun Nov 4 22:06:41 2007 Subject: [Haskell] package maintainers: updating your packages to work with GHC 6.8.1 Message-ID: <1194232350.26140.151.camel@localhost> If you maintain a Haskell package this is for you. So now that GHC 6.8.1 is out you'll want to test your package with it. We'd especially like maintainers of packages that are distributed on hackage.haskell.org to test their packages and update them as necessary. However we would appreciate it if your packages will still work with GHC 6.6.x, so read below for details on how to do that. You'll most likely find that your package fails to build with GHC 6.8.1 with an error message like this: Could not find module `Data.Map': it is a member of package containers-0.1.0.0, which is hidden. This is the first symptom of the change in the base library in GHC 6.8.1. Several parts of the old base library got split out into separate packages. For example Data.Map is now in the containers package. Unfortunately this means most packages need updating. Of course you'd also like to make your packages continue to work with GHC 6.6.x (and perhaps older). If you go and just add containers to your package's build-depends then it will no longer work with GHC 6.6.x or older. So the solution at the moment is to use Cabal configurations like so: flag splitBase description: Choose the new smaller, split-up base package. library if flag(splitBase) build-depends: base >= 3, containers else build-depends: base < 3 Since this uses a new Cabal feature you'll have to make your packages require Cabal-1.2 or later: cabal-version: >=1.2 This is ok since Cabal-1.2.x comes with ghc-6.8 and can also be installed from hackage for older ghc versions. For a bigger example see Cabal's own .cabal file: http://hackage.haskell.org/packages/archive/Cabal/1.2.2.0/Cabal.cabal The new Cabal syntax is explained in the Cabal user guide: http://haskell.org/cabal/release/rc/doc/users-guide/x30.html#configurations This is all explained in more detail on the wiki: http://haskell.org/haskellwiki/Upgrading_packages And the details of other api changes in the libraries are in the GHC 6.8.1 release notes: http://haskell.org/ghc/docs/6.8.1/html/users_guide/release-6-8-1.html A list of packages on hackage that currently fail to build with GHC 6.8.1 is here: http://www.haskell.org/pipermail/libraries/2007-November/008529.html We realise that this change is rather disruptive, requiring changes in each package. We've started a wiki page with ideas on how to avoid this in future when the base package is shrunk again. http://hackage.haskell.org/trac/ghc/wiki/PackageCompatibility Duncan (Cabal release manager) From lemming at henning-thielemann.de Mon Nov 5 00:17:30 2007 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Mon Nov 5 00:14:37 2007 Subject: [Haskell] Re: [Haskell-cafe] package maintainers: updating your packages to work with GHC 6.8.1 In-Reply-To: <1194232350.26140.151.camel@localhost> References: <1194232350.26140.151.camel@localhost> Message-ID: On Mon, 5 Nov 2007, Duncan Coutts wrote: > If you maintain a Haskell package this is for you. > > So now that GHC 6.8.1 is out you'll want to test your package with it. > We'd especially like maintainers of packages that are distributed on > hackage.haskell.org to test their packages and update them as necessary. > However we would appreciate it if your packages will still work with GHC > 6.6.x, so read below for details on how to do that. Maybe this is also an opportunity to merge Categories: Xml (generic-xml) -> XML data structures (hgal) -> Data Structures Code generation (harpy) -> Code Generation network (infinity) -> Network From zjpzsu at gmail.com Mon Nov 5 10:29:29 2007 From: zjpzsu at gmail.com (Jinping Zhang) Date: Mon Nov 5 10:26:49 2007 Subject: [Haskell] Garbage collection problem Message-ID: HI,can anybody help me with the following garbage collection problem ? I'm trying to develop a test tool which can generate test data systematically for Haskell program, I have finished most of the work so far, however,while testing, the process would be interrupted because of the garbage collection problem with the notice "ERROR - Garbage collection fails to reclaim sufficient space",what shall i do to solve this problem? so that the user may test the possible input of a infinite type all the time as long as he or she wants to. By the way, the interpreter I used was Hugs98. Thank you very much. Best regards Jinping Zhang From ketil+haskell at ii.uib.no Mon Nov 5 10:41:33 2007 From: ketil+haskell at ii.uib.no (Ketil Malde) Date: Mon Nov 5 10:38:45 2007 Subject: [Haskell] Garbage collection problem In-Reply-To: (Jinping Zhang's message of "Mon\, 5 Nov 2007 15\:29\:29 +0000 \(UTC\)") References: Message-ID: <87abpsvgwi.fsf@nmd9999.imr.no> Jinping Zhang writes: > HI,can anybody help me with the following garbage collection problem ? It's probably not a problem with garbage collecting as such, but rather that you don't have any. In other words, your program is retaining too much data. Often, this is caused by too much (or sometimes too little) laziness. > By the way, the interpreter I used was Hugs98. I haven't used Hugs for a while, but with GHC there is heap profiling. The GHC docs describe this fairly well, I think, see: http://www.haskell.org/ghc/docs/latest/html/users_guide/prof-heap.html -k -- If I haven't seen further, it is by standing in the footprints of giants From duncan.coutts at worc.ox.ac.uk Wed Nov 7 21:14:16 2007 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Nov 7 21:08:21 2007 Subject: [Haskell] ANNOUNCE: Gtk2Hs version 0.9.12.1 released Message-ID: <1194488057.26140.359.camel@localhost> Gtk2Hs - A GUI Library for Haskell based on Gtk+ Version 0.9.12.1 is now available from: http://haskell.org/gtk2hs/download/ The source tarball and an installer for Windows are available. Packages for various platforms should become available soon, hopefully including Debian, Fedora, Gentoo, FreeBSD and Darwin. Changes since 0.9.12.1: * builds with GHC 6.8.1 * updated SOE API to match that of the recent SOE release * added status icon binding * added text buffer clipboard functions * fix build issue with recent glib versions * a few minor bug fixes Gtk2Hs feature highlights: * automatic memory management * Unicode support * nearly full coverage of Gtk+ 2.8 API * support for several additional Gtk+/Gnome modules: * Glade visual GUI builder * cairo vector graphics library * SVG rendering for cairo * OpenGL extension (works with HOpenGL) * GConf, Gnome's system for storing app preferences * SourceView, code editor widget with syntax highlighting * the Mozilla browser rendering engine in a widget * an implementation of the Graphics.SOE API * extensive haddock API reference documentation * multi-platform support with native look * LGPL licence Platforms and requirements: * builds from source on Linux, Windows and Solaris * should also build from source on MacOS X and FreeBSD * builds with GHC 6.4.2 - 6.8.1 * works with Gtk+ version 2.0 through to 2.10 * SVG support requires librsvg version 2.16 or later Please report all problems to gtk2hs-devel@sourceforge.net or in our bug tracker http://hackage.haskell.org/trac/gtk2hs Contributions and feedback are also most welcome. Windows release notes: The installer expects GHC 6.8.1 or GHC 6.6.1. Duncan (on behalf of the Gtk2Hs team) From Clemens.Kupke at cwi.nl Thu Nov 8 07:54:57 2007 From: Clemens.Kupke at cwi.nl (Clemens Kupke) Date: Thu Nov 8 07:51:55 2007 Subject: [Haskell] CMCS 2008: First call for papers Message-ID: <47330721.7010106@cwi.nl> 9th International Workshop on Coalgebraic Methods in Computer Science http://www.cwi.nl/projects/cmcs08/ Budapest, Hungary April 4-6, 2008 The workshop will be held in conjunction with the 11th European Joint Conferences on Theory and Practice of Software ETAPS 2008 March 29 - April 6, 2008 Aims and Scope During the last few years, it has become increasingly clear that a great variety of state-based dynamical systems, like transition systems, automata, process calculi and class-based systems, can be captured uniformly as coalgebras. Coalgebra is developing into a field of its own interest presenting a deep mathematical foundation, a growing field of applications and interactions with various other fields such as reactive and interactive system theory, object oriented and concurrent programming, formal system specification, modal logic, dynamical systems, control systems, category theory, algebra, and analysis. The aim of the workshop is to bring together researchers with a common interest in the theory of coalgebras and its applications. The topics of the workshop include, but are not limited to: the theory of coalgebras (including set theoretic and categorical approaches); coalgebras as computational and semantical models (for programming languages, dynamical systems, etc.); coalgebras in (functional, object-oriented, concurrent) programming; coalgebras and data types; coinductive definition and proof principles for coalgebras (with bisimulations or invariants); probabilistic systems as coalgebras; algebras versus coalgebras; coalgebraic specification and verification; coalgebras and (modal) logic; game theory in coalgebra; coalgebra and control theory (notably of discrete event and hybrid systems). The workshop will provide an opportunity to present recent and ongoing work, to meet colleagues, and to discuss new ideas and future trends. Previous workshops of the same series have been organized in Lisbon, Amsterdam, Berlin, Genova, Grenoble, Warsaw, Barcelona and Vienna. The proceedings appeared as Electronic Notes in Theoretical Computer Science (ENTCS) Volumes 11,19, 33, 41, 65.1, 82.1, 106 and 164.1. You can get an idea of the types of papers presented at the meeting by looking at the tables of contents of the ENTCS volumes from those workshops. Location CMCS 2008 will be held in Budapest on April 4-6, 2008. It will be a satellite workshop of ETAPS 2008, the European Joint Conferences on Theory and Practice of Software. Programme Committee Jiri Adamek (chair, Braunschweig), Corina Cirstea (Southampton), Neil Ghani (Nottingham), H. Peter Gumm (Marburg), Bart Jacobs (Nijmegen), Clemens Kupke (co-chair, Amsterdam), Alexander Kurz (Leicester), Ugo Montanari (Pisa), Larry Moss (Indiana), John Power (Edinburgh), Jan Rutten (Amsterdam), Lutz Schr?der (Bremen), Tarmo Uustalu (Tallinn), Yde Venema (Amsterdam), Hiroshi Watanabe (Osaka). Submissions Two sorts of submissions will be possible this year: Papers to be evaluated by the programme committee for inclusion in the ENTCS proceedings: These papers must be written using ENTCS style files and be of length no greater than 20 pages. They must contain original contributions, be clearly written, and include appropriate reference to and comparison with related work. If a submission describes software, software tools, or their use, it should include all source code that is needed to reproduce the results but is not publicly available. If the additional material exceeds 5 MB, URL's of publicly available sites should be provided in the paper. Short contributions: These will not be published but will be compiled into a technical report of the Technical University of Braunschweig. They should be no more than two pages and may describe work in progress, summarise work submitted to a conference or workshop elsewhere, or in some other way appeal to the CMCS audience. Both sorts of submission should be submitted in postscript or pdf form as attachments to an email to cmcs08@cwi.nl. The email should include the title, corresponding author, and, for the first kind of submission, a text-only one-page abstract. After the workshop, we expect to produce a journal proceedings of extended versions of selected papers to appear in Theoretical Computer Science. Important Dates Deadline for submission of regular papers: January 13, 2008. Notification of acceptance of regular papers: February 11, 2008. Final version for the preliminary proceedings: February 18, 2008. Deadline for submission of short contributions: March 10, 2008. Notification of acceptance of short contributions: March 17, 2008. For more information, please write to cmcs08@cwi.nl From dons at galois.com Sun Nov 11 21:17:16 2007 From: dons at galois.com (Don Stewart) Date: Sun Nov 11 21:16:24 2007 Subject: [Haskell] Haskell Weekly News: November 11, 2007 Message-ID: <20071112021716.GA17139@scytale.galois.com> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20071111 Issue 67 - November 11, 2007 --------------------------------------------------------------------------- Welcome to issue 67 of HWN, a newsletter covering developments in the [1]Haskell community. This week sees the release of GHC 6.8.1, to rave reviews. There have been many reports of large performance improvements for Haskell programs, from small to large production systems. Congratulations to the GHC team for such a great release! 1. http://haskell.org/ Announcements GHC 6.8.1. Ian Lynagh [2]announced the release of GHC 6.8.1, a new major release of GHC. There have been a number of significant changes since the last major release, including: Haskell Program Coverage support, the GHCi debugger, pointer tagging in the runtime (with up to 10-15% speedups), constructor specialisation, improved optimisations and much more! The [3]full release notes are available. 2. http://article.gmane.org/gmane.comp.lang.haskell.general/15733 3. http://haskell.org/ghc/docs/6.8.1/html/users_guide/release-6-8-1.html Gtk2Hs 0.9.12.1. Duncan Coutts [4]announced version 0.9.12.1 of gtk2hs is [5]now available. gtk2hs is the standard graphics library for Haskell. 4. http://article.gmane.org/gmane.comp.lang.haskell.general/15738 5. http://haskell.org/gtk2hs/download/ Lazy SmallCheck 0.1. Matthew Naylor [6]announced Lazy SmallCheck 0.1, a library for exhaustive, demand-driven testing of Haskell programs. 6. http://article.gmane.org/gmane.comp.lang.haskell.general/15702 HDBC 1.1.3. John Goerzen [7]announced new releases of HDBC, the Haskell database connectivity kit, and its associated backends (for sqlite3, postgresql, odbc). 7. http://article.gmane.org/gmane.comp.lang.haskell.general/15729 xmobar. Andrea Rossato [8]announced the release of Xmobar-0.8, a minimalistic, text based, status bar. It was specifically designed to work with the XMonad Window Manager. 8. http://article.gmane.org/gmane.comp.lang.haskell.cafe/31465 Flymake Haskell. Daisuke Ikegami [9]announced flymake haskell, emacs bindings for interactive Haskell editing. 9. http://article.gmane.org/gmane.comp.lang.haskell.cafe/31453 network bytestring. Johan Tibbel [10]announced, strict ByteString versions of the recv/send family of functions for efficient network IO. 10. http://article.gmane.org/gmane.comp.lang.haskell.general/15645 ByteString search. Bryan O'Sullivan [11]announced a cabalised version of the fast Boyer-Moore and Knuth-Morris-Pratt string search code for ByteStrings 11. http://article.gmane.org/gmane.comp.lang.haskell.cafe/31229 Generating free theorems. Janis Voigtlaender [12]announced an improved version of the online and offline free theorems generator for Haskell 12. http://article.gmane.org/gmane.comp.lang.haskell.general/15693 hslogger4j 0.1.1. Bjorn Buckwalter [13]announced Hslogger4j, which provides handlers for hslogger (John Goerzen's Haskell logging framework) that are compatible with log4j's XMLLayout. 13. http://article.gmane.org/gmane.comp.lang.haskell.general/15707 Infinity 0.3. Austin Seipp [14]announced `infinity', an IRC bot in Haskell 14. http://article.gmane.org/gmane.comp.lang.haskell.cafe/31228 hswm. Remi Turk [15]announced the first and last release of hswm, a Haskell window manager. 15. http://article.gmane.org/gmane.comp.lang.haskell.cafe/30804 Hackage This week's new libraries in [16]the Hackage library database. 16. http://hackage.haskell.org/ * xmobar-0.8. Uploaded by Andrea Rossato. [17]xmobar, a minimalistic text based status bar * hsSqlite3-0.0.4. Uploaded by Evgeny Jukov. [18]hsSqlite3, bindings for Sqlite3 * cabal-rpm-0.3.2. Uploaded by Bryan OSullivan. [19]cabal-rpm turns Haskell Cabal source packages into source and binary RPM packages. * selenium-0.2.2. Uploaded by Aaron Tomb. [20]selenium, Haskell bindings to communicate with a Selenium Remote Control server. This package makes it possible to use Haskell to write test scripts that exercise web applications through a web browser. * HPDF-1.3. Uploaded by alpheccar. [21]HPDF. A PDF library with support for several pages, page transitions, outlines, annotations, compression, colors, shapes, patterns, jpegs, fonts, typesetting ... 17. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xmobar-0.8 18. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hsSqlite3-0.0.4 19. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cabal-rpm-0.3.2 20. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/selenium-0.2.2 21. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HPDF-1.3 * FileManip-0.3.1. Uploaded by Bryan OSullivan. [22]FileManip, a Haskell library for working with files and directories. Includes code for pattern matching, finding files, modifying file contents, and more. * stringsearch-0.2. Uploaded by Bryan OSullivan. [23]stringsearch, fast search of ByteStrings. * nano-md5-0.1. Uploaded by Don Stewart. [24]nano-md5, ByteString bindings to OpenSSL. * denominate-0.4.1. Uploaded by Calvin Smith. [25]denominate provides a main program for performing bulk file and directory renaming, using a built-in filename converter or user-defined converters. * ContArrow 0.0.2. Uploaded by Evgeny Jukov. [26]ContArrow, Control.Arrow.Transformer.Cont 22. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/FileManip-0.3.1 23. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/stringsearch-0.2 24. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/nano-md5-0.1 25. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/denominate-0.4.1 26. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ * state 0.0.2. Uploaded by Evgeny Jukov. [27]state. State. * infinity 0.3. Uploaded by Austin Seipp. [28]infinity, a tiny, pluggable irc bot. * unix-compat 0.1.2.1. Uploaded by Duncan Coutts. [29]unix-compat, portable implementations of parts of the unix package. * Ranged-sets 0.1.1. Uploaded by Paul Johnson. [30]Ranged-sets. A ranged set is an ordered list of ranges. * IFS 0.1.1. Uploaded by alpheccar. [31]IFS, a library to describe IFS and generate PPM pictures from the descriptions 27. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ 28. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ 29. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ 30. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ 31. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ * bktrees 0.1.3. Uploaded by Josef Svenningsson. [32]bktrees. Burhard-Keller trees provide an implementation of sets which apart from the ordinary operations also has an approximate member search, allowing you to search for elements that are of a certain distance from the element you are searching for. * pqc 0.2. Uploaded by Don Stewart. [33]pqc, a parallel batch driver for QuickCheck * strict 0.2. Uploaded by Don Stewart. [34]strict, strict data types. * HsSVN 0.2. Uploaded by PHO. [35]HsSVN, (Part of) Subversion binding for Haskell * HsHyperEstraier 0.2. Uploaded by PHO. [36]HsHyperEstraier, a HyperEstraier binding for Haskell. HyperEstraier is an embeddable full text search engine which is supposed to be independent to any particular natural languages. 32. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ 33. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ 34. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ 35. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ 36. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ * HsOpenSSL 0.3.1. Uploaded by PHO. [37]HsOpenSSL, a (part of) OpenSSL binding for Haskell. It can generate RSA and DSA keys, read and write PEM files, generate message digests, sign and verify messages, encrypt and decrypt messages. * Finance-Quote-Yahoo 0.4. Uploaded by Brad Clawsie. [38]Finance-Quote-Yahoo, obtain quote data from finance.yahoo.com * LRU 0.1.1. Uploaded by Adam Langley. [39]LRU, an LRU data structure * base 3.0. Uploaded by Ross Paterson. [40]base, the Prelude and its support libraries, and a large collection of useful libraries ranging from data structures to parsing combinators and debugging utilities. * regex-posix 0.72.0.2. Uploaded by Duncan Coutts. [41]regex-posix, posix regex support. 37. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ 38. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Finance-Quote-Yahoo-0.4 39. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/LRU-0.1.1 40. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/base-3.0.0.0 41. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/regex-posix-0.72.0.2 * xhtml 3000.0.2.1. Uploaded by Bjorn Bringert. [42]xhtml, combinators for producing XHTML 1.0, including the Strict, Transitional and Frameset variants. * Win32 2.1.0.0. Uploaded by Esa Ilari Vuokko. [43]Win32, a binding to part of the Win32 library * unix 2.2.0.0. Uploaded by Ross Paterson. [44]unix, POSIX functionality * time 1.1.2.0. Uploaded by Ross Paterson. [45]time, time handling. * template-haskell 2.2.0.0. Uploaded by Ross Paterson. [46]template-haskell, support for manipulating Haskell syntax trees 42. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xhtml-3000.0.2.1 43. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Win32-2.1.0.0 44. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/unix-2.2.0.0 45. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/time-1.1.2.0 46. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/template-haskell-2.2.0.0 * stm 2.1.1.0. Uploaded by Ross Paterson. [47]stm, software transational memory * regex-compat 0.71.0.1. Uploaded by Ross Paterson. [48]regex-compat, backwards compatible regex support * regex-base 0.72.0.1. Uploaded by Ross Paterson. [49]regex-base, regex support. * readline 1.0.1.0. Uploaded by Ross Paterson. [50]readline, an interface to the GNU readline library * random 1.0.0.0. Uploaded by Ross Paterson. [51]random, random number generation 47. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/stm-2.1.1.0 48. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/regex-compat-0.71.0.1 49. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/regex-base-0.72.0.1 50. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/readline-1.0.1.0 51. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/random-1.0.0.0 * QuickCheck 1.1.0.0. Uploaded by Ross Paterson. [52]QuickCheck, automatic testing of Haskell programs * process 1.0.0.0. Uploaded by Ross Paterson. [53]process, jobs and processes * pretty 1.0.0.0. Uploaded by Ross Paterson. [54]pretty, pretty printing library. * parsec 2.1.0.0. Uploaded by Ross Paterson. [55]parsec, monadic parser combinators. * parallel 1.0.0.0. Uploaded by Ross Paterson. [56]parallel, support for parallel programming 52. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/QuickCheck-1.1.0.0 53. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/process-1.0.0.0 54. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/pretty-1.0.0.0 55. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parsec-2.1.0.0 56. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parallel-1.0.0.0 * packedstring 0.1.0.0. Uploaded by Ross Paterson. [57]packedstring, packed strings * OpenGL 2.2.1.1. Uploaded by Ross Paterson. [58]OpenGL, binding for the OpenGL graphics system * OpenAL 1.3.1.1. Uploaded by Ross Paterson. [59]OpenAL, binding to the OpenAL cross-platform 3D audio API. * old-time 1.0.0.0. Uploaded by Ross Paterson. [60]old-time, time library. * alex 2.2. Uploaded by Simon Marlow. [61]alex is a tool for generating lexical analysers in Haskell 57. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/packedstring-0.1.0.0 58. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/OpenGL-2.2.1.1 59. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/OpenAL-1.3.1.1 60. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/old-time-1.0.0.0 61. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/alex-2.2 * Cabal 1.2.2.0. Uploaded by Duncan Coutts. [62]Cabal is the framework for packaging Haskell software * HaXml 1.19.1. Uploaded by Malcolm Wallace. [63]HaXml, Utilities for manipulating XML documents * HDBC-odbc 1.1.3.0. Uploaded by John Goerzen. [64]HDBC-odbc, ODBC driver for HDBC * HDBC-postgresql 1.1.3.0. Uploaded by John Goerzen. [65]HDBC-postgresql is a PostgreSQL driver for HDBC * HDBC-sqlite3 1.1.3.0. Uploaded by John Goerzen. [66]HDBC-sqlite3 is a Sqlite v3 driver for HDBC 62. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Cabal-1.2.2.0 63. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HaXml-1.19.1 64. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HDBC-odbc-1.1.3.0 65. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HDBC-postgresql-1.1.3.0 66. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HDBC-sqlite3-1.1.3.0 * HDBC 1.1.3. Uploaded by John Goerzen. [67]HDBC is a Haskell Database library * X11 1.3.0. Uploaded by Don Stewart. [68]X11 is a library of bindings to the X11 libraries and server * HsOpenSSL 0.3. Uploaded by Masatake Daimon. [69]HsOpenSSL, (Part of) OpenSSL binding for Haskell * Imlib 0.1. Uploaded by Cale Gibbard. [70]Imlib, Haskell binding for Imlib 2 * Stream 0.2.2. Uploaded by Wouter Swierstra. [71]Stream, a library for manipulating infinite lists. 67. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HDBC-1.1.3 68. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11-1.3.0 69. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HsOpenSSL-0.3 70. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Imlib-0.1 71. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Stream-0.2.2 * sat 1.0. Uploaded by AndriiZvorygin. [72]sat, CNF SATisfier * torrent 2007.10.27. Uploaded by David Himmelstrup. [73]torrent, BitTorrent file parser * bencode 0.2. Uploaded by David Himmelstrup. [74]bencode, Parser and printer for bencoded data. * SDL 0.5.1. Uploaded by David Himmelstrup. [75]SDL, binding to libSDL * NGrams 1.0. Uploaded by Justin Bailey. [76]ngrams, Simple application for calculating n-grams using Google 72. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/sat-1.0 73. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/torrent-2007.10.27 74. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bencode-0.2 75. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/SDL-0.5.1 76. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/NGrams-1.0 Discussion Bootstrapping Haskell. Andrew Copping [77]wondered how the first Haskell compilers were bootstrapped, leading to some interesting historical details. GHC 6.8 performance. Dan Piponi [78]asked about Haskell performance for low level array manipulation, with some excellent speedups produced by GHC 6.8 77. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/31459 78. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/31314 Jobs Software Development Engineer at MSR. Don Syme announced that [79]the F Sharp team is hiring! We have two positions open right now. The first is a software development engineer specializing in Visual Studio and libraries. The second Post Calendar is a software development engineer 79. http://cs.hubfs.net/blogs/f_team/archive/2007/10/30/3900.aspx PhD position at Chalmers. John Hughes [80]announced that the Functional Programming group at Chalmers is seeking to recruit a PhD student to work on domain-specific languages embedded in Haskell for hardware design, and for programming graphics processors. PhD positions in Sweden are 'real jobs', paying a respectable salary for up to five years. 80. http://article.gmane.org/gmane.comp.lang.haskell.general/15714 Blog noise [81]Haskell news from the [82]blogosphere. * [83]Scala for bioinformatics * [84]I like Haskell a lot * [85]Haskell history * [86]Continuation Passing Style for Monads * [87]Abuse: Is it ruby? Is it Haskell? It's both! * [88]Learning Haskell? * [89]For loops in Haskell * [90]A Simple Programming Puzzle Seen Through Three Differenent Lenses 81. http://planet.haskell.org/ 82. http://haskell.org/haskellwiki/Blog_articles 83. http://tiago.org/ps/2007/10/26/scala-for-bioinformatics/ 84. http://www.noulakaz.net/weblog/2007/04/20/i-like-haskell-a-lot/ 85. http://caos.di.uminho.pt/~ulisses/blog/2007/10/27/haskell-history/ 86. http://r6.ca/blog/20071028T162529Z.html 87. http://meta-meta.blogspot.com/2007/05/abuse-is-it-ruby-is-it-haskell-its-both.html 88. http://www.dynamicdrive.com/forums/showthread.php?t=26094 89. http://osfameron.vox.com/library/post/for-loops-in-haskell.html?_c=feed-atom 90. http://thraxil.org/users/anders/posts/2007/10/30/A-Simple-Programming-Puzzle-Seen-Through-Three-Different-Lenses/ * [91]Scala Makes Me Think * [92]Haskell Substring Function * [93]Multicore Programming and Automatic Parallelisation * [94]Spinoza SOS in Haskell * [95]Why not just use Haskell? * [96]Chain delegates (in Haskell) * [97]Parser Combinators in C * [98]Will hybrid languages like D render functional languages like Haskell, OCaml and Common Lisp irrelevant? * [99]Category Theory for the Java Programmer * [100]Benchmarking ray tracing, Haskell vs. OCaml 91. http://blog.snowtide.com/2007/10/31/scala-makes-me-think 92. http://ironmonkey.blogspot.com/2007/10/haskell-substring-function_31.html 93. http://hnr.dnsalias.net/wp/?p=31 94. http://seta07.blogspot.com/2007/10/spinoza-sos-in-haskell.html 95. http://www.hackinghat.com/index.php/c/66 96. http://thoughtspam.spaces.live.com/Blog/cns!253515AE06513617!454.entry 97. http://www.math.chalmers.se/~koen/ParserComboC/parser-combo-c.html 98. http://pinderkent.blogsavy.com/archives/141 99. http://reperiendi.wordpress.com/2007/11/03/category-theory-for-the-java-programmer/ 100. http://augustss.blogspot.com/2007/11/benchmarking-ray-tracing-haskell-vs.html * [101]Some lambda calculus examples * [102]Beautiful timetables * [103]References, Arrows and Categories * [104]Anamorphisms in Ruby * [105]Type metaprogramming in Haskell and C++ * [106]A Small Combinatorial Library 101. http://augustss.blogspot.com/2007/11/some-lambda-calculus-examples-syntax-in.html 102. http://onthebalcony.wordpress.com/2007/11/11/beautiful-timetables/ 103. http://twan.home.fmf.nl/blog/haskell/References-Arrows-and-Categories.details 104. http://weblog.raganwald.com/2007/11/really-useful-anamorphisms-in-ruby.html 105. http://www.rubinsteyn.com/template_insanity.html 106. http://sigfpe.blogspot.com/2007/11/small-combinatorial-library.html Quotes of the Week * faxathisia: Omg! I spent 2 days writing this code and it's worked the first time I run it. Only possible with Haskell :D * anonymous: The thing is Haskell isn't suited for young people, whereas the OBJECT model of C++ is * sethg: I feel like I still dont understand comonads * fnord123: Haskell mainly helps with my C++ template coding when I'm doing money oriented programming * Tac-Tics: I get the feeling if all I ever use is the IO monad, someone here will shower me in holy monad fire and cleanse the evil from me.... leaving burn marks all over * Anton van Straaten: there's a new movement towards 'functional eating' which involves using a knife and fork (think ML) or chopsticks (Haskell ;) instead of a chainsaw. Its proponents claim that this approach is far superior, but chainsaw fans are skeptical. * SamB: what happens in the monad... stays in the monad... * Brent Yorgey: Friends don't let friends write in COBOL. * Bulat Ziganshin: It's a whole new era in low-level GHC programming About the Haskell Weekly News New editions are posted to [107]the Haskell mailing list as well as to [108]the Haskell Sequence and [109]Planet Haskell. [110]RSS is also available, and headlines appear on [111]haskell.org. Headlines are available as [112]PDF. To help create new editions of this newsletter, please see the [113]contributing information. Send stories to dons at galois.com. The darcs repository is available at darcs get [114]http://code.haskell.org/~dons/code/hwn/ 107. http://www.haskell.org/mailman/listinfo/haskell 108. http://sequence.complete.org/ 109. http://planet.haskell.org/ 110. http://sequence.complete.org/node/feed 111. http://haskell.org/ 112. http://code.haskell.org/~dons/code/hwn/archives/20071111.pdf 113. http://haskell.org/haskellwiki/HWN 114. http://code.haskell.org/~dons/code/hwn/ From davidyuhxl at gmail.com Mon Nov 12 08:11:40 2007 From: davidyuhxl at gmail.com (david yu) Date: Mon Nov 12 08:08:26 2007 Subject: [Haskell] GHC6.8.1 can not compile the simple example Message-ID: Link error is: [davidyu@linuxpower test]$ ghc c.hs c.o: In function `rM7_info': (.text+0xaa): undefined reference to `containerszm0zi1zi0zi0_DataziMap_lookup_closure' c.o: In function `rMd_info': (.text+0x1fa): undefined reference to `containerszm0zi1zi0zi0_DataziMap_fromList_closure' c.o: In function `sVJ_info': (.text+0xa3b): undefined reference to `__stginit_containerszm0zi1zi0zi0_DataziMap_' c.o: In function `rM7_srt': (.data+0x18): undefined reference to `containerszm0zi1zi0zi0_DataziMap_lookup_closure' c.o: In function `rMd_srt': (.data+0x60): undefined reference to `containerszm0zi1zi0zi0_DataziMap_fromList_closure' collect2: ld returned 1 exit status -------------- next part -------------- A non-text attachment was scrubbed... Name: c.hs Type: text/x-haskell Size: 384 bytes Desc: not available Url : http://www.haskell.org/pipermail/haskell/attachments/20071112/bb2de1c4/c.bin From lemmih at gmail.com Mon Nov 12 16:02:11 2007 From: lemmih at gmail.com (Lemmih) Date: Mon Nov 12 15:58:54 2007 Subject: [Haskell] GHC6.8.1 can not compile the simple example In-Reply-To: References: Message-ID: On 11/12/07, david yu wrote: > Link error is: > [davidyu@linuxpower test]$ ghc c.hs Try: ghc --make c.hs -- Cheers, Lemmih From hbzhu at sei.ecnu.edu.cn Mon Nov 12 22:40:36 2007 From: hbzhu at sei.ecnu.edu.cn (Huibiao Zhu) Date: Mon Nov 12 22:37:29 2007 Subject: [Haskell] CFP TASE 2008 Message-ID: <394925173.25254@webmail.ecnu.edu.cn> (Apologies if you have already received this message.) TASE 2008 2nd IEEE&IFIP Symposium on Theoretical Aspects of Software Engineering Nanjing, China June 17-19, 2008 http://seg.nju.edu.cn/tase08 Large scale software systems and Internet are of growing concern to academia and industry. This poses new challenges to the various aspects of software engineering, for instance, the reliability of software development, web-oriented software architecture and aspect & object-orientation techniques. As a result, new concepts and methodologies are required to enhance the development of software engineering from theoretical aspects. TASE 2008 is a forum for researchers from academia, industry and government to present ideas, results, and ongoing research on theoretical advances in software engineering. TASE 2008 is the second in a series of conference, sponsored by IEEE CS and IFIP. The first TASE conference was held in Shanghai, China, in June 2007. Topics of Interest: Authors are invited to submit high quality technical papers describing original and unpublished work in all theoretical aspects of software engineering. Topics of interest include, but are not limited to: * Requirements Engineering * Specification and Validation * Software Testing * Component-based Development * Model Checking for Software * Software Processes and Workflows * Software Frameworks and Middleware * Software Architectures and Design * Software safety and reliability * Reverse Engineering and Software Maintenance * Aspect and Objected ¨Corientation Techniques * Embedded and Real-time Software * Service-oriented Computing and Web Services * Model-driven Development * Coordination and Feature Interaction * Parallel and Distributed Computing * Logics of Programs * Program Analysis * Semantics and Design of Programming Languages * Type Theory Submission Guidelines: Authors should submit and register their paper through our web-interface at: http://seg.nju.edu.cn/tase08/submit by January 28, 2008. Submissions must not have been published or be concurrently considered for publication elsewhere. All submissions will be reviewed by at least three members of the program committee. They will be judged on the basis of originality, contribution to the field, technical and presentation quality, and relevance to the conference. The proceedings of the conference will be published by the IEEE Computer Society Press. Papers must be written in English and not exceed 10 pages in IEEE format. Instructions for authors are available at http://computer.org/cspress/instruct.htm. Latex document classes can be downloaded from the website at ftp://pubftp.computer.org/Press/Outgoing/proceedings/. Important Dates: * January 21, 2008: Title and abstract submission deadline * January 28, 2008: Paper submission deadline * March 10, 2008: Acceptance/rejection notification * March 23, 2008: Camera-ready version due * June 17-19, 2008: TASE 2008 Organization: General Co-Chairs: Jifeng He, East China Normal University, China Jian Lu, Nanjing University, China Program Co-chairs: Jim Davies, Oxford University, UK ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Xuandong Li, Nanjing University, China Local Organization Chair: Linzhang Wang, Nanjing University, China Program Committee: Bernhard Aichernig (Graz University of Technology, Austria) Keijiro Araki (Kyzushu University, Japan) Farhad Arbab (CWI and Leiden University, The Netherlands) Jonathan Bowen (Museophile Limited, UK) Michael Butler (University of Southampton, UK) Ana Cavalcanti (University of York, UK) Jim Davies (Oxford University, UK) Geoff Dromey (Griffith University, Australia) Jin Song Dong (National University of Singapore, Singapore) Zhenhua Duan (Xi¡¯dian University, China) Colin Fidge (Queensland University of Technology, Australia) Dieter Gollmann (Hamburg University of Technology, Germany) Kung-Kiu Lau (Manchester University, UK) Jing Liu (East China Normal University, China) Shaoying Liu (Hosei University, Japan) Zhiming Liu (UNU/IIST, Macau, China) Annabelle Mclver (Macquarie University, Australia) Hong Mei (Peking University, China) Huaikou Miao (Shanghai University, China) Shankar Natarajan (SRI International, USA) Nimal Nissanke (London South Bank University, UK) Geguang Pu((East China Normal University, China)) Shengchao Qin (Durham University, UK) Zongyan Qiu (Peking University, China) Zhong Shao (Yale University, USA) Joseph Sifakis (Verimag, France) Zhengdong Su (University of California at Davis, USA) Margus Veanes (Microsoft, USA) Sergiy Vilkomir (University of Limerick, Ireland) Farn Wang (National Taiwan University, Taiwan) Ji Wang (Changsha Institute of Technology, China) Linzhang Wang(Nanjing University, China) Heike Wehrheim (University of Paderborn, Germany) Jim Woodcock (University of York, UK) Dianxiang Xu(North Dakota State University, USA) Wang Yi (Uppsala University, Sweden) Gianluigi Zavattaro (University of Bologna, Italy) Jian Zhang (Institute of Software, China) Jianhua Zhao (Nanjing University, China) Huibiao Zhu (East China Normal University, China) Steering Program Committee Michael Hinchey(Chair), USA Keijiro Araki, Japan Jifeng He, China Zhiming Liu, Macau Mike Reed, Macau Huibiao Zhu, China Keynote Speakers Edmund M. Clarke (Carnegie Mellon University) Joost-Pieter Katoen (RWTH Aachen University) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071113/a6307167/attachment.htm From colin at cs.york.ac.uk Tue Nov 13 10:17:19 2007 From: colin at cs.york.ac.uk (Colin Runciman) Date: Tue Nov 13 10:19:29 2007 Subject: [Haskell] fun at York (reminder) Message-ID: <4739BFFF.6060509@cs.york.ac.uk> Fun people, There will be Fun in the Afternoon at York on Thursday 22 November. See http://sneezy.cs.nott.ac.uk/fun/ for details. If you plan to come, and have not already mailed to say so, please send me a non-empty message with EITHER "curried fun" OR "uncurried fun" as the subject line -- participants opting for curried fun will convene at a nearby restaurant at 6pm. Thanks, Colin R From hbzhu at sei.ecnu.edu.cn Wed Nov 14 00:09:52 2007 From: hbzhu at sei.ecnu.edu.cn (Huibiao Zhu) Date: Wed Nov 14 00:06:43 2007 Subject: [Haskell] CFP FICS 2008 Message-ID: <395016925.04066@webmail.ecnu.edu.cn> (We apologize for multiple copies of this Call.) ============================================================== FICS 2008 The First International Conference on Foundations of Informatics, Computing, and Software (http://www.sei.ecnu.edu.cn/~fics08/) June 3-6, 2008, Shanghai, China For more information e-mail: fics08@sei.ecnu.edu.cn ============================================================= Foundations of Informatics, Computing and Software (FICS) is a new conference aimed at being one of the leading conferences in theory, methodologies and systems spanning several emerging areas of computer science, such as programming languages, software engineering, verification and informatics (bio, medical). The 1th International Conference FICS will take place on the campus of East China Normal University (ECNU), Shanghai, China, from June 3 to June 6, 2008. This Conference is intended to be a forum for researchers in several areas with topics including but not limited to: *Algorithm and Computability *Bioinformatics and Systems Biology *Computational Complexity *Concurrent and Parallel Computing *Domain Theory and Semantics Structures *Formal Methods and Software *Formalization Methods and Theory * Theory ? Logic and Formal Verification *Probabilistic Systems *Process Algebra *Quantum Computing *Semantic Web and Ontology *Term Rewriting SUBMISSIONS Guidelines: Authors are invited to submit papers presenting original and unpublished research not concurrently considered for publication elsewhere. Papers should not exceed 14pages and should be formatted according to the ENTCS article style. Submissions must be made through Easychair at: http://www.easychair.org/FICS2008/ before the submission deadlines for abstract and full paper respectively. All submissions will be reviewed by at least three members of the program committee. They will be judged on the basis of originality, contribution to the field, technical and presentation quality, and relevance to the conference. The proceedings of the conference will appear as a volume in ENTCS. Pre-proceedings will be distributed at the conference. IMPORTANT DATES ----------------- Abstract Submissions: Friday, 28 Dec. 2007 Paper Submissions: Friday, 11th Jan. 2008 Notification of acceptance: Friday, 22th Feb. 2008 Camera ready deadline: Friday, 7th Mar. 2008 Conference: Monday, 3rd Jun. 2008 ORGANIZATION ----------------- Conference Chair: Jifeng He, (ECNU, China) Steering Committee: Frahad Arbab (CWI, The Netherland) Manfred Broy ( TU Munchen, Germany) Yixiang Chen (ECNU, China) Pierre-Louis Curien (PPS, France) Jifeng He(Chair)(ECNU, China) Tony Hoare(Oxford Uni., UK) Huimin Lin (SI, China) Prakash Panangaden (McGill Uni., Canada) Guo-qiang Zhang(Chair) (CWRU, US) Program Committee: Li Chen (UDC, US) Yixiang Chen (ECNU, China) Manfred Droste (Uni-Leipzig, Germany) Yuxi Fu (Shanghai Jiaotong Uni., China) Masahito Hasegawa (Kyoto Uni., Japan) Pascal Hitzle (Uni-Karlsruhe, Germany) Ying Jiang (SI, Academy of Science, China) Zhi Jin (MASS, Academy of Science, China) Achim Jung (Birmingham Uni. UK) Klaus Keimel (DTU, Germany) Hong Mei (Beijing Uni., China) Madhavan Mukund (Chennai Mathematical Institute, India) Dag Normann (Oslo Uni. Norway) Catuscia Palamidessi (INRIA FUTUR, Paris) Prakash Panangaden (McGill Uni., Canada) Michel Schellekens (National University of Ireland, Ireland) Dieter Spreen (University of Siegen, Germany) Shanghua Teng (Boston Uni., US) James Worrell (Oxford Uni.,UK) Kwangkeun Yi (Seoul National Uni., Korea) Guo-qiang Zhang (CWRU, US) Hong Zhu (ECNU, China) Publicity Chair£º Huibiao Zhu (ECNU, China) Local Organization Committee: Lu Han (ECNU, China) Yuanyuan He (ECNU, China) Yanfang Ma (ECNU, China) Jie Yang (ECNU, China) Min Zhang (Chair) (ECNU, China) Jie Zhou (ECNU, China) Keynote Speakers: Patrick Cousot (ENS, France, http://www.di.ens.fr/~cousot) Vincent Danos (PPS, France, http://www.pps.jussieu.fr/~danos/) Peter O¡¯Hearn (QMW, UK, http://www.dcs.qmul.ac.uk/~ohearn/) Glynn Winskel (Cambridge Uni., UK, http://www.cl.cam.ac.uk/~gw104/) Ming-Sheng Ying (Tsinghua Uni., China) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071114/70eaf506/attachment.htm From hal at cs.utah.edu Thu Nov 15 19:18:43 2007 From: hal at cs.utah.edu (Hal Daume III) Date: Thu Nov 15 19:15:16 2007 Subject: [Haskell] need some help with type inference Message-ID: <473CE1E3.9030304@cs.utah.edu> Hi Haskellers -- It's been a while since I've frequented this list, but I'm hoping I can stir up some help. My problem isn't Haskell-specific (so please forgive the blanket email), but it *is* related to something written in Haskell, so hopefully that's sufficient :). Basically, the deal is that I have a language for which I need type inference. I currently have something hacked together which works "most of the time", but I'd really like to do it right. The problem is that the type system is unlike anything I've encountered before. There are two "base" types, Real and Integer (which I'll call R and I, respectively). In pseudo-Haskell: > data Base = R Double | I Integer Then, a Type is either a Base type or it's an array with *known* bounds of Types. We can thus get matrices by having arrays of arrays. For instance: > type Bound = ... > data Type = Base Base | Array Bound Type This would all be well and good. The complication is that Bounds can either be given by integer bounds (eg., "10") or by variables (eg., "N"). So, we might write the type of an array of 10 integers as "I[10]" or an array of N reals as "R[N]". Okay, so that's not so bad yet. The complication is that the Kth bound can refer to any of the previous K-1 bounds. For instance, the type "R[N][D[#1]]" means an array of dimension N, each of whose elements is a real array of dimension D[n], where n is the first index. That is, R[5] is an array of length D[5]. Necessarily, D is of type I[N]. And now I need to do type inference/type checking in this system. I have a strong feeling it's undecidable, but I'm fine with that. I don't have a problem require type annotations and, at least for the example programs I have written in this language, I've only once ever been required to write a type annotation even with my very conservative hacky type inference. So the question is: has anyone encountered a type system like this before? Anyone want to offer suggestions? I think probably it's most appropriate to reply off-list, since I don't want to bog the list down. Best, - Hal p.s., the language is here: http://www.cs.utah.edu/~hal/HBC -- Hal Daume III --- me AT hal3 DOT name | http://hal3.name "Arrest this man, he talks in maths." | http://nlpers.blogspot.com From bulat.ziganshin at gmail.com Sat Nov 17 16:24:24 2007 From: bulat.ziganshin at gmail.com (Bulat Ziganshin) Date: Sat Nov 17 16:26:32 2007 Subject: [Haskell] Haskell binding to the LibTomCrypt library Message-ID: <1053795728.20071118002424@gmail.com> Hello haskell, as part of my archiver [1], i've made some FFI bindings to the open-source, public license cryptographic library LibTomCrypt [2] this currently includes * AES, Blowfish, Twofish and Serpent encryption algorithms * CTR and CFB streaming modes * SHA-512 hash * FORTUNE cryptographic random numbers generator * PKCS5#2 password-based key derivation algorithm but may easily be extended to everything else included in the LibTomCrypt library you may just download my sources and use it as is, but it will be a real pain. Don Stewart suggested to cabalize the binding and upload it to hackage as separate lib. i may do it if there are real users for such package. for the supposed API look at [3], encryption API will be essentially the same - using callbacks to read/write data. because my program targeted to the same niche as winzip, the binding provides almost the same service - i.e. ability to encrypt/decrypt stream of data with password using cryptographically sound algorithms. you will be able to use it like this: encrypt "aes" password (hGetBuf infile) (hPutBuf outfile) decrypt password (hGetBuf infile) (hPutBuf outfile) if you need such library - please yell me. i will work on it only if there will be enough real users [1] http://sourceforge.net/project/showfiles.php?group_id=207033 [2] http://libtom.org [3] http://www.haskell.org/bz/CompressionLibrary.htm -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com From dons at galois.com Sat Nov 17 16:37:17 2007 From: dons at galois.com (Don Stewart) Date: Sat Nov 17 16:33:47 2007 Subject: [Haskell] Haskell binding to the LibTomCrypt library In-Reply-To: <1053795728.20071118002424@gmail.com> References: <1053795728.20071118002424@gmail.com> Message-ID: <20071117213717.GB22989@scytale.galois.com> bulat.ziganshin: > Hello haskell, > > as part of my archiver [1], i've made some FFI bindings to the > open-source, public license cryptographic library LibTomCrypt [2] > > this currently includes > * AES, Blowfish, Twofish and Serpent encryption algorithms > * CTR and CFB streaming modes > * SHA-512 hash > * FORTUNE cryptographic random numbers generator > * PKCS5#2 password-based key derivation algorithm > but may easily be extended to everything else included in the > LibTomCrypt library > > you may just download my sources and use it as is, but it will be a > real pain. Don Stewart suggested to cabalize the binding and upload > it to hackage as separate lib. i may do it if there are real users for > such package. for the supposed API look at [3], encryption API will be > essentially the same - using callbacks to read/write data. > > because my program targeted to the same niche as winzip, the binding > provides almost the same service - i.e. ability to encrypt/decrypt > stream of data with password using cryptographically sound algorithms. > you will be able to use it like this: > > encrypt "aes" password (hGetBuf infile) (hPutBuf outfile) > decrypt password (hGetBuf infile) (hPutBuf outfile) > > if you need such library - please yell me. i will work on it only if > there will be enough real users > I guess my point was more to ensure we don't lose the code you worked so hard on :) It would be pretty easy to cabalise, perhaps just use the 'mkcabal' program? -- Don From derek.a.elkins at gmail.com Sat Nov 17 18:41:52 2007 From: derek.a.elkins at gmail.com (Derek Elkins) Date: Sat Nov 17 18:39:02 2007 Subject: [Haskell] AmeroHaskell Message-ID: <1195342912.5612.20.camel@derek-laptop> [Reply-To set to Haskell-Cafe] At http://www.haskell.org/haskellwiki/AmeroHaskell is a page for a proposed Haskell meeting originally aimed for the south eastern United States. Quite a few people registered interest, but few of them were in the SE. This email is to prompt any more interest in such a meeting without any fixed geographical locale. To get an idea of what it would be like, it would be something along the lines of http://www.haskell.org/haskellwiki/AngloHaskell Anyone interested in an Haskell meeting anywhere in America mark your interest and what region would be good for you. Anyone who could provide a venue would also be highly appreciated. It may well end up being AmeroHaskells with several meetings in different regions. However, to put things in motion for something concrete at all, we're hoping to put together a meeting taking place in the Portland area as that seems most convenient to the most people who had registered interest in AmeroHaskell and an easy place to find a venue. In that vein, while no plans have been made, something aimed for the January/February time-frame and probably hosted by Galois, if they are willing, has been discussed. The event would probably be a few days long and would involve some informal (and perhaps impromptu) talks and hanging out, getting to know each other as more than an IRC handle, and some cooperative hacking. Again, see the AngloHaskell page for an idea. Anyone who is interested in presenting a talk about anything they are doing or are interested in in Haskell or Haskell-related topics please suggest that on the wiki page or reply here! Admittedly a January/February time-frame does not provide a lot of head time, but the talks are aimed at a friendly chat tone rather than a formal presentation. Feel free to bring your half-baked ideas. From jpeterson at western.edu Sat Nov 17 20:45:52 2007 From: jpeterson at western.edu (John Peterson) Date: Sat Nov 17 20:42:35 2007 Subject: [Haskell] Re: AmeroHaskell Message-ID: It would be great if someone put a meeting together during SIGCSE - that's in Portland March 12-15, 2008. That's about the only time I get to crawl out from under my classes and interact with the outside world. We could announce something on the SIGCSE mailing list and maybe pull in some interesting outsiders. John jpeterson@western.edu From iavor.diatchki at gmail.com Sun Nov 18 15:11:43 2007 From: iavor.diatchki at gmail.com (Iavor Diatchki) Date: Sun Nov 18 15:08:08 2007 Subject: [Haskell] Bang patterns and declaration order Message-ID: <5ab17e790711181211n5cface79h57ad8ccb9116fafd@mail.gmail.com> Hello, I was playing around with "bang patterns" and I noticed that when combined with asynchronous exceptions they can lead to programs where the order of the declarations in a binding group is important! Here is an example: > import Control.Exception > import Prelude hiding (catch) > > main = putStrLn =<< eval_order > > test = "no exception" > where !_ = error "top down" > !_ = error "bottom up" > > eval_order = evaluate test `catch` \e -> > case e of > ErrorCall txt -> return txt > _ -> throw e Of course, this is a contrived exampled but, as far as I know, this was not possible in Haskell before (if anyone has an example to the contrary please send it to the list). By the way, with GHC 6.8.1 the above program prints "bottom up". This means that when there are multiple "banged" bindings they are evaluated starting with the last one in the text. I imagine than in most programs this is not particularly important, but it seems to me that it would be a bit nicer if we were to adjust the translation so that bindings were evaluated top to bottom (e.g., like in ML). Finally, the above program is accepted by GHC 6.8.1 without any special flags (e.g., no need for -XBangPatterns). Is this intentional? -- Iavor From felipe.lessa at gmail.com Sun Nov 18 15:34:08 2007 From: felipe.lessa at gmail.com (Felipe Lessa) Date: Sun Nov 18 15:30:37 2007 Subject: [Haskell] Bang patterns and declaration order In-Reply-To: <5ab17e790711181211n5cface79h57ad8ccb9116fafd@mail.gmail.com> References: <5ab17e790711181211n5cface79h57ad8ccb9116fafd@mail.gmail.com> Message-ID: On Nov 18, 2007 6:11 PM, Iavor Diatchki wrote: > I was playing around with "bang patterns" and I noticed that > when combined with asynchronous exceptions they can lead to > programs where the order of the declarations in a binding > group is important! I think that's why they may be catched only on IO, because their order is implementation-dependent. Please anybody correct me if I'm wrong. Cya, -- Felipe. From derek.a.elkins at gmail.com Sun Nov 18 15:34:55 2007 From: derek.a.elkins at gmail.com (Derek Elkins) Date: Sun Nov 18 15:31:58 2007 Subject: [Haskell] Bang patterns and declaration order In-Reply-To: <5ab17e790711181211n5cface79h57ad8ccb9116fafd@mail.gmail.com> References: <5ab17e790711181211n5cface79h57ad8ccb9116fafd@mail.gmail.com> Message-ID: <1195418095.5612.33.camel@derek-laptop> On Sun, 2007-11-18 at 12:11 -0800, Iavor Diatchki wrote: > Hello, > > I was playing around with "bang patterns" and I noticed that > when combined with asynchronous exceptions they can lead to > programs where the order of the declarations in a binding > group is important! Here is an example: > > > import Control.Exception > > import Prelude hiding (catch) > > > > main = putStrLn =<< eval_order > > > > test = "no exception" > > where !_ = error "top down" > > !_ = error "bottom up" > > > > eval_order = evaluate test `catch` \e -> > > case e of > > ErrorCall txt -> return txt > > _ -> throw e > > Of course, this is a contrived exampled but, as far as I know, > this was not possible in Haskell before (if anyone has an example > to the contrary please send it to the list). > > By the way, with GHC 6.8.1 the above program prints "bottom up". > This means that when there are multiple "banged" bindings they > are evaluated starting with the last one in the text. I imagine > than in most programs this is not particularly important, but > it seems to me that it would be a bit nicer if we were to adjust > the translation so that bindings were evaluated top to bottom > (e.g., like in ML). The whole point of the "imprecise exceptions" paper was that any exception may be returned when multiple ones could be. There is no reason why the bindings should be evaluated top-down. If you are relying on the order the bindings are evaluated you are doing something very, very wrong. Should we also specify what exception should be thrown for error "left-right" + error "right-left" ? From lennart at augustsson.net Sun Nov 18 17:47:15 2007 From: lennart at augustsson.net (Lennart Augustsson) Date: Sun Nov 18 17:43:39 2007 Subject: [Haskell] Bang patterns and declaration order In-Reply-To: <1195418095.5612.33.camel@derek-laptop> References: <5ab17e790711181211n5cface79h57ad8ccb9116fafd@mail.gmail.com> <1195418095.5612.33.camel@derek-laptop> Message-ID: I totally agree with Derek. Which exception you get can vary with compiler version, compiler flags, time of day, phase of the moon, ... It will be one in a set of exceptions, but you don't know which one. -- Lennart On Nov 18, 2007 8:34 PM, Derek Elkins wrote: > On Sun, 2007-11-18 at 12:11 -0800, Iavor Diatchki wrote: > > Hello, > > > > I was playing around with "bang patterns" and I noticed that > > when combined with asynchronous exceptions they can lead to > > programs where the order of the declarations in a binding > > group is important! Here is an example: > > > > > import Control.Exception > > > import Prelude hiding (catch) > > > > > > main = putStrLn =<< eval_order > > > > > > test = "no exception" > > > where !_ = error "top down" > > > !_ = error "bottom up" > > > > > > eval_order = evaluate test `catch` \e -> > > > case e of > > > ErrorCall txt -> return txt > > > _ -> throw e > > > > Of course, this is a contrived exampled but, as far as I know, > > this was not possible in Haskell before (if anyone has an example > > to the contrary please send it to the list). > > > > By the way, with GHC 6.8.1 the above program prints "bottom up". > > This means that when there are multiple "banged" bindings they > > are evaluated starting with the last one in the text. I imagine > > than in most programs this is not particularly important, but > > it seems to me that it would be a bit nicer if we were to adjust > > the translation so that bindings were evaluated top to bottom > > (e.g., like in ML). > > The whole point of the "imprecise exceptions" paper was that any > exception may be returned when multiple ones could be. There is no > reason why the bindings should be evaluated top-down. If you are > relying on the order the bindings are evaluated you are doing something > very, very wrong. Should we also specify what exception should be > thrown for error "left-right" + error "right-left" ? > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071118/c89bb94e/attachment.htm From simonpj at microsoft.com Mon Nov 19 05:39:03 2007 From: simonpj at microsoft.com (Simon Peyton-Jones) Date: Mon Nov 19 05:35:30 2007 Subject: [Haskell] Bang patterns and declaration order In-Reply-To: References: <5ab17e790711181211n5cface79h57ad8ccb9116fafd@mail.gmail.com> <1195418095.5612.33.camel@derek-laptop> Message-ID: Right. Still, it's a point worth noting. I've added a short section to http://hackage.haskell.org/trac/haskell-prime/wiki/BangPatterns which in turn is referred to from the GHC manual. Simon From: haskell-bounces@haskell.org [mailto:haskell-bounces@haskell.org] On Behalf Of Lennart Augustsson Sent: 18 November 2007 22:47 To: Derek Elkins Cc: Haskell users Subject: Re: [Haskell] Bang patterns and declaration order I totally agree with Derek. Which exception you get can vary with compiler version, compiler flags, time of day, phase of the moon, ... It will be one in a set of exceptions, but you don't know which one. -- Lennart On Nov 18, 2007 8:34 PM, Derek Elkins > wrote: On Sun, 2007-11-18 at 12:11 -0800, Iavor Diatchki wrote: > Hello, > > I was playing around with "bang patterns" and I noticed that > when combined with asynchronous exceptions they can lead to > programs where the order of the declarations in a binding > group is important! Here is an example: > > > import Control.Exception > > import Prelude hiding (catch) > > > > main = putStrLn =<< eval_order > > > > test = "no exception" > > where !_ = error "top down" > > !_ = error "bottom up" > > > > eval_order = evaluate test `catch` \e -> > > case e of > > ErrorCall txt -> return txt > > _ -> throw e > > Of course, this is a contrived exampled but, as far as I know, > this was not possible in Haskell before (if anyone has an example > to the contrary please send it to the list). > > By the way, with GHC 6.8.1 the above program prints "bottom up". > This means that when there are multiple "banged" bindings they > are evaluated starting with the last one in the text. I imagine > than in most programs this is not particularly important, but > it seems to me that it would be a bit nicer if we were to adjust > the translation so that bindings were evaluated top to bottom > (e.g., like in ML). The whole point of the "imprecise exceptions" paper was that any exception may be returned when multiple ones could be. There is no reason why the bindings should be evaluated top-down. If you are relying on the order the bindings are evaluated you are doing something very, very wrong. Should we also specify what exception should be thrown for error "left-right" + error "right-left" ? _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071119/d6cac9eb/attachment-0001.htm From wss at Cs.Nott.AC.UK Mon Nov 19 08:21:00 2007 From: wss at Cs.Nott.AC.UK (Wouter Swierstra) Date: Mon Nov 19 08:19:33 2007 Subject: [Haskell] ANN: The Monad.Reader Issue 9: SoC special Message-ID: <4319D2F0-F402-42D4-97D0-765DF88BC732@cs.nott.ac.uk> I am pleased to announce that a new issue of The Monad.Reader is now available: http://www.haskell.org/haskellwiki/The_Monad.Reader Issue 9 is a "Summer of Code Special" - it consists of three articles from student participants of Google's Summer of Code, describing the projects they worked on: * Thomas Schilling Cabal Configurations * Jason Dagit Darcs Patch Theory * Mathieu Boespflug TaiChi: how to check your types with serenity The Monad.Reader is a quarterly magazine about functional programming. It is less formal than a journal, but somehow 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. I hope to send out an official call for copy fairly soon. Enjoy! Wouter This message has been checked for viruses but the contents of an attachment may still contain software viruses, which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. From gale at sefer.org Mon Nov 19 09:48:01 2007 From: gale at sefer.org (Yitzchak Gale) Date: Mon Nov 19 09:44:35 2007 Subject: [Haskell] Re: [Haskell-cafe] ANN: The Monad.Reader Issue 9: SoC special In-Reply-To: <2d3641330711190528y68ae0740hd5368b4efd8f250d@mail.gmail.com> References: <4319D2F0-F402-42D4-97D0-765DF88BC732@cs.nott.ac.uk> <2d3641330711190528y68ae0740hd5368b4efd8f250d@mail.gmail.com> Message-ID: <2608b8a80711190648w5a1150c9he72e6f7e66c038c8@mail.gmail.com> Wouter Swierstra wrote: >> I am pleased to announce that a new issue of The Monad.Reader is now >> available: >> http://www.haskell.org/haskellwiki/The_Monad.Reader Dougal Stanton wrote: > Thanks Wouter, the haiku look great! ;-) I agree, they are fantastic! (And they are not "short".) Perhaps you were inspired by the classic 1998 Salon haiku challenge. In any case, I think a reference is appropriate: http://archive.salon.com/21st/chal/1998/01/26chal.html http://archive.salon.com/21st/chal/1998/02/10chal2.html Regards, Yitz From mlh2131 at columbia.edu Tue Nov 20 04:30:27 2007 From: mlh2131 at columbia.edu (Mike Haskel) Date: Tue Nov 20 04:26:46 2007 Subject: [Haskell] MTL violates coverage condition? Message-ID: <20071120093027.GC17645@mhaskel.ec.resnet.columbia.edu> Hi, A bit of a detailed technical question. I'm writing a library which makes heavy use of the MTL (Monad.State, etc) and monad transformers. I have a monad transformer, MymonadT, which I want to inherit relevant type classes from the monads it transforms, i.e. MonadState s m => MonadState s (MymonadT m). The MTL itself uses such instance declarations, such as MonadState s m => MonadState s (ReaderT r m). When I compile my library however (using ghc-6.6.1 and -fglasgow-exts) I get an illegal instance declaration error: "The Coverage Condition fails for one of the functional dependencies; Use -fallow-undecidable-instances to permit this." The code compiles with -fallow-undecidable-instances. As a reminder, MonadState is declared as class Monad m => MonadState s m | m -> s The coverage condition is described in http://research.microsoft.com/~simonpj/papers/fd-chr/jfp06.pdf on page 12. My own analysis suggests that the declaration of MonadState for ReaderT violates this condition as well. The coverage condition exists, this paper claims, to prevent infinite loops in type inference---someone could use some instance declarations violating this condition to write a function whose type is undecidable. Does 'MonadState s m => MonadState s (ReaderT r m)', found in Control.Monad.Reader violate the coverage condition as I believe it does? Can one write a function using this library to force the type inference engine to loop indefinitely? If not, what mitigating conditions prevent it? Can I write a similar declaration in my library and compile it with -fallow-undecidable-instances and without worry? Thanks, Mike From Tom.Schrijvers at cs.kuleuven.be Tue Nov 20 04:49:05 2007 From: Tom.Schrijvers at cs.kuleuven.be (Tom Schrijvers) Date: Tue Nov 20 04:46:28 2007 Subject: [Haskell] MTL violates coverage condition? In-Reply-To: <20071120093027.GC17645@mhaskel.ec.resnet.columbia.edu> References: <20071120093027.GC17645@mhaskel.ec.resnet.columbia.edu> Message-ID: > Does 'MonadState s m => MonadState s (ReaderT r m)', found in > Control.Monad.Reader violate the coverage condition as I believe it > does? Yes, it does. > Can one write a function using this library to force the type > inference engine to loop indefinitely? If not, what mitigating > conditions prevent it? Can I write a similar declaration in my > library and compile it with -fallow-undecidable-instances and without > worry? The coverage condition is a sufficient condition for termination of the type checker. Another sufficient condition is the Terminating Weak Coverage condition (Definition 14). This condition is met by that instance, as well as yours. If you want to get non-terminating, you must write a funny instance like: MonadState s m => MonadState (MymonadT s) (MymonadT m) and then set up a constraint MonadState x (MymonadT x) I did not try it, but GHC should run out of stack on this one or give up. I'm currently working with Martin Sulzmann on a relaxed set of conditions for FDs and type functions. Cheers, Tom -- Tom Schrijvers Department of Computer Science K.U. Leuven Celestijnenlaan 200A B-3001 Heverlee Belgium tel: +32 16 327544 e-mail: tom.schrijvers@cs.kuleuven.be url: http://www.cs.kuleuven.be/~toms/ From rl at cse.unsw.edu.au Tue Nov 20 05:17:07 2007 From: rl at cse.unsw.edu.au (Roman Leshchinskiy) Date: Tue Nov 20 05:13:33 2007 Subject: [Haskell] ANNOUNCE: fixpoint 0.1 Message-ID: <4742B423.6050909@cse.unsw.edu.au> I'm pleased to announce fixpoint 0.1, a (for now) small generic programming library which allows data types to be manipulated as fixpoints of their underlying functors. The library is mostly based on "Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire" by Erik Meijer, Maarten Fokkinga and Ross Paterson. The basic idea is to use associated data types, a recent GHC extension, to associate recursive types with their underlying functors. The core of the library is just one typeclass: class Functor (Pre t) => Fixpoint t where data Pre t :: * -> * -- | Projection from the data type to its underlying functor. project :: t -> Pre t t -- | Injection from the underlying functor into the data type. inject :: Pre t t -> t Here, Pre t is a functor such that its fixpoint is t. For instance, for lists we have: instance Fixpoint [a] where data Pre [a] s = Nil | Cons a s project [] = Nil project (x:xs) = Cons x xs inject Nil = [] inject (Cons x xs) = x : xs With this, we can easily define things like catamorphisms: cata :: Fixpoint t => (Pre t s -> s) -> t -> s cata f = f . fmap (cata f) . project which can then be used for generic programming: size :: (Fixpoint t, Foldable (Pre t)) => t -> Int size = cata (F.foldr (+) 1) At the moment, the package doesn't contain much more than the above but this will change soon(ish). To enjoy the minimalistic interface of fixpoint-0.1, grab it from Hackage or from my site: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/fixpoint-0.1 http://www.cse.unsw.edu.au/~rl/code/fixpoint.html Comments and suggestion are always welcome. Roman From rjmh at cs.chalmers.se Tue Nov 20 06:05:39 2007 From: rjmh at cs.chalmers.se (John Hughes) Date: Tue Nov 20 06:01:51 2007 Subject: [Haskell] Recruiting functional programmers Message-ID: <012501c82b65$4a10ded0$de329c70$@chalmers.se> Interested in recruiting Haskell programmers from Chalmers/Gothenburg university? As an experiment, I am planning a recruitment event here in December-see www.jobs-in-fp.org for how to take part. John Hughes -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071120/f526cb7d/attachment.htm From apfelmus at quantentunnel.de Tue Nov 20 08:50:15 2007 From: apfelmus at quantentunnel.de (apfelmus) Date: Tue Nov 20 08:47:43 2007 Subject: [Haskell] Re: ANNOUNCE: fixpoint 0.1 In-Reply-To: <4742B423.6050909@cse.unsw.edu.au> References: <4742B423.6050909@cse.unsw.edu.au> Message-ID: Roman Leshchinskiy wrote: > > instance Fixpoint [a] where > data Pre [a] s = Nil | Cons a s > > project [] = Nil > project (x:xs) = Cons x xs > > inject Nil = [] > inject (Cons x xs) = x : xs > > With this, we can easily define things like catamorphisms: > > cata :: Fixpoint t => (Pre t s -> s) -> t -> s > cata f = f . fmap (cata f) . project > > which can then be used for generic programming: > > size :: (Fixpoint t, Foldable (Pre t)) => t -> Int > size = cata (F.foldr (+) 1) Cool! The idea of putting "hard-coded" implementations of fixed points into a type class is just great. I wonder whether a multi parameter type class without fundeps/associated types would be better. class Fixpoint f t where inject :: f t -> t project :: t -> f t since multiple fixed points per functor newtype Mu f = In { out :: f (Mu f) } instance Fixpoint (Mu f) f where inject = In project = out iso :: (Fixpoint f t, Fixpoint f t') => t -> t' iso = cata inject and multiple functors per fixed point make sense. If /\t -> Maybe (a,t) were a functor, the latter would give unfold with the usual types but I can live without that. Interestingly, this even gives slightly shorter type signatures cata :: Fixpoint f t => (f s -> s) -> t -> s size :: (Fixpoint f t, Foldable f) => t -> Int Regards, apfelmus From westondan at imageworks.com Tue Nov 20 14:57:57 2007 From: westondan at imageworks.com (Dan Weston) Date: Tue Nov 20 14:54:24 2007 Subject: [Haskell] ANNOUNCE: fixpoint 0.1 In-Reply-To: <4742B423.6050909@cse.unsw.edu.au> References: <4742B423.6050909@cse.unsw.edu.au> Message-ID: <47433C45.9080909@imageworks.com> Good stuff! You might also want to consider including code from Uustalu et al, "Recursion Schemes from Comonads", 2001 http://citeseer.ist.psu.edu/uustalu01recursion.html Chapter 7 has code formatted as Literate Haskell that generalizes cata, ana, hylo (iteration), and para (primitive recursion) to define a generalized catamorphism (distributive comonad), thence zygomorphisms (semi-mutual iteration), and histomorphisms (course-of-value iteration), and then gives one-liner definitions of add, mult, fact, and fibo functions, without which I'd never have figured out how to use any of the above. They also list numerous cancellation, reflection, and fusion laws which presumably might be translated into GHC rewrite rules. Although the paper uses the "older" scheme of newtype Mu f = In (f (Mu f)) unIn :: Mu f -> f (Mu f) unIn (In x) = x cata :: Functor f => (f c -> c) -> Mu f -> c cata phi = phi . fmap (cata phi) . unIn the types map cleanly to the ADT approach and, heck, the code is already written! I think in any case the source code of the examples add, mult, fact, and fibo would be very helpful in the documentation. Dan Roman Leshchinskiy wrote: > I'm pleased to announce fixpoint 0.1, a (for now) small generic > programming library which allows data types to be manipulated as > fixpoints of their underlying functors. The library is mostly based on > "Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire" > by Erik Meijer, Maarten Fokkinga and Ross Paterson. > > The basic idea is to use associated data types, a recent GHC extension, > to associate recursive types with their underlying functors. The core of > the library is just one typeclass: > > class Functor (Pre t) => Fixpoint t where > data Pre t :: * -> * > > -- | Projection from the data type to its underlying functor. > project :: t -> Pre t t > > -- | Injection from the underlying functor into the data type. > inject :: Pre t t -> t > > Here, Pre t is a functor such that its fixpoint is t. For instance, for > lists we have: > > instance Fixpoint [a] where > data Pre [a] s = Nil | Cons a s > > project [] = Nil > project (x:xs) = Cons x xs > > inject Nil = [] > inject (Cons x xs) = x : xs > > With this, we can easily define things like catamorphisms: > > cata :: Fixpoint t => (Pre t s -> s) -> t -> s > cata f = f . fmap (cata f) . project > > which can then be used for generic programming: > > size :: (Fixpoint t, Foldable (Pre t)) => t -> Int > size = cata (F.foldr (+) 1) > > At the moment, the package doesn't contain much more than the above but > this will change soon(ish). > > To enjoy the minimalistic interface of fixpoint-0.1, grab it from > Hackage or from my site: > > http://hackage.haskell.org/cgi-bin/hackage-scripts/package/fixpoint-0.1 > http://www.cse.unsw.edu.au/~rl/code/fixpoint.html > > Comments and suggestion are always welcome. > > Roman > > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > > From sweirich at cis.upenn.edu Tue Nov 20 15:21:57 2007 From: sweirich at cis.upenn.edu (Stephanie Weirich) Date: Tue Nov 20 15:18:17 2007 Subject: [Haskell] Coq Tutorial at POPL 2008: Using Proof Assistants for Programming Language Research Message-ID: ====================================================================== Tutorial Announcement and Call for Participation Using Proof Assistants for Programming Language Research Or: How to Write Your Next POPL Paper in Coq San Francisco, CA, 8 Jan 2008 Co-located with POPL 2008 Sponsored by ACM SIGPLAN http://plclub.org/popl08-tutorial/ ======================================================================= The University of Pennsylvania PLClub invites you to participate in a tutorial on using the Coq proof assistant to formalize programming language metatheory. This tutorial will be tailored to people who are familiar with syntactic proofs of programming language metatheory (type soundness, etc.), but have never used a proof assistant. At the end of the day, participants will have a reading knowledge of Coq and a running start on using Coq in their own work. This tutorial will be hands-on, with breaks for exercises; participants are strongly encouraged to bring a laptop running Coq 8.1 (or a later release) and either Proof General or CoqIDE. Tutorial topics - Defining language semantics in Coq - Abstract syntax - Inductively-defined relations - Derivations - Proving simple results - Fundamental tactics - Automation - Forward and backward reasoning - Scaling up to POPLmark - Semantic functions and conversion - Sets and environments - Representing binding - Locally nameless representation - Freshness through cofinite quantification - Syntactic type soundness Registration will be through the POPL 2008 registration site: http://www.regmaster.com/conf/popl2008.html The tutorial is organized and presented by members of the University of Pennsylvania PLClub: Brian Aydemir, Aaron Bohannon, Benjamin Pierce, Jeffrey Vaughan, Dimitrios Vytiniotis, Stephanie Weirich, and Steve Zdancewic. Questions can be sent to Stephanie Weirich (sweirich@cis.upenn.edu). From alex at alexjacobson.com Tue Nov 20 19:18:22 2007 From: alex at alexjacobson.com (Alex Jacobson) Date: Tue Nov 20 19:14:41 2007 Subject: [Haskell] recursive deriving Message-ID: <4743794E.2070100@alexjacobson.com> When you want automated deriving of show/read etc., you need all the components of your type also to be instances of show/read but you won't want to *require* them to be automatically generated verions. Standalone deriving does the wrong thing here. Standalone deriving should not cause an overlapping instance error if someone derives an instance manually. Instead, the manually derived instance should be treated as more specific and win out. The other part of this problem is that you can't do automatic recursive deriving and this results in a ridiculous amount of boilerplate. I know some people have a theory that they want to avoid accidentally creating instances for things that shouldn't have them, but the solution to that is probably to add some declaration for types that prohibits automatic deriving for those types. The 99% case is that automatic deriving is ok. Proposed syntax: derive instance Show T recursively data T = T no-deriving (Ord,Eq) -Alex- From rl at cse.unsw.edu.au Wed Nov 21 03:56:30 2007 From: rl at cse.unsw.edu.au (Roman Leshchinskiy) Date: Wed Nov 21 03:53:04 2007 Subject: [Haskell] ANNOUNCE: fixpoint 0.1 In-Reply-To: <47433C45.9080909@imageworks.com> References: <4742B423.6050909@cse.unsw.edu.au> <47433C45.9080909@imageworks.com> Message-ID: <4743F2BE.50208@cse.unsw.edu.au> Dan Weston wrote: > Good stuff! You might also want to consider including code from > > Uustalu et al, "Recursion Schemes from Comonads", 2001 > http://citeseer.ist.psu.edu/uustalu01recursion.html Thanks for the pointer! I'll put it on my list. Roman From andres at cs.uu.nl Wed Nov 21 09:49:27 2007 From: andres at cs.uu.nl (Andres Loeh) Date: Wed Nov 21 09:45:42 2007 Subject: [Haskell] Call for Contributions - Haskell Communities and Activities Report, December 2007 edition Message-ID: <20071121144927.GI15967@cs.uu.nl> Dear Haskellers, so much has happened in the Haskell world in the past months. Therefore, although later than usual, I would very much like to collect contributions for the 13th edition of the ================================================================ Haskell Communities & Activities Report http://www.haskell.org/communities/ Submission deadline: 7 December 2007 (please send your contributions to hcar at haskell.org, in plain text or LaTeX format) ================================================================ This is the short story: * If you are working on any project that is in some way related to Haskell, please write a short entry and submit it to the me. Even if the project is very small or unfinished or you think it is not important enough -- please reconsider and submit an entry anyway! * If you are interested any project related to Haskell that has not previously been mentioned in the HC&A Report, please tell me, so that I can contact the project leaders and ask them to submit an entry. * Feel free to pass on this call for contributions to others that might be interested. More detailed information: The Haskell Communities & Activities Report is a bi-annual overview of the state of Haskell as well as Haskell-related projects over the last, and possibly the upcoming 6 months. If you have only recently been exposed to Haskell, it might be a good idea to browse the May 2007 edition -- you will find interesting topics described as well as several starting points and links that may provide answers to many questions. Contributions will be collected until the submission deadline. They will then be compiled into a coherent report that is published online as soon as it is ready. As always, this is a great opportunity to update your webpages, make new releases, announce or even start new projects, or to talk about developments you want every Haskeller to know about! As the purpose of the report is to collect recent or current activities, I encourage you to update all existing summaries and reports. I will probably drop any topics that have not had any activity for the past year, i.e., since November 2006, but I would very much prefer you to present an updated description of the topic. Of course, new entries are more than welcome. Reports should generally be kept brief and informative, ranging from a few sentences to a few hundred words, to keep the whole report reasonably sized. Looking forward to your contributions, Andres (current editor) FAQ: Q: Which topics are relevant? A: *All* topics which are related to Haskell in some way are relevant. We usually had reports from users of Haskell (private, academic, or commercial), from authors or contributors to projects related to Haskell, from people working on the Haskell language, libraries, on language extensions or variants. We also like reports over distributions of Haskell software, Haskell infrastructure, books and tutorials on Haskell. Reports on past and upcoming events related to Haskell are also relevant. Finally, there might be new topics I don't even think about. As a rule of thumb: if in doubt, then it probably is relevant and has a place in the HCAR. You can also ask the editor. Q: Is unfinished work relevant? Are ideas for projects relevant? A: Yes! You can use the HCAR to talk about projects you are currently working on. You can use it to look for other developers that might help you. You can use it to write ``wishlist'' items for libraries and language features you would like to see implemented. Q: How much should I write? A: There's no formal limit. But generally, entries should be short and to the point. A general introduction is helpful. Apart from that, you should focus on recent or upcoming developments. There also is no minimum length of an entry! The reports aims at being as complete as possible, so please consider writing an entry, even if it's only a few lines long. Q: If I don't update my entry, but want to keep it in the report, what should I do? A: Tell me that there are no changes. I will reuse the old entry in this case, but I might drop it if it's older than a year, to give more room and more attention to projects that change a lot. Don't resent complete entries if you haven't changed them. Q: What format should I write in? A: The best format is a LaTeX source file, adhering to the template that's available at: http://haskell.org/communities/11-2007/template.tex There's also a LaTeX style file at http://haskell.org/communities/11-2007/hcar.sty that you can use to preview your entry. If you don't know LaTeX, then use plain text. If you modify an old entry, I will send you your old entry as a template within the next days.Please modify that template, rather than using your own version of the old entry about a template. Don't worry about writing correct LaTeX, I will be able to handle your file. Please don't use HTML or even DOC. From rlaemmel at gmail.com Thu Nov 22 18:32:04 2007 From: rlaemmel at gmail.com (Ralf Laemmel) Date: Thu Nov 22 18:28:14 2007 Subject: [Haskell] CFP --- FOAL: Foundations of Aspect-Oriented Languages Message-ID: [You can actually check that indeed Haskell folks have contributed to this workshop in the past. -- Ralf] Call for papers: FOAL: *F*oundations *o*f *A*spect-Oriented *L*anguages A one day workshop affiliated with AOSD 2008 in Brussels, Belgium, on 31 March or 1 April 2008. Themes and Goals *FOAL* is a forum for research in foundations of aspect-oriented programminglanguages. Areas of interest include but are not limited to: - Semantics of aspect-oriented languages - Specification and verification for such languages - Type systems - Static analysis - Theory of testing - Theory of aspect composition - Theory of aspect translation (compilation) and rewriting The workshop aims to foster work in foundations, including formal studies, promote the exchange of ideas, and encourage workers in the semantics and formal methods communities to do research in the area of aspect-oriented programming languages. All theoretical and foundational studies of this topic are welcome. The goals of FOAL are to: - Make progress on the foundations of aspect-oriented programming languages. - Exchange ideas about semantics and formal methods for aspect-oriented programming languages. - Foster interest within the programming language theory and types communities in aspect-oriented programming languages. - Foster interest within the formal methods community in aspect-oriented programming and the problems of reasoning about aspect-oriented programs. Workshop Format The planned workshop format is primarily presentation of papers and group discussion. Talks will come in three categories: long (30 minutes plus 15 minutes of discussion), regular (20 minutes plus 5 minutes of discussion) and short (7 minutes plus 3 minutes of discussion). The short talks will allow for presentations of topics for which results are not yet available, perhaps for researchers who are seeking feedback on ideas or seek collaborations. We also plan to ensure sufficient time for discussion of each presentation by limiting the overall number of talks. Submissions Invitation to the workshop will be based on papers selected by the program committee; those wishing to attend but not having a paper to submit should contact the organizers directly to see if there is sufficient space in the workshop. FOAL solicits long, regular, and short papers on all areas of formal foundations of AOP languages. Submissions will be read by the program committee and designated reviewers. Papers will be selected for long, regular, and short presentation at the workshop based on their length, scientific merit, innovation, readability, and relevance. Papers previously published or already being reviewed by another conference are not eligible. Some papers may not be selected for presentation, and some may be selected for presentation in shorter talks than their paper length would otherwise command. We will limit the length of paper presentations and the number of papers presented to make sure that there is enough time for discussion. Papers presented at the workshop will be included in the ACM Digital Library, hence authors of accepted papers will be asked to transfer copyright to the ACM. However, as FOAL is a workshop, publication of extended versions of the papers in other venues will remain possible. We will also investigate having a special issue of a journal for revisions of selected papers after the workshop. Authors should note the following details: - Submissions are due no later than 23:00 GMT, 11 January 2008 (This is a firm deadline.) - Authors must indicate whether they wish to be considered for a long, regular, or short presentation. - Papers for long presentations must not exceed 10 pages in length; those for regular presentations must not exceed 7 pages in length, and those for short presentations must not exceed 3 pages in length. - We encourage use of the ACM Conference format for submissions, as this will be required for accepted papers. You must add page numbers (which are not part of the standard format) to your submissions, to make adding comments easier. We will notify the corresponding author of papers that are selected for presentation at the workshop by 8 February 2008. Early registration for AOSD (you must register for AOSD to attend the workshop) will end on 25 February 2008. Final versions of papers for the proceedings will be due on 1 March 2008. For more information, visit the FOAL Workshop home page (at http://www.eecs.ucf.edu/FOAL). Important Dates Submission Deadline 23:00 GMT, 11 January 2008 Notification of Acceptance 8 February 2008 Final Versions of Papers Due 1 March 2008 Workshop 31 March 2008 or 1 April 2008 Program Committee We are pleased to have assembled another exceptional program committee for FOAL this year: - Curtis Clifton (Program Committee Chair)? Rose-Hulman Institute of Technology - Jonathan Aldrich ? Carnegie Mellon University - Paulo Borba ? Universidade Federal de Pernambuco - Lodewijk Bergmans ? University of Twente - William Griswold ? University of California, San Diego - G?nter Kniesel ? University of Bonn - Shriram Krishnamurthi ? Brown University - Ralf L?mmel ? Universit?t Koblenz-Landau - Karl Lieberherr ? Northeastern University - Hidehiko Masuhara ? University of Tokyo - James Noble ? Victoria University of Wellington - Klaus Ostermann ? Darmstadt University of Technology - Hridesh Rajan ? Iowa State University - Damien Sereni ? Oxford Organizers - Gary T. Leavens ? University of Central Florida - Curtis Clifton ? Rose-Hulman Institute of Technology - Mira Mezini ? Darmstadt University of Technology - Shmuel Katz ? Technion?Israel Institute of Technology -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071123/57a2e165/attachment.htm From Malcolm.Wallace at cs.york.ac.uk Fri Nov 23 06:58:36 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Fri Nov 23 06:59:15 2007 Subject: [Haskell] ANNOUNCE: nhc98-1.20 Message-ID: <20071123115836.7fd49af4.Malcolm.Wallace@cs.york.ac.uk> ---------- nhc98-1.20 ---------- http://haskell.org/nhc98/ We are pleased to announce that, contrary to popular belief, there is indeed more than one Haskell compiler in the world. Whilst nhc98 might not receive much love and attention these days, it does at least continue to work. 1.20 is a refreshed release with many of the current core library packages included, and a variety of small bugfixes since the last release. * It successfully compiles and runs more programs from the nobench suite than jhc, hbc, Hugs, or yhc. * It generates an interpreted bytecode that, on the whole runs faster than that generated by Hugs or yhc, and in many cases is also faster than ghci. * Although nhc98 is written in Haskell, you don't need an existing Haskell compiler on your platform to build nhc98 - a C compiler will do. Hence, it is portable to almost any unix-like machine with a 32-bit compatibility mode. * Many useful build tools come included: hmake (the inspiration for ghc --make) hi (interactive read-eval-print, like Hugs or ghci) cpphs (Haskell-aware replacement for cpp) hsc2hs (preprocessor for FFI code) * Supplied with recent versions of these library packages: base, Cabal, directory, filepath, fps, haskell-src, HaXml, html, HUnit, old-locale, old-time, parsec, polyparse, pretty, process, QuickCheck, random, xhtml * Supports the Haskell'98 language standard, with the following language extensions: pattern guards (new) existential types named field puns hierarchical module names foreign function interface no monomorphism restriction empty data declarations Regards, Malcolm From P.Achten at cs.ru.nl Fri Nov 23 08:33:13 2007 From: P.Achten at cs.ru.nl (Peter Achten) Date: Fri Nov 23 08:29:25 2007 Subject: [Haskell] First Call for Papers TFP 2008, The Netherlands Message-ID: <4746D699.1000807@cs.ru.nl> CALL FOR PAPERS TRENDS IN FUNCTIONAL PROGRAMMING 2008 RADBOUD UNIVERSITY NIJMEGEN, THE NETHERLANDS MAY 26-28, 2008 INVITED SPEAKER: PROF. HENK BARENDREGT http://www.st.cs.ru.nl/AFP_TFP_2008/ The symposium on Trends in Functional Programming (TFP) is an international forum for researchers with interests in all aspects of functional programming languages, focusing on providing a broad view of current and future trends in Functional Programming. It aspires to be a lively environment for presenting the latest research results through acceptance by extended abstracts and full papers. A formal post-symposium refereeing process selects the best articles presented at the symposium for publication in a high-profile volume. TFP 2008 is hosted by the Radboud University Nijmegen, The Netherlands, and will be held in the rural setting of Center Parcs ?Het Heijderbos?, Heijen (in the vicinity of Nijmegen), The Netherlands. TFP 2008 is co-located with the 6th Int?l. Summer School on Advanced Functional Programming (AFP?08), which is held immediately before TFP?08. SCOPE OF THE SYMPOSIUM The symposium recognizes that new trends may arise through various routes. As part of the Symposium's focus on trends we therefore identify the following five article categories. High-quality articles are solicited in any of these categories: Research: leading-edge, previously unpublished research. Position: on what new trends should or should not be. Project: descriptions of recently started new projects. Evaluation: what lessons can be drawn from a finished project. Overview: summarizing work with respect to a trendy subject. Articles must be original and not submitted for simultaneous publication to any other forum. They may consider any aspect of functional programming: theoretical, implementation-oriented, or more experience-oriented. Applications of functional programming techniques to other languages are also within the scope of the symposium. Contributions on the following subject areas are particularly welcomed: * Dependently Typed Functional Programming * Validation and Verification of Functional Programs * Debugging for Functional Languages * Functional Programming and Security * Functional Programming and Mobility * Functional Programming to Animate/Prototype/Implement Systems from Formal or Semi-Formal Specifications * Functional Languages for Telecommunications Applications * Functional Languages for Embedded Systems * Functional Programming Applied to Global Computing * Functional GRIDs * Functional Programming Ideas in Imperative or Object-Oriented Settings (and the converse) * Interoperability with Imperative Programming Languages * Novel Memory Management Techniques * Parallel/Concurrent Functional Languages * Program Transformation Techniques * Empirical Performance Studies * Abstract/Virtual Machines and Compilers for Functional Languages * New Implementation Strategies * Any new emerging trend in the functional programming area If you are in doubt on whether your article is within the scope of TFP, please contact the TFP 2008 program chairs, Peter Achten and Pieter Koopman, at afp_tfp_2008@cs.ru.nl. SUBMISSION AND DRAFT PROCEEDINGS Acceptance of articles for presentation at the symposium is based on the review of full papers (15 pages) and extended abstracts (3 pages) by the program committee. TFP encourages PhD students to submit papers. PhD students may request the program committee to provide extensive feedback on their full papers at the time of submission. Full papers describing work accepted for presentation must be completed before the symposium for publication in the draft proceedings and on-line. Further details can be found at the TFP 2008 website http://www.st.cs.ru.nl/AFP_TFP_2008/. POST-SYMPOSIUM REFEREEING AND PUBLICATION In addition to the draft symposium proceedings, we continue the TFP tradition of publishing a high-quality subset of contributions in the Intellect series on Trends in Functional Programming. IMPORTANT DATES (ALL 2008) Paper Submission: March 3 Notification of Acceptance: March 31 Early Registration Deadline: April 14 Late Registration Deadline: May 5 Camera Ready Symposium: May 5 TFP Symposium: May 26-28 Post Symposium Paper Submission: June 20 Notification of Acceptance: September 7 Camera Ready Revised Paper: September 21 PROGRAMME COMMITTEE Peter Achten (co-chair) Radboud Univ. Nijmegen, NL Andrew Butterfield Trinity College, IE Manuel Chakravarty Univ. of New South Wales, AU John Clements Cal Poly State Univ., USA Matthias Felleisen Northeastern Univ., USA Jurriaan Hage Utrecht Univ., NL Michael Hanus Christian-Albrechts Univ. zu Kiel, DE Ralf Hinze Univ. of Oxford, UK Graham Hutton Univ. of Nottingham, UK Johan Jeuring Utrecht Univ., NL Pieter Koopman (co-chair) Radboud Univ. Nijmegen, NL Shriram Krishnamurthi Brown Univ., USA Hans-Wolfgang Loidl Ludwig-Maximilians Univ.M?nchen, DE Rita Loogen Philipps-Univ. Marburg, DE Greg Michaelson Heriot-Watt Univ., UK Marco T. Moraz?n (symp. chair) Seton Hall Univ., USA Sven-Bodo Scholz Univ. of Hertfordshire, UK Ulrik Schultz Univ. of Southern Denmark, DK Clara Segura Univ. Complutense de Madrid, ES Olin Shivers Northeastern Univ., USA Phil Trinder Heriot-Watt Univ., UK Varmo Vene Univ. of Tartu, EE Vikt?ria Zs?k E?tv?s Lor?nd Univ., HU ORGANIZATION Symposium Chair: Marco T. Moraz?n, Seton Hall University, USA Programme Chair: Peter Achten, Pieter Koopman, Radboud University Nijmegen, NL Treasurer: Greg Michaelson, Heriot-Watt University, UK From wss at Cs.Nott.AC.UK Mon Nov 26 10:47:23 2007 From: wss at Cs.Nott.AC.UK (Wouter Swierstra) Date: Mon Nov 26 10:51:07 2007 Subject: [Haskell] The Monad.Reader - Call for Copy Message-ID: <6DFDD45D-597F-42F3-82D4-044F800246D8@cs.nott.ac.uk> Call for Copy The Monad.Reader - Issue 10 I would like to welcome articles for the anniversary issue of The Monad.Reader. * The Monad.Reader * The Monad.Reader is an electronic magazine about all things Haskell. It is less-formal than journal, but somehow more enduring than a wiki- page. There have been a wide variety of articles, including: exciting code fragments, intriguing puzzles, book reviews, tutorials, and even half-baked research ideas. * Submission Details * Get in touch with me if you intend to submit something -- the sooner you let me know what you're up to, the better. Please submit articles for the next issue by e-mail (wss at cs.nott.ac.uk) to me before ** January 25, 2008 ** Articles should be written according to the guidelines available from http://www.haskell.org/haskellwiki/The_Monad.Reader Please submit your article in PDF, together with any source files you used. The sources will be released together with the magazine under a BSD license. If you would like to submit an article, but have trouble with LaTeX please let me know and we'll sort something out. Looking forward to your submission, Wouter This message has been checked for viruses but the contents of an attachment may still contain software viruses, which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. From damian.nadales at gmail.com Mon Nov 26 18:21:53 2007 From: damian.nadales at gmail.com (Damian Nadales) Date: Mon Nov 26 18:30:34 2007 Subject: [Haskell] Bug in hugs? Message-ID: <200711262021.54254.damian.nadales@gmail.com> Hi, I'm sorry to bother. I was using the splitRegex function http://cvs.haskell.org/Hugs/pages/libraries/base/Text-Regex.html#t%3ARegex and it enters an infinite loop when I enter the command (splitRegex (mkRegex "") "hi") I apologize if this is not a bug or if it's the wrong place to submit it. Best regards, damian. From heron_carvalho at bol.com.br Thu Nov 29 23:46:03 2007 From: heron_carvalho at bol.com.br (Heron) Date: Thu Nov 29 23:43:02 2007 Subject: [Haskell] Call for Papers - SBLP 2008 (12th BRAZILIAN SYMPOSIUM ON PROGRAMMING LANGUAGES) Message-ID: <0c5901c8330b$ea2d6700$6501a8c0@universifad604> 12th BRAZILIAN SYMPOSIUM ON PROGRAMMING LANGUAGES http://www.lia.ufc.br/sblp2008 Fortaleza, Ceara, Brazil August 27-29, 2008 CALL FOR PAPERS AND TUTORIALS The 12th Brazilian Symposium on Programming Languages, SBLP 2008, will be held in Fortaleza, Ceara, Brazil, on August 27-29, 2008. SBLP provides a venue for researchers and practitioners interested in the fundamental principles and innovations in the design and implementation of programming languages and systems. SBLP 2008 invites authors to contribute with Technical Papers and Tutorial Proposals related (but not limited) to: * Programming language design and implementation * Formal semantics of programming languages * Theoretical foundations of programming languages * Design and implementation of programming language environments * Object-oriented programming languages * Functional programming * Aspect-oriented programming languages * Scripting languages * Domain-specific languages * Programming languages for mobile, web and network computing * New programming models * Program transformations * Program analysis and verification * Compilation and interpretation techniques Contributions can be written in Portuguese or English. Papers should have at most 14 pages. All accepted papers will be published in the conference proceedings. Selected papers will appear in a Special Issue of the Journal of Universal Computer Science (J.UCS). Only papers written in English are eligible to be published in JUCS. Papers should be presented in the language of submission. Tutorial submissions must be in the form of an extended abstract with at most 10 pages. The final version of accepted tutorials should contain at most 30 pages. This final version will be distributed to attendees. An abstract of the tutorial (1-2 pages) will be included in the conference proceedings. Detailed submission guidelines are available at http://www.lia.ufc.br/sblp2008. IMPORTANT DATES Paper abstract submission (15 lines): March 28, 2008 Full paper submission: April 4, 2008 Notification of acceptance: June 6, 2008 Final papers due: June 30, 2008 GENERAL CHAIR Francisco Heron de Carvalho Junior, UFC PROGRAMME CHAIRS Marco Tulio Valente, PUC Minas Peter Mosses, Swansea University PROGRAMME COMMITTEE Alberto Pardo, Univ. de La Republica Alex Garcia, IME Alfio Martini, PUC-RS Alvaro Freitas Moreira, UFRGS Andre Rauber Du Bois, UCPel Andre Santos, UFPE Carlos Camarao, UFMG Christiano Braga, Univ. Comp. de Madrid David Naumann, Stevens Tech Eric Tanter, Univ. of Chile Francisco Heron de Carvalho Junior, UFC Isabel Cafezeiro, UFF Johan Jeuring, Utrecht Univ. Joao Saraiva, Univ. do Minho Jose Guimaraes, UFSCAR Jose E. Labra Gayo, Univ. of Oviedo Jose Luiz Fiadeiro, Univ. of Leicester Lucilia Figueiredo, UFOP Luis Soares Barbosa, Univ. do Minho Luis Carlos Meneses, UPE Marcelo A. Maia, UFU Mariza A. S. Bigonha, UFMG Martin A. Musicante, UFRN Nabor Mendonca,UNIFOR Nick Benton, Microsoft Research Noemi Rodriguez, PUC-Rio Paulo Borba, UFPE Rafael Dueire Lins, UFPE Renato Cerqueira, PUC-Rio Ricardo Massa Lima, UPE Roberto S. Bigonha, UFMG Roberto Ierusalimschy, PUC-Rio Rodolfo Jardim de Azevedo, UNICAMP Sandro Rigo, UNICAMP Sergio de Mello Schneider, UFU Sergio Soares, UPE Sergiu Dascalu, Univ. of Nevada Simon Thompson, Univ. of Kent Varmo Vene, Univ. de Tartu Vitor Santos Costa, UFRJ Vladimir Di Iorio, UFV ORGANIZATION Brazilian Computer Society and Federal University of Ceara -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20071130/0fdf336f/attachment.htm From taha at rice.edu Fri Nov 30 16:55:54 2007 From: taha at rice.edu (Walid Taha) Date: Fri Nov 30 16:51:42 2007 Subject: [Haskell] Doctoral and Post-doctoral openings at Rice In-Reply-To: <469238a40711301128pabddb51n96b12cb7cd6eacf@mail.gmail.com> References: <469238a40711301124y7edd221cubb1ff1006ea9250a@mail.gmail.com> <469238a40711301128h20dbdf56q48ace154fa17e9b7@mail.gmail.com> <469238a40711301128pabddb51n96b12cb7cd6eacf@mail.gmail.com> Message-ID: <469238a40711301355h2f2f929bi9d0d27026783c578@mail.gmail.com> The Resource-Aware Programming (RAP) research group at Rice University is seeking qualified doctoral and post-doctoral students. The openings will support work on a wide range of topics, including the Concoqtion programming language, physically safe computing, and device drivers. The full descriptions of these positions can be found at: http://www.resource-aware.org/twiki/bin/view/RAP/OpeningsGraduate and http://www.resource-aware.org/twiki/bin/view/RAP/OpeningsPostdoctoral Funding for these positions is provided by the National Science Foundation (NSF) and by industrial partners including Intel, LogicBlox, and Schlumberger. Walid Taha, http://www.cs.rice.edu/~taha Department of Computer Science Rice University Houston, TX 77025