Brent Yorgey | 4 Jul 17:49
Favicon

Haskell Weekly News: Issue 124 - July 4, 2009

---------------------------------------------------------------------------
Haskell Weekly News
http://sequence.complete.org/hwn/20090704
Issue 124 - July 04, 2009
---------------------------------------------------------------------------

   Welcome to issue 124 of HWN, a newsletter covering developments in the
   [1]Haskell community.

Announcements

   HLint 1.6. Neil Mitchell [2]announced the release of [3]HLint 1.6, a
   tool for automatically suggesting improvements to Haskell code.

   Haskell Implementers Workshop: accepted talks. Simon Marlow
   [4]announced that the list of talks at the [5]Haskell Implementers
   Workshop 2009 has now been posted.

   bloxorz clone. Patai Gergely [6]announced a [7]Haskell clone of the
   game "bloxorz", written by Viktor Devecseri.

   Fun with type functions. Simon Peyton-Jones [8]announced that he, Ken
   Shan, and Oleg have finished Version 2 of their [9]paper "Fun with Type
   Functions", which gives a programmer's tour of what type functions are
   and how they are useful. If you have a moment to look at, and wanted to
   help them improve it, leave comments on the linked wiki page.

   package Boolean: Generalized booleans. Conal Elliott [10]announced
   [11]Boolean, a new package for generalized booleans, which provides
   type classes with generalizations of Boolean values and operations,
(Continue reading)

Neil Mitchell | 1 Jul 21:16

ANN: HLint 1.6

Hi,

I am pleased to announce HLint 1.6, a tool for automatically
suggesting improvements to your Haskell code. For example:

$ hlint darcs-2.1.2

CommandLine.lhs:49:1: Warning, eta reduce
Found:    quotedArg ftable = between (char '"') (char '"') $ quoteContent ftable
Why not:  quotedArg = between (char '"') (char '"') . quoteContent

CommandLine.lhs:94:1: Error, use concatMap
Found:    concat $ map escapeC s
Why not:  concatMap escapeC s

Ssh.hs:155:17: Error, use isPrefixOf
Found:    take 1 path == "~"
Why not:  "~" `isPrefixOf` path

== INSTALLATION ==

To install hlint, do the standard cabal magic: cabal update && cabal
install hlint

The home page for HLint is: http://community.haskell.org/~ndm/hlint/

The manual is at: http://community.haskell.org/~ndm/darcs/hlint/hlint.htm

== NEW FEATURES FROM 1.4 ==

(Continue reading)

Simon Marlow | 1 Jul 12:27

Haskell Implementers Workshop: accepted talks

The list of talks at the Haskell Implementers Workshop 2009 has now been 
posted, and I think you'll agree we have an exciting lineup:

http://haskell.org/haskellwiki/HaskellImplementorsWorkshop

See you on 5 September!

Cheers,
	Simon
Kathleen Fisher | 1 Jul 04:03
Favicon

Call for Participation: CUFP

Commercial Users of Functional Programming Workshop (CUFP) 2009

          Functional Programming As a Means, Not an End

                      Call for Participation

                       Sponsored by SIGPLAN
                    Co-located with ICFP 2009
    _________________________________________________________

                         4 September 2009
                       Edinburgh, Scotland

                     Registration is through
           http://www.regmaster.com/conf/icfp2009.html
    _________________________________________________________

  Functional languages have been under academic development 
  for over 25 years, and remain fertile ground for programming
  language research. Recently, however, developers in industrial, 
  governmental, and open source projects have begun to use 
  functional programming successfully in practical applications. 
  In these settings, functional programming has often provided 
  dramatic leverage, including whole new ways of thinking about 
  the original problem.

  The goal of the CUFP workshop is to act as a voice for these
  users of functional programming. The workshop supports the
  increasing viability of functional programming in the
  commercial, governmental, and open-source space by providing a
  forum for professionals to share their experiences and ideas,
  whether those ideas are related to business, management, or
  engineering. The workshop is also designed to enable the
  formation and reinforcement of relationships that further
  the commercial use of functional programming. Providing user
  feedback to language designers and implementors is not a
  primary goal of the workshop, though it will be welcome if it
  occurs.

Program

  CUFP 2009 will last a full day and feature a discussion
  session and the following presentations:

  Bryan O'Sullivan
         Keynote: Real world Haskell

  Lee Momtahan (EDF Trading)
         Implementing a Domain-Specific Language for Derivative
         Pricing with Scala

  Bhasker Kode (hover.in)
         Erlang at hover.in

  Jefferson Heard, (Renaissance Computing Institute)
         Teleconferencing over High-res Maps with Haskell

  Alex Peake (TFC) and Adam Granicz (Intellifactory)
         The First Substantial Line of Business Application in F#

  Christopher Piro and Eugene Letuchy (Facebook)
         Functional Programming at Facebook

  Fermin Reig (Morgan Stanly)
         Computing with Time Series Data in Finance

  Warren Harris (Metaweb)
         Functional Programming at Freebase

  Mark Wong-VanHaren (Glyde)
         Clear & Simple: Composing a Marketplace

  Duncan Coutts (Well-Typed)
         Birth of the Industrial Haskell Group

  There will be no published proceedings, as the meeting is
  intended to be more a discussion forum than a technical
  interchange.

  See http://cufp.galois.com for more information, including
  presentation abstracts and the most recent schedule
  information.

  This will be the sixth CUFP; see CUFP 2004 CUFP 2005, CUFP
  2006, CUFP 2007 and CUFP 2008 for information about the
  earlier meetings, including reports from attendees and video
  of the most recent talks.
_______________________________________________
Haskell mailing list
Haskell <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell
Pedro Salgueiro | 29 Jun 22:58
Favicon

INAP 2009: DEADLINE EXTENSION and Final Call for Papers

-------------------------------------------------------------------
  (PLEASE DISTRIBUTE -- **DEADLINE EXTENDED** -- PLEASE DISTRIBUTE)
 -------------------------------------------------------------------
                        Final Call for Papers

                              INAP 2009

                   18th International Conference on
               Applications of Declarative Programming
                       and Knowledge Management

                         November 5-7, 2009
                          Evora, Portugal

                  http://www.di.uevora.pt/inap2009/
                    http://inap.dialogengines.com/
     ------------------------------------------------------------

  Organized by the Portuguese AI Society (APPIA), the INAP Committee
           and the Society of Logic Programming (GLP e.V.)

== Overview ==

  Declarative Programming is a family of advanced paradigms for the
  modeling and solving of complex problems.  These specification and
  implementation methods have attracted more and more attention over
  the past years, e.g. in the domains of databases and natural
  language processing, for modeling and the processing of
  combinatorial problems, and for establishing systems for the web.

== INAP 2009 ==

  INAP is a communicative and dense forum for intensive discussion of
  applications of important technologies related to Prolog, Logic and
  Constraint Programming as well as closely related advanced software.
  It comprehensively covers the impact of programmable logic solvers
  in the Internet Society, its underlying technologies, and leading
  edge applications in industry, commerce, government, and societal
  services.

  INAP 2009 continues a tradition of successful workshops cast around
  the applications of declarative programming, which were held in
  Kobe (1997), Tokyo (1995, 1996, 1998 - 2001), Potsdam (2004),
  Fukuoka (2005) and Wuerzburg (2007).

  We invite the submission of high quality papers on the described
  topics, especially, but not exclusively, on different aspects of
  Declarative Programming, Constraint Processing and Knowledge
  Management as well as their use for Distributed Systems and the Web:

- Knowledge Management,
  e.g. Data Mining, Decision Support, Deductive Databases
- Distributed Systems and the Web,
  e.g. Agents and Concurrent Engineering, Semantic Web
- Constraints,
  e.g. Constraint Systems, Extensions of Constraint (Logic) Programming
- Theoretical Foundations,
  e.g. Deductive Databases, Nonmonotonic Reasoning
- Systems and Tools for Academic and Industrial Use
- Knowledge-based Web Services - Logic Solvers and Applications

== Workshop Format ==

  The technical program of the workshop will include invited
  presentations (to be announced), regular technical sessions with
  presentations of the accepted papers, system demonstrations and a
  panel discussion.

== Conference Venue ==

  The conference will be held at the University of Evora, Portugal
  in November 5-7, 2009.

  Evora is a nice and quiet historical city located in the south of
  Portugal that can be reached from Lisbon by train or coach in under
  2 hours.  It is a small city of 60.000 inhabitants, 120 km inland
  from Lisbon and classified by Unesco as World Heritage.  The
  University of Evora was established in the 16th Century and is the
  2nd oldest Portuguese University.

  The social program is promising since the region is very rich in
  historical sites (Stone Age, Roman, Medieval and Renaissance
  remains) and also offers a very special gastronomy.  See
  http://en.wikipedia.org/wiki/%C3%89vora for more information.

== Important Dates ==

  Paper Submission Deadline:       July 13, 2009 (EXTENDED!)
  Notifications to Authors:        August 17, 2009
  Camera-ready Version Deadline:   September 14, 2009
  INAP 2009 Workshop:              November 5-7, 2009

== Submission Guidelines ==

  Participants should submit a paper (maximum 15 pages, PDF format),
  describing their work in topics relevant to the workshop.  Accepted
  papers will be presented during the workshop.  At least one author
  of an accepted contribution is expected to register for the
  workshop, and present the paper.  All submissions should include the
  author's name(s), affiliation, complete mailing address, and email
  address.

  Authors are requested to prepare their submissions, following the
  LNCS/LNAI Springer format. Please see:
      http://www.springer.de/comp/lncs/authors.html
  for further details.

  The submission should be submitted through the electronic submission
  site:
        http://www.easychair.org/conferences/?conf=inap2009

  The deadline for receipt of submissions is July 13, 2009.  Papers
  received after this date will not be reviewed.  Eligible papers will
  be peer-reviewed by at least three members of the Program Committee.
  Authors will be notified via email of the results by August 17,
  2009.  Authors of accepted papers are expected to improve their
  paper based on reviewers' comments and to send a camera ready
  version of their manuscripts by September 14, 2009.

  Accepted papers will be included in the workshop proceedings, which
  will be distributed to the participants.

  As in previous editions, we plan to publish selected papers in a
  proceedings volume in the Springer Lecture Notes in Artificial
  Intelligence (LNAI) series.

== Organizing Committee ==

  Vitor Nogueira        vbn AT di.uevora.pt
  Salvador Abreu        spa AT di.uevora.pt
  Pedro Salgueiro       pds AT di.uevora.pt
        Universidade de Evora
        Portugal

== Program Committee ==

  Salvador Abreu, University of Evora, Portugal (co-chair)
  Sergio Alvarez, Boston College, USA
  Philippe Codognet, CNRS/JFLI, Tokyo, Japan
  Vitor Santos Costa, University of Porto, Portugal
  Daniel Diaz, University of Paris I, France
  Ulrich Geske, University of Potsdam, Germany
  Gopal Gupta, UT Dallas, USA
  Petra Hofstedt, Technical University of Berlin, Germany
  Ulrich Neumerkel, Technical University of Vienna, Austria
  Vitor Nogueira, University of Evora, Portugal
  Enrico Pontelli, New Mexico State University, USA
  Irene Rodrigues, University of Evora, Portugal
  Carolina Ruiz, Worcester Polytechnic Institute, USA
  Dietmar Seipel, University of Wuerzburg, Germany (co-chair)
  Terrance Swift, CENTRIA, Portugal
  Hans Tompits, Technical University of Vienna, Austria
  Masanobu Umeda, Kyushu Institute of Technology, Japan
  Armin Wolf, Fraunhofer FIRST, Berlin, Germany
  Osamu Yoshie, Waseda University, Japan

== Contact Information ==

     inap2009 <at> di.uevora.pt

     Universidade de Evora
     Departamento de Informatica
     Largo dos Colegiais, 2
     7004-516 Evora - PORTUGAL
Brent Yorgey | 29 Jun 22:03
Favicon

Haskell Weekly News: Issue 123 - June 29, 2009

---------------------------------------------------------------------------
Haskell Weekly News
http://sequence.complete.org/hwn/20090629
Issue 123 - June 29, 2009
---------------------------------------------------------------------------

   Welcome to issue 123 of HWN, a newsletter covering developments in the
   [1]Haskell community.

   A bit late this week since over the weekend I was trying to get some
   unruly satellites to behave (with moderate success). Anyway, some fun
   stuff this week: Haskell on the iPhone; new libraries for 3D animation,
   web development, session types; new releases of haskell-src-exts and
   darcs; and more. Also, if it seems that there haven't been many quotes
   lately, it's because people haven't been @remembering very many in
   #haskell. I cannot telepathically sense (via the Haskell-force,
   hereafter known as the "Horce") when someone says something funny.

Announcements

   Haskell Symposium call for participation. Stephanie Weirich
   [2]announced that [3]registration is now open for the [4]ACM SIGPLAN
   Haskell Symposium 2009, to be held on 3 September 2009 in Edinburgh,
   Scotland (co-located with ICFP). The purpose of the Haskell Symposium
   is to discuss experiences with Haskell and future developments for the
   language. The scope of the symposium includes all aspects of the
   design, semantics, theory, application, implementation, and teaching of
   Haskell.

   jhc 0.6.1. John Meacham [5]announced the release of [6]jhc 0.6.1,
   featuring a a much simplified cross-compilation mechanism.

   X Haskell Bindings 0.3. Antoine Latter [7]announced the 0.3.* series
   release of the [8]X Haskell Bindings. This release, like the prior
   0.2.* series focuses on making the API prettier.

   happstack-0.3.2. Matthew Elder [9]announced the release of
   [10]happstack-0.3.2, with many changes, updates, and bug fixes.

   sendfile-0.1. Matthew Elder [11]announced the release of [12]sendfile,
   a library which exposes zero-copy sendfile functionality in a portable
   way. Right now it natively supports linux 2.6+ (maybe older too) and
   windows 2000+; on other platforms it will fall back seamlessly to a
   portable haskell implementation.

   Reusable Corecursive Queues via Continuations. Leon Smith [13]requested
   feedback on a draft of an upcoming article in Monad.Reader issue 14,
   "Lloyd Allison's Corecursive Queues: Why Continuations Matter",
   describing the implementation of the [14]control-monad-queue package.

   Haskell on the iPhone. Ryan Trinkle [15]announced that his company,
   iPwn Studios Inc., is currently preparing to release an open source
   patch to GHC that allows it to output binaries for iPhone OS. The patch
   will be released under a BSD license as soon as possible and hopefully
   integrated into the GHC main-line in the near future.

   Program to set the GNOME desktop background picture randomly. Colin
   Paul Adams [16]announced [17]gnome-desktop, a library which
   periodically picks a random picture from $HOME/Pictures, and sets it as
   the GNOME desktop background.

   loli: a minimal web dev DSL. Jinjing Wang [18]announced the release of
   [19]loli, a web development DSL built on top of [20]hack. It allows you
   to easily define routes, build your custom template backends through a
   simple Template interface, and integrate with other hack middleware.

   Cal3D animation library. Gregory D. Weber [21]announced the [22]Cal3D
   for Haskell project, which provides a partial binding to the [23]C++
   Cal3D animation library, a platform- and graphics-API-independent C++
   library for skeletal-based character animation. There are three
   packages available on hackage: [24]cal3d-0.1, a Haskell binding to the
   Cal3D library itself; as well as [25]cal3d-opengl-0.1 and
   [26]cal3d-examples-0.1.

   A Reader Monad Tutorial. Henry Laxen [27]announced a nice [28]Reader
   monad tutorial.

   full-sessions: yet another implementation of session types. Keigo Imai
   [29]announced the pre-release of [30]full-sessions, yet another
   implementation of session types in Haskell. Session types are used to
   statically check the safe and consistent use of communication channels
   according to protocols. A notable advantage of [31]this implementation
   is that it requires almost no type annotation or term annotations. and
   at the same time provides full functionality of session types including
   channel-generation and channel-passing.

   darcs 2.3 beta 1. Petr Rockai [32]announced the immediate availability
   of a first beta release of darcs 2.3. There are a number of
   improvements and bugfixes over the last stable release, 2.2 (see the
   announcement for a full list). Moreover, work has been done on
   performance of "darcs whatsnew" for large repositories. This has also
   introduced a slight risk of regressions, but please note that all of
   the disruptive changes are in read-only code paths: the new code will
   never touch your repository, so it is unable to cause permanent harm.
   The worst that could happen is that you get no or bad diff from "darcs
   whatsnew". Please help test it (cabal install [33]darcs-beta)!

   New release of ZeroTH. Robin Green [34]announced a new release
   (2009.6.23.3) of [35]ZeroTH, a tool for preprocessing Haskell code to
   run splices and remove Template Haskell dependencies. Major changes
   include support for more Haskell code via haskell-src-exts 1.0.0,
   better error messages, and librification.

   Emping-0.6 and Tests/Examples. Hans van Thiel [36]announced version 0.6
   of [37]Emping, a (prototype) interactive tool for the discovery and
   analysis of (universal, not statistical) predictive rules in tables of
   nominal data.

   haskell-src-exts-1.0.0. Niklas Broberg [38]announced the first stable
   release of the [39]haskell-src-exts package, version 1.0.0!
   haskell-src-exts is a package for Haskell source code manipulation. In
   particular it defines an abstract syntax tree representation, and a
   parser and pretty-printer to convert between this representation and
   String. It handles (almost) all syntactic extensions to the Haskell 98
   standard implemented by GHC, and the parsing can be parametrised on
   what extensions to recognise.

   HaRe (the Haskell Refactorer) in action - short screencast. Claus
   Reinke [40]linked to [41]a short video showing [42]HaRe, the Haskell
   refactorer, in action. HaRe still exists---but needs some love in the
   form of time and/or funding for maintenance and continued development.

   Trivial pivoting for the DSP lu decomposition. Fernan Bolando
   [43]announced the beginnings of a [44]simple circuit simulator using
   haskell, which uses a modified version of the haskell DSP library
   matrix, extended with a simple pivoting method.

Discussion

   make some Applicative functions into methods, and split off
   Data.Functor. Ross Paterson [45]proposed moving several functions such
   as (<$), (*>), and so on into their respective classes with default
   definitions, to allow for specialized implementations.

   base library and GHC 6.12. Ian Lynagh began a [46]discussion about how
   to structure the base library in the future.

   Proposal: ExplicitForall. Niklas Broberg [47]proposed adding a new GHC
   extension, ExplicitForall, to be used for turning on explicit 'forall'
   syntax in types, and to help disentangle and simplify some existing
   extensions.

   Generic Graph Class. Ivan Lazar Miljenovic [48]proposed a generic graph
   class to serve as a common interface for the many Haskell libraries
   that deal with graph data structures.

   Type system trickery. Andrew Coppin [49]asked how to statically ensure
   certain properties of recursive data structures with the type system,
   generating varied suggestions involving GADTs.

Blog noise

   [50]Haskell news from the [51]blogosphere. Blog posts from people new
   to the Haskell community are marked with >>>, be sure to welcome them!
     * Magnus Therning: [52]Making a choice from a list in Haskell, Vty
       (part 0).
     * The Gentoo Haskell Team: [53]Haskell in Gentoo.
     * Michael Snoyman: [54]Hack Introduction.
     * >>> Henry Laxen: [55]Reader Monad Confusion.
     * >>> Akshay: [56]Dynamic Programming in Haskell and why DP is
       useful.
     * David Amos: [57]Direct products revisited.
     * mightybyte: [58]Basic Happstack Blog App.
     * David Amos: [59]Some groups and some graphs.
     * Gergely Patai: [60]Short-term hp2any plans.
     * Isaac Dupree: [61]cross-package, Plan A.
     * >>> Oliver Reeves: [62]Data Crunching in Haskell.
     * Roman Cheplyaka: [63]Halting problem.
     * Petr Rockai: [64]darcs 2.3 beta 1.
     * Eric Kow (kowey): [65]Haskell syntax highlighting on Wikipedia and
       Wikibooks.
     * Greg Bacon: [66]Setting up a simple test with Cabal.
     * Isaac Dupree: [67]Cross-package documentation, part 1.
     * Sean Leather: [68]RFC: Extensible, typed scanf- and printf-like
       functions for Haskell.
     * >>> Akshay: [69]Foray Into Haskell.
     * >>> Ivan Uemlianin: [70]decorate-sort-undecorate in Haskell.
     * Isaac Dupree: [71]How To Navigate Your Code:.
     * Petr Rockai: [72]soc progress 5.
     * DEFUN 2009: [73]The tutorial schedule is now ready.
     * DEFUN 2009: [74]Last call for talk proposals!.
     * >>> Greg Bacon: [75]Setting up a simple test with Cabal.
     * The GHC Team: [76]New paper: Parallel Performance Tuning for
       Haskell.
     * Brandon Simmons: [77]Fun with Lazy Arrays: the LZ77 Algorithm.
     * >>> Keith: [78]Bird Tracks Through Math Land: Basic Matrix Ops.

Quotes of the Week

     * gnuvince: Contributions to Hackage are measured in µConals.
     * DavidWheeler: Compatibility means deliberately repeating other
       people's mistakes.

About the Haskell Weekly News

   New editions are posted to [79]the Haskell mailing list as well as to
   [80]the Haskell Sequence and [81]Planet Haskell. [82]RSS is also
   available, and headlines appear on [83]haskell.org.

   To help create new editions of this newsletter, please see the
   information on [84]how to contribute. Send stories to byorgey at cis
   dot upenn dot edu. The darcs repository is available at darcs get
   [85]http://code.haskell.org/~byorgey/code/hwn/ .

References

   1. http://haskell.org/
   2. http://article.gmane.org/gmane.comp.lang.haskell.general/17320
   3. http://www.regmaster.com/conf/icfp2009.html
   4. http://haskell.org/haskell-symposium/2009/
   5. http://www.haskell.org//pipermail/haskell/2009-June/021449.html
   6. http://repetae.net/computer/jhc/
   7. http://www.haskell.org//pipermail/haskell/2009-June/021460.html
   8. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xhb
   9. http://article.gmane.org/gmane.comp.lang.haskell.general/17317
  10. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/happstack
  11. http://article.gmane.org/gmane.comp.lang.haskell.general/17316
  12. http://hackage.haskell.org/package/sendfile
  13. http://article.gmane.org/gmane.comp.lang.haskell.general/17311
  14. http://hackage.haskell.org/package/control-monad-queue
  15. http://article.gmane.org/gmane.comp.lang.haskell.general/17307
  16. http://article.gmane.org/gmane.comp.lang.haskell.general/17304
  17. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/gnome%2Ddesktop
  18. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60675
  19. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/loli
  20. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hack
  21. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60596
  22. http://haskell.org/haskellwiki/Cal3d_animation
  23. http://home.gna.org/cal3d/
  24. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cal3d
  25. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cal3d%2Dopengl
  26. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cal3d%2Dexamples
  27. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60591
  28. http://www.maztravel.com/haskell/readerMonad.html
  29. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60511
  30. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/full%2Dsessions
  31. http://www.agusa.i.is.nagoya-u.ac.jp/person/sydney/full-sessions.html
  32. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60465
  33. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/darcs%2Dbeta
  34. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60430
  35. http://hackage.haskell.org/package/zeroth
  36. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60411
  37. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Emping
  38. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60392
  39. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell%2Dsrc%2Dexts
  40. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60388
  41. http://www.youtube.com/watch?v=4I7VZV7elnY
  42. http://www.cs.kent.ac.uk/projects/refactor-fp/
  43. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60590
  44. http://plan9.bell-labs.com/sources/contrib/fernan/escomma.tar.bz2
  45. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/11428
  46. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/11413
  47. http://thread.gmane.org/gmane.comp.lang.haskell.glasgow.user/17137
  48. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/60460
  49. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/60277
  50. http://planet.haskell.org/
  51. http://haskell.org/haskellwiki/Blog_articles
  52. http://therning.org/magnus/archives/664
  53. http://gentoohaskell.wordpress.com/?p=3
  54. http://blog.snoyman.com/2009/06/28/hack-introduction/
  55. http://www.maztravel.com/haskell/readerMonad.html
  56. http://www.akrish.net/2009/06/28/dynamic-programming-in-haskell-and-why-dp-is-useful/
  57. http://haskellformaths.blogspot.com/2009/06/direct-products-revisited.html
  58. http://softwaresimply.blogspot.com/2009/04/basic-happstack-blog-app.html
  59. http://haskellformaths.blogspot.com/2009/06/some-groups-and-some-graphs.html
  60. http://just-bottom.blogspot.com/2009/06/short-term-hp2any-plans.html
  61. http://haddock2009.wordpress.com/2009/06/25/cross-package-plan-a/
  62. http://buffered.io/2009/06/25/data-crunching-in-haskell/
  63. http://ro-che.blogspot.com/2009/06/halting-problem.html
  64. http://web.mornfall.net/blog/darcs_2.3_beta_1.html
  65. http://koweycode.blogspot.com/2009/06/haskell-syntax-highlighting-on.html
  66. http://feedproxy.google.com/~r/gbacon/~3/7rlf4Dd1JKU/setting-up-simple-test-with-cabal.html
  67. http://haddock2009.wordpress.com/2009/06/24/cross-package-documentation-part-1/
  68. http://feedproxy.google.com/~r/splonderzoek/~3/vO9VuXrFTCg/rfc-extensible-typed-scanf-and-printf.html
  69. http://www.akrish.net/2009/06/24/foray-into-haskell/
  70. http://llaisdy.wordpress.com/2009/06/24/decorate-sort-undecorate-in-haskell/
  71. http://haddock2009.wordpress.com/2009/06/23/how-to-navigate-your-code/
  72. http://web.mornfall.net/blog/soc_progress_5.html
  73. http://www.defun2009.info/blog/2009/06/the-tutorial-schedule-is-now-ready/
  74. http://www.defun2009.info/blog/2009/06/last-call-for-talk-proposals/
  75. http://gbacon.blogspot.com/2009/06/setting-up-simple-test-with-cabal.html
  76. http://ghcmutterings.wordpress.com/2009/06/22/new-paper-parallel-performance-tuning-for-haskell/
  77. http://coder.bsimmons.name/blog/2009/06/fun-with-lazy-arrays-the-lz77-algorithm/
  78. http://blog.keithsheppard.name/2009/06/bird-tracks-through-math-land-basic.html
  79. http://www.haskell.org/mailman/listinfo/haskell
  80. http://sequence.complete.org/
  81. http://planet.haskell.org/
  82. http://sequence.complete.org/node/feed
  83. http://haskell.org/
  84. http://haskell.org/haskellwiki/HWN
  85. http://code.haskell.org/~byorgey/code/hwn/
Hector Guilarte | 25 Jun 00:21

Using unsafePerformIO safely

Hello,

I made a GCL compiler using Alex and Happy and now I'm making the interpreter to that program. Here's the deal:

First of all, I'm no expert in the usage of monads. Now:

Whenever a "show" instruction is found in any GCL program while the interpretation is being done it is supposed to print on the stdout the string or the aritmetic expresion it was called with, so I guessed I need to run an IO operation and continue the interpretation of my program. I managed to do this using unsafePerformIO and `seq` like is shown below. My question is: Is it safe to use it this way? So far it is working great, but I need to be sure I'm using it in a "safe" way. Like I said, I'm no expert in monads and the System.IO.Unsafe documentation says:

"

unsafePerformIO :: IO a -> a

This is the "back door" into the IO monad, allowing IO computation to be performed at any time. For this to be safe, the IO computation should be free of side effects and independent of its environment.
"

I don't know if the IO computation I'm doing is free of side effects and independent of its enviroment :s. (is just hPutStr stdout ....)

Also I've read something about my code not being executed for sure or something like that. Can somebody check the code and tell me if I'm "safe" with it?

Thanks a lot!

Here's the code:

-- Tabla is my Symbol Table of the program being interpreted
evalInstruccion:: Instruccion -> Tabla -> Tabla
evalInstruccion (ShowY showY) tabla = myRunIO (evalShow showY tabla)
evalInstruccion _ tabla = tabla      -- There are many other Instructions here missing wich are not relevant to my question

{-# NOINLINE myRunIO #-}
myRunIO:: (Tabla, IO()) -> Tabla
myRunIO tupla = ((unsafePerformIO (snd tupla)) `seq` (fst tupla)) -- Here's the unsafePerformIO.... Am I safe?

evalShow:: ShowY -> Tabla -> (Tabla, IO())
evalShow (ShowS string) tabla = (tabla,(hPutStr stdout string))
evalShow (ShowE expr) tabla = (tabla,(hPutStr stdout (show (evalExpr expr tabla)))) -- Don't worry about evalExpr, it works and returns an Int
_______________________________________________
Haskell mailing list
Haskell <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell
Stephanie Weirich | 24 Jun 17:15
Favicon

(no subject)

=====================================================================
                         Call for Participation

                ACM SIGPLAN Haskell Symposium 2009

               http://haskell.org/haskell-symposium/2009/

                Edinburgh, Scotland, 3 September 2009
=====================================================================

  The ACM SIGPLAN Haskell Symposium 2009 will be co-located with the
    2009 International Conference on Functional Programming (ICFP).

    The purpose of the Haskell Symposium is to discuss experiences with
    Haskell and future developments for the language. The scope of the
    symposium includes all aspects of the design, semantics, theory,
    application, implementation, and teaching of Haskell.

Preliminary program:
  * http://haskell.org/haskell-symposium/2009/schedule.html

REGISTRATION IS NOW OPEN:
  * http://www.regmaster.com/conf/icfp2009.html
  * Early registration deadline: July 30, 2009

Local arrangements (including travel and accommodation):
  * http://www.haskell.org/haskellwiki/ICFP_2009_Local_Arrangements
  * Conference reservation/rate deadline: July 20, 2009
  * ICFP09 & Haskell 09 coincides with the final week of the Edinburgh
    Festival, one of the premier arts and cultural festivals in the
    world.  The opportunity to attend the Festival is a plus!  Due to
    the popularity of Edinburgh during the festival period, we
    strongly recommend booking accommodation early.

See you in Edinburgh,

   Stephanie Weirich
   Haskell 2009 Program Chair

=====================================================================

p.s., don't forget about the ICFP Programming Contest this weekend!!

  * http://www.icfpcontest.org
  * Friday, June 26 to Monday, June 29
  * Organizers: Computer Systems Design Laboratory (University of  
Kansas)
Matthew Elder | 24 Jun 08:51
Favicon
Gravatar

ANNOUNCE: happstack-0.3.2

Announcing happstack-0.3.2:

It was released several days ago to hackage, but here is the official announcement!

List of recorded changes (many improvements were not documented):

* Modularization of the example application using the component system
* All packages now require Cabal >= 1.6
* Repository metadata added to cabal description
* Moved Combined Logging from Happstack.Server to Happstack.Server.AccessLog.Combined
* Added Happstack.Util.Mail: a simple email interface which utilizes a smarthost
* SimpleHTTP: look and lookPairs now assume utf-8 from the browser
* Space leak fixed in Happstack.Util.Timeout
* A fix for an issue where alphanumeric Accept-Encoding Requests made the parser fail
* Fixes for some command-line browsers such as links
* Guards now have fall-through semantics
* Various updates & additions to documentation
* Code beautification
* Bugfix to Happstack.Util.Cron to accept intervals up to maxBound
* addition of a strict version of fileServe "fileServeStrict"
* fileServe (lazy) behaves more reliably now and escapes before any filters can be applied
Regards,
Matthew Elder
_______________________________________________
Haskell mailing list
Haskell <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell
Matthew Elder | 24 Jun 08:47
Favicon
Gravatar

ANNOUNCE: sendfile-0.1

Announcing sendfile-0.1:
A library which exposes zero-copy sendfile functionality in a portable way.
http://hackage.haskell.org/package/sendfile-0.1

Right now it supports natively linux 2.6+ (maybe older too) and windows 2000+ -- on other platforms it will fall back seamlessly to a portable haskell implementation. Please test it out and send your experiences / bug reports to HAppS <at> googlegroups.com. Patches for other platforms also welcome (but please preserve the existing style).

Recommended initial testing steps:

cabal install sendfile
wget http://patch-tag.com/r/sendfile/snapshot/current/content/raw/test.hs
runghc test.hs
open http://127.0.0.1:8000 in your web browser and see if test.hs was rendered properly (firefox recommended)
see which mode it was rendered in (stdout will say one of WIN32_SENDFILE, LINUX_SENDFILE, or PORTABLE_SENDFILE)

Happy Hacking!
Matthew Elder

_______________________________________________
Haskell mailing list
Haskell <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell
Pedro Salgueiro | 23 Jun 11:27
Favicon

INAP 2009: 2nd Call for Papers

[apologies for cross-posting; please distribute]
---

                         (PLEASE DISTRIBUTE)
     ------------------------------------------------------------
                        Second Call for Papers

                              INAP 2009

                   18th International Conference on
               Applications of Declarative Programming
                       and Knowledge Management

                         November 5-7, 2009
                          Evora, Portugal

                  http://www.di.uevora.pt/inap2009/
                    http://inap.dialogengines.com/
     ------------------------------------------------------------

  Organized by the Portuguese AI Society (APPIA), the INAP Committee
           and the Society of Logic Programming (GLP e.V.)

== Overview ==

  Declarative Programming is a family of advanced paradigms for the
  modeling and solving of complex problems.  These specification and
  implementation methods have attracted more and more attention over
  the past years, e.g. in the domains of databases and natural
  language processing, for modeling and the processing of
  combinatorial problems, and for establishing systems for the web.

== INAP 2009 ==

  INAP is a communicative and dense forum for intensive discussion of
  applications of important technologies related to Prolog, Logic and
  Constraint Programming as well as closely related advanced software.
  It comprehensively covers the impact of programmable logic solvers
  in the Internet Society, its underlying technologies, and leading
  edge applications in industry, commerce, government, and societal
  services.

  INAP 2009 continues a tradition of successful workshops cast around
  the applications of declarative programming, which were held in
  Kobe (1997), Tokyo (1995, 1996, 1998 - 2001), Potsdam (2004),
  Fukuoka (2005) and Wuerzburg (2007).

  We invite the submission of high quality papers on the described
  topics, especially, but not exclusively, on different aspects of
  Declarative Programming, Constraint Processing and Knowledge
  Management as well as their use for Distributed Systems and the Web:

- Knowledge Management,
  e.g. Data Mining, Decision Support, Deductive Databases
- Distributed Systems and the Web,
  e.g. Agents and Concurrent Engineering, Semantic Web
- Constraints,
  e.g. Constraint Systems, Extensions of Constraint (Logic) Programming
- Theoretical Foundations,
  e.g. Deductive Databases, Nonmonotonic Reasoning
- Systems and Tools for Academic and Industrial Use
- Knowledge-based Web Services - Logic Solvers and Applications

== Workshop Format ==

  The technical program of the workshop will include invited
  presentations (to be announced), regular technical sessions with
  presentations of the accepted papers, system demonstrations and a
  panel discussion.

== Conference Venue ==

  The conference will be held at the University of Evora, Portugal
  in November 5-7, 2009.

  Evora is a nice and quiet historical city located in the south of
  Portugal that can be reached from Lisbon by train or coach in under
  2 hours.  It is a small city of 60.000 inhabitants, 120 km inland
  from Lisbon and classified by Unesco as World Heritage.  The
  University of Evora was established in the 16th Century and is the
  2nd oldest Portuguese University.

  The social program is promising since the region is very rich in
  historical sites (Stone Age, Roman, Medieval and Renaissance
  remains) and also offers a very special gastronomy.  See
  http://en.wikipedia.org/wiki/%C3%89vora for more information.

== Important Dates ==

  Paper Submission Deadline:       June 29, 2009
  Notifications to Authors:        August 17, 2009
  Camera-ready Version Deadline:   September 14, 2009
  INAP 2009 Workshop:              November 5-7, 2009

== Submission Guidelines ==

  Participants should submit a paper (maximum 15 pages, PDF format),
  describing their work in topics relevant to the workshop.  Accepted
  papers will be presented during the workshop.  At least one author
  of an accepted contribution is expected to register for the
  workshop, and present the paper.  All submissions should include the
  author's name(s), affiliation, complete mailing address, and email
  address.

  Authors are requested to prepare their submissions, following the
  LNCS/LNAI Springer format. Please see:
      http://www.springer.de/comp/lncs/authors.html
  for further details.

  The submission should be submitted through the electronic submission
  site:
        http://www.easychair.org/conferences/?conf=inap2009

  The deadline for receipt of submissions is June 29, 2009.  Papers
  received after this date will not be reviewed.  Eligible papers will
  be peer-reviewed by at least three members of the Program Committee.
  Authors will be notified via email of the results by August 17,
  2009.  Authors of accepted papers are expected to improve their
  paper based on reviewers' comments and to send a camera ready
  version of their manuscripts by September 14, 2009.

  Accepted papers will be included in the workshop proceedings, which
  will be distributed to the participants.

  As in previous editions, we plan to publish selected papers in a
  proceedings volume in the Springer Lecture Notes in Artificial
  Intelligence (LNAI) series.

== Organizing Committee ==

  Vitor Nogueira        vbn AT di.uevora.pt
  Salvador Abreu        spa AT di.uevora.pt
  Pedro Salgueiro       pds AT di.uevora.pt
        Universidade de Evora
        Portugal

== Program Committee ==

  Salvador Abreu, University of Evora, Portugal (co-chair)
  Sergio Alvarez, Boston College, USA
  Philippe Codognet, CNRS/JFLI, Tokyo, Japan
  Vitor Santos Costa, University of Porto, Portugal
  Daniel Diaz, University of Paris I, France
  Ulrich Geske, University of Potsdam, Germany
  Gopal Gupta, UT Dallas, USA
  Petra Hofstedt, Technical University of Berlin, Germany
  Ulrich Neumerkel, Technical University of Vienna, Austria
  Vitor Nogueira, University of Evora, Portugal
  Enrico Pontelli, New Mexico State University, USA
  Irene Rodrigues, University of Evora, Portugal
  Carolina Ruiz, Worcester Polytechnic Institute, USA
  Dietmar Seipel, University of Wuerzburg, Germany (co-chair)
  Terrance Swift, CENTRIA, Portugal
  Hans Tompits, Technical University of Vienna, Austria
  Masanobu Umeda, Kyushu Institute of Technology, Japan
  Armin Wolf, Fraunhofer FIRST, Berlin, Germany
  Osamu Yoshie, Waseda University, Japan

== Contact Information ==

     inap2009 <at> di.uevora.pt

     Universidade de Evora
     Departamento de Informatica
     Largo dos Colegiais, 2
     7004-516 Evora - PORTUGAL

Gmane