From koen at chalmers.se Mon Feb 1 07:33:41 2010 From: koen at chalmers.se (Koen Claessen) Date: Mon Feb 1 07:05:18 2010 Subject: [Haskell] PAR 2010: First CFP Message-ID: <1b30d3c81002010433m70c6edddy6b7165b0ce3763c0@mail.gmail.com> (I am sending this on behalf of a colleague) [Papers dealing with partiality and termination using monadic programming or other functional programming techniques are welcome] Please distribute to those you might think are interested. ======================================================================== ? ? ? ? ? ? ? ? ? ? ? ?1st Call for Papers ? ? ? ? ? ? ? ? ? ? ? ? ? ? PAR 2010 ?Workshop on Partiality And Recursion in Interactive Theorem Provers ? ? ? ? ? ? ? ? ? ?Edinburgh, UK, 15 July 2010 ? ? ? ? ? ? ? ? ?(satellite workshop of ITP'10) ? ? ? ? ? ? ? ? ? ? ?a mid-FLoC 2010 workshop ? ? ? ? ? ? ======================================================================== PAR'10 workshop is a venue for researchers working on new approaches to cope with partial functions and terminating general (co)recursion in theorem provers. Theorem provers with inductive types provide a restricted programming language together with a formal meta-theory for reasoning about the language. ?When propositions are represented as types and proofs as programs, non-terminating proofs are disallowed for consistency and decidability of type checking. ?As a result, there is no trivial way to represent partial functions, and termination is syntactically ensured by imposing that the recursive calls must be made on structurally smaller arguments. Similar issues exist for productivity of functions on infinite objects where syntactic methods are used to ensure an infinite flow of data. The workshop aims to address these issues and various approaches for dealing with them. We invite submissions on all aspects of partiality and termination of general (co)recursive functions in a logical framework. The topics of this workshop include but are not limited to: * partial functions and functions over partial objects in theorem ?provers; * specialised type systems for general (co)recursion; * syntactical tests to guarantee termination of general recursive ?functions; * syntactical tests to guarantee productivity of functions on infinite ?objects; * methods to ensure termination of special classes of recursion ?definitions, eg nested recursion, simultaneous inductive-recursive ?data types and functions; * semantic approaches to termination and productivity, eg based on ?domain theory and topology; * categorical approaches to termination and productivity; * algebra of programming with partial functions and general ?(co)recursion. Description of software tools and case studies for dealing with the issues in the scope of the workshop are welcome. Submissions ----------- The articles will be evaluated by the PC for publication in the proceedings of the workshop. The final proceedings will be published after the workshop as a special issue of EPTCS and a preliminary version will be available during the workshop. The articles must contain original contributions, be clearly written, and include appropriate reference to and comparison with related work. Submissions should preferably not exceed 16 pages (excluding bibliography). Submissions must be prepared in LaTeX using the EPTCS macro package . The web-based system EasyChair will be used for submission (). Important dates --------------- * 29 March 2010: Submission deadline * 29 April 2010: Notification of acceptance * 24 May 2010: Final version of accepted papers * 15 July 2010: the workshop Invited Speakers ---------------- * Conor McBride (University of Strathclyde) * TBA Programme Committee ------------------- Andreas Abel (Ludwig Maximilians University Munich, D) Yves Bertot (INRIA Sophia-Antipolis, FR) Ana Bove (Chalmers University of Technology, SE) Ekaterina Komendantskaya (University of St Andrews, UK) Ralph Matthes (IRIT Toulouse, FR) Milad Niqui (CWI, NL) Anton Setzer (Swansea University, UK) Organisers ---------- Ana Bove Ekaterina Komendantskaya Milad Niqui From kutsia at risc.uni-linz.ac.at Mon Feb 1 07:56:36 2010 From: kutsia at risc.uni-linz.ac.at (Temur Kutsia) Date: Mon Feb 1 07:28:15 2010 Subject: [Haskell] 2nd CfP: LOPSTR 2010 Message-ID: <20100201125636.GA2481@risc.uni-linz.ac.at> ========================================================================= Call for papers 20th International Symposium on Logic-Based Program Synthesis and Transformation LOPSTR 2010 http://www.risc.uni-linz.ac.at/conferences/lopstr2010/ Hagenberg, Austria, July 23-25, 2010 (co-located with PPDP 2010) ========================================================================= Objectives: The aim of the LOPSTR series is to stimulate and promote international research and collaboration on logic-based program development. LOPSTR is open to contributions in logic-based program development in any language paradigm. LOPSTR has a reputation for being a lively, friendly forum for presenting and discussing work in progress. Formal proceedings are produced only after the symposium, so authors can incorporate the feedback in the published papers. The 20th International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR 2010) will be held in Hagenberg, Austria; previous symposia were held in Coimbra, Valencia, Lyngby, Venice, London, Verona, Uppsala, Madrid, Paphos, London, Venice, Manchester, Leuven, Stockholm, Arnhem, Pisa, Louvain-la-Neuve, and Manchester. LOPSTR 2010 will be co- located with PPDP 2010 (12th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming). Topics: Topics of interest cover all aspects of logic-based program development, all stages of the software life cycle, and issues of both programming-in- the-small and programming-in-the-large. Papers describing applications in these areas are especially welcome. Contributions are welcome on all aspects of logic-based program development, including, but not limited to: specification synthesis verification transformation analysis optimisation specialization inversion composition program/model manipulation certification security transformational techniques in SE applications and tools Survey papers that present some aspect of the above topics from a new perspective. Application papers, that describe experience with industrial applications, are also welcome. Papers must describe original work, be written and presented in English, and must not substantially overlap with papers that have been published or that are simultaneously submitted to a journal or a conference with refereed proceedings. Work that already appeared in unpublished or informally published workshops proceedings may be submitted. Following past editions, publication of the formal post-conference proceedings in the Springer series Lecture Notes in Computer Science (LNCS) is envisaged. IMPORTANT DATES AND SUBMISSION GUIDELINES: Paper/extended abstract submission: March 25, 2010 Notification (for pre-proceedings): May 15, 2010 Camera-ready (for pre-proceedings): June 15, 2010 Symposium: July 23-25, 2010 Submissions can either be (short) extended abstracts or (full) papers whose length should not exceed 9 and 15 pages, respectively. Submissions must be formatted in the Springer LNCS style (excluding well-marked appendices not intended for publication). Referees are not required to read the appendices, and thus papers should be intelligible without them. Short papers may describe work-in-progress or tool demonstrations. Both short and full papers can be accepted for presentation at the symposium and will then appear in the LOPSTR 2010 pre-proceedings. Full papers can also be immediately accepted for publication in the formal proceedings published by Springer-Verlag in the LNCS series. In addition, after the symposium, the programme committee will select further short or full papers presented in LOPSTR 2010 to be considered for formal publication. These authors will be invited to revise and/or extend their submissions in the light of the feedback solicited at the symposium. Then after another round of reviewing, these revised papers can also be published in the formal post-proceedings. Papers should be submitted electronically via the submission page http://www.easychair.org/conferences/?conf=lopstr2010 They should be in PDF format and interpretable by Acrobat Reader. Invited Speakers: Bruno Buchberger RISC, Johannes Kepler University Linz, Austria Olivier Danvy University of Aarhus, Denmark Johann Schumann RIACS/NASA Ames Research Center, USA Program Committee: Maria Alpuente Tech. University of Valencia (Chair), Spain Sergio Antoy Portland State University, USA Gilles Barthe IMDEA Software, Madrid Manuel Carro Tech. University of Madrid, Spain Marco Comini University of Udine, Italy Danny De Schreye K.U.Leuven, Belgium Santiago Escobar Tech. University of Valencia, Spain Moreno Falaschi University of Siena, Italy Fabio Fioravanti University of Chieti - Pescara, Italy John Gallagher Roskilde University, Denmark Michael Hanus University of Kiel, Germany Patricia M Hill University of Parma, Italy Andy King University of Kent, UK Temur Kutsia Johannes Kepler University Linz, Austria Ralf Lämmel Universität Koblenz-Landau, Germany Michael Leuschel University of Southampton, UK Yanhong Annie Liu State University of New York at Stony Brook, USA Julio Mariño Tech. University of Madrid, Spain Ricardo Peña University Complutense of Madrid, Spain Peter Schneider-Kamp University of Southern Denmark Alicia Villanueva Tech. University of Valencia, Spain Contacts Program Chair Maria Alpuente DSIC - Technical University of Valencia Camino de Vera s/n Apdo. 22.012 E-46022 Valencia (Spain) Email: alpuente@dsic.upv.es Conference Chair Temur Kutsia Research Institute for Symbolic Computation Johannes Kepler University Linz Altenbergerstrasse 69 A-4040 Linz, Austria Email: kutsia@risc.uni-linz.ac.at From nr at cs.tufts.edu Tue Feb 2 18:27:05 2010 From: nr at cs.tufts.edu (Norman Ramsey) Date: Tue Feb 2 17:58:55 2010 Subject: [Haskell] recursive definitions in Haskell (inductive and coinductive) Message-ID: <20100202232705.6A0274060E52@yorkie.cs.tufts.edu> I'd appreciate a word from the experts to see if my understanding of recursive definitions in Haskell is correct---I would hate to be telling my students pernicious lies. Haskell permits recursive definitions at both the type level and the term level. Here's an example definition at the type level: data Intlist = Nil | Cons Integer Intlist If my understanding is correct, Haskell takes as the definition of `Intlist` the *greatest* solution to this recursion equation. That is, in a vaguely domain-theoretic way, Intlist is the greatest fixed point of the function f(S) = {Nil} union {Cons n ns | n in Integer, ns in S} It's this 'greatest fixed point' or coinductive definition that admits of infinite lists in the `Intlist` type. Right? Contrast this situation with recursion at the term level. Suppose I define evens :: Intlist evens = 0 `Cons` intmap (2+) evens where intmap f Nil = Nil intmap f (Cons n ns) = Cons (f n) (intmap f ns) Here the solution to the recursion equation is totally different---at the term level, the definition of `evens` is taken to mean the *least* fixed point of the function \e -> 0 `Cons` intmap (2+) e. In this case its not obvious that there's any difference, but if we consider strange :: Intlist strange = intmap (2*) strange then Haskell is very definitely going to make `strange` the least defined solution to this equation, which means `undefined` and not, for example, `Nil` or `Cons 0 Nil`, both of which also solve the recursion equation. Is this the right story? One of my difficulties is that I'm having trouble grasping what coinduction might mean for terms. For types/sets/domains, I've found Andy Gordon's very nice tutorial at http://research.microsoft.com/en-us/um/people/adg/publications/fp94.ps But I'm not sure what a greatest solution to an equation involving values might be, or even if such a thing exists (aside from adding an arbitrary top element to form a lattice of values, which seems most unsatisfying). Comments, corrections, and cues about good papers are all cheerfully solicited! Norman From kahl at cas.mcmaster.ca Tue Feb 2 18:43:32 2010 From: kahl at cas.mcmaster.ca (kahl@cas.mcmaster.ca) Date: Tue Feb 2 18:15:09 2010 Subject: [Haskell] recursive definitions in Haskell (inductive and coinductive) In-Reply-To: <20100202232705.6A0274060E52@yorkie.cs.tufts.edu> (nr@cs.tufts.edu) References: <20100202232705.6A0274060E52@yorkie.cs.tufts.edu> Message-ID: <20100202234332.23098.qmail@schroeder.cas.mcmaster.ca> Norman, > Haskell permits recursive definitions at both the type level and the > term level. Here's an example definition at the type level: > > data Intlist = Nil | Cons Integer Intlist > > If my understanding is correct, Haskell takes as the definition of > `Intlist` the *greatest* solution to this recursion equation. > That is, in a vaguely domain-theoretic way, Intlist is the greatest > fixed point of the function > > f(S) = {Nil} union {Cons n ns | n in Integer, ns in S} > > It's this 'greatest fixed point' or coinductive definition that admits > of infinite lists in the `Intlist` type. Right? AFAIK, the normal understanding is that recursive types are the least fixed points of endofunctors on the category of CPOs, and it is the CPO property that least upper bounds of chains exist that forces the existence of infinite lists. Haskell uses non-coalesced sum, that is, Left undefined /= undefined /= Right undefined, and non-strict product, that is, (undefined, undefined) /= undefined, which make these chains non-trivial. (OCa)ML has strict constructors, so effectively uses coalesced sum and strict product, which makes all chains resulting from polynomial functors finite. Therefore it is not the CPO semantics alone that creates infinite lists, but rather the presence of non-strict data constructors. Wolfram From nr at cs.tufts.edu Tue Feb 2 20:41:52 2010 From: nr at cs.tufts.edu (Norman Ramsey) Date: Tue Feb 2 20:13:45 2010 Subject: [Haskell] recursive definitions in Haskell (inductive and coinductive) In-Reply-To: <20100202234332.23098.qmail@schroeder.cas.mcmaster.ca> (sfid-H-20100202-203206-+54.47-1@multi.osbf.lua) References: <20100202232705.6A0274060E52@yorkie.cs.tufts.edu> <20100202234332.23098.qmail@schroeder.cas.mcmaster.ca> (sfid-H-20100202-203206-+54.47-1@multi.osbf.lua) Message-ID: <20100203014152.72F486019401A@labrador.cs.tufts.edu> > AFAIK, the normal understanding is that recursive types > are the least fixed points of endofunctors on the category of CPOs, > and it is the CPO property that least upper bounds of chains exist > that forces the existence of infinite lists. But ML has CPOs and infinite chains too! The situation is simpler because the only *interesting* infinite ascending chains are in function domains. To paraphrase, is what you're saying that the definition of a Haskell type is the smallest fixed point that contains the bottom element (divergent computation) as a member? Norman From jonathanccast at fastmail.fm Tue Feb 2 21:25:23 2010 From: jonathanccast at fastmail.fm (Jonathan Cast) Date: Tue Feb 2 20:56:42 2010 Subject: [Haskell] recursive definitions in Haskell (inductive and coinductive) In-Reply-To: <20100202234332.23098.qmail@schroeder.cas.mcmaster.ca> References: <20100202232705.6A0274060E52@yorkie.cs.tufts.edu> <20100202234332.23098.qmail@schroeder.cas.mcmaster.ca> Message-ID: <1265163923.21874.20.camel@jcchost> On Tue, 2010-02-02 at 23:43 +0000, kahl@cas.mcmaster.ca wrote: > Norman, > > > Haskell permits recursive definitions at both the type level and the > > term level. Here's an example definition at the type level: > > > > data Intlist = Nil | Cons Integer Intlist > > > > If my understanding is correct, Haskell takes as the definition of > > `Intlist` the *greatest* solution to this recursion equation. > > That is, in a vaguely domain-theoretic way, Intlist is the greatest > > fixed point of the function > > > > f(S) = {Nil} union {Cons n ns | n in Integer, ns in S} > > > > It's this 'greatest fixed point' or coinductive definition that admits > > of infinite lists in the `Intlist` type. Right? > > AFAIK, the normal understanding is that recursive types > are the least fixed points of endofunctors on the category of CPOs, > and it is the CPO property that least upper bounds of chains exist > that forces the existence of infinite lists. > > Haskell uses non-coalesced sum, that is, > > Left undefined /= undefined /= Right undefined, > > and non-strict product, that is, > > (undefined, undefined) /= undefined, > which make these chains non-trivial. > (OCa)ML has strict constructors, > so effectively uses coalesced sum and strict product, > which makes all chains resulting from polynomial functors finite. To clarify, strict product not only means (undefined, undefined) == undefined (as above), but also (undefined, y) == undefined == (x, undefined) for all x, y. This is the property that forces infinite lists, say: x : undefined /= undefined and so undefined, x0 : undefined, x0 : x1 : undefined, ... is a *strictly* increasing sequence, which must have an (infinite) supremum. jcc From kahl at cas.mcmaster.ca Tue Feb 2 22:57:00 2010 From: kahl at cas.mcmaster.ca (kahl@cas.mcmaster.ca) Date: Tue Feb 2 22:28:35 2010 Subject: [Haskell] recursive definitions in Haskell (inductive and coinductive) In-Reply-To: <20100203014152.72F486019401A@labrador.cs.tufts.edu> (message from Norman Ramsey on Tue, 02 Feb 2010 20:41:52 -0500) References: <20100202232705.6A0274060E52@yorkie.cs.tufts.edu> <20100202234332.23098.qmail@schroeder.cas.mcmaster.ca> (sfid-H-20100202-203206-+54.47-1@multi.osbf.lua) <20100203014152.72F486019401A@labrador.cs.tufts.edu> Message-ID: <20100203035700.23521.qmail@schroeder.cas.mcmaster.ca> Norman, > > > AFAIK, the normal understanding is that recursive types > > are the least fixed points of endofunctors on the category of CPOs, > > and it is the CPO property that least upper bounds of chains exist > > that forces the existence of infinite lists. > > But ML has CPOs and infinite chains too! The situation is simpler > because the only *interesting* infinite ascending chains are in > function domains. That's why I (later) said ``polynomial functors'' --- in ML, infinite chains do not arise in simple recursive datatypes like List A = 1 + A \times List A . > To paraphrase, is what you're saying that the definition of a Haskell > type is the smallest fixed point that contains the bottom element > (divergent computation) as a member? Standard Haskell types are interpreted as objects in the category of CPOs that have a least element --- bottom. (We are not talking about unboxed types here.) Morphisms do not need to preserve the least element --- non-strict functions are allowed. Then + is interpreted as non-coalesced sum with non-strict injections, and $\times$ is interpreted via non-strict pair construction, i.e., the function (curry (id :: (a,b) -> (a,b))) is non-strict, which gives rise to the property just emphasised by Jonathan: (undefined, y) /= undefined (This hold even if y = undefined.) So both + and \times produce non-flat CPOs even from flat CPOs, introducing infinite ascending chains in the recursive case. Anyway, the bottom does not come in through the fixed point construction, i.e., the semantics of recursion, but rather through the initial choice of semantic domains. > To paraphrase, is what you're saying that the definition of a Haskell > type is the smallest fixed point Technically, that fixpoint is contructed as a colimit (``inverse limit'') of an inifinite diagram resulting from a chain of functor applications starting from the trivial CPO with least element: {bottom}. (The fact that it is a colimit is a generalisation of the ``smallest'' aspect and is shared with initial algebras.) Wolfram From jv at informatik.uni-bonn.de Wed Feb 3 00:36:28 2010 From: jv at informatik.uni-bonn.de (=?ISO-8859-15?Q?Janis_Voigtl=E4nder?=) Date: Wed Feb 3 00:08:00 2010 Subject: [Haskell] recursive definitions in Haskell (inductive and coinductive) In-Reply-To: <20100202232705.6A0274060E52@yorkie.cs.tufts.edu> References: <20100202232705.6A0274060E52@yorkie.cs.tufts.edu> Message-ID: <4B690B5C.9050505@informatik.uni-bonn.de> Norman Ramsey schrieb: > Haskell permits recursive definitions at both the type level and the > term level. Here's an example definition at the type level: > > data Intlist = Nil | Cons Integer Intlist > > If my understanding is correct, Haskell takes as the definition of > `Intlist` the *greatest* solution to this recursion equation. > That is, in a vaguely domain-theoretic way, Intlist is the greatest > fixed point of the function > > f(S) = {Nil} union {Cons n ns | n in Integer, ns in S} > > It's this 'greatest fixed point' or coinductive definition that admits > of infinite lists in the `Intlist` type. Right? My understanding has always been that the above equation should be f(S) = {_|_, Nil} union {Cons n ns | n in Integer, ns in S} and that then it depends on whether one is asking for a fixpoint *set* or a fixpoint *cpo*, what makes or does not make for a difference between least and greatest fixpoint. If one asks for a set S that satisifies above equation, then the least solution will be one with only finite and partial lists, while the greatest solution will contain infinite lists as well. If one asks for a cpo S that satisifies above equation, then the difference vanishes. The least such cpo S is identical to the greatest such cpo, because the "complete" aspect forces even the least cpo fixpoint to contain infinite list. Ciao, Janis. -- Jun.-Prof. Dr. Janis Voigtl?nder http://www.iai.uni-bonn.de/~jv/ mailto:jv@iai.uni-bonn.de From gmh at Cs.Nott.AC.UK Sat Feb 6 16:17:43 2010 From: gmh at Cs.Nott.AC.UK (Graham Hutton) Date: Sat Feb 6 15:50:09 2010 Subject: [Haskell] recursive definitions in Haskell (inductive and coinductive) Message-ID: <3553.1265491063@cs.nott.ac.uk> > Is this the right story? One of my difficulties is that I'm having > trouble grasping what coinduction might mean for terms. The following tutorial paper may be helpful: http://www.cs.nott.ac.uk/~gmh/corecursion.pdf Best wishes, Graham +-----------------------------------------------------------------+ | Dr Graham Hutton Email : gmh@cs.nott.ac.uk | | Functional Programming Lab | | School of Computer Science Web : www.cs.nott.ac.uk/~gmh | | University of Nottingham | | Jubilee Campus, Wollaton Road Phone : +44 (0)115 951 4220 | | Nottingham NG8 1BB, UK | +-----------------------------------------------------------------+ From Jeremy.Gibbons at comlab.ox.ac.uk Sun Feb 7 16:54:43 2010 From: Jeremy.Gibbons at comlab.ox.ac.uk (Jeremy.Gibbons@comlab.ox.ac.uk) Date: Sun Feb 7 16:26:03 2010 Subject: [Haskell] Call for Papers: Haskell Symposium 2010 Message-ID: <201002072154.o17Lsh8q013785@merc4.comlab.ox.ac.uk> Haskell 2010 ACM SIGPLAN Haskell Symposium 2010 Baltimore MD, United States 30th September, 2010 CALL FOR PAPERS http://www.haskell.org/haskell-symposium/2010/ The ACM SIGPLAN Haskell Symposium 2010 will be co-located with the 2010 International Conference on Functional Programming (ICFP), in Baltimore, Maryland. 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. Topics of interest include, but are not limited to: * Language Design, with a focus on possible extensions and modifications of Haskell as well as critical discussions of the status quo; * Theory, such as formal treatments of the semantics of the present language or future extensions, type systems, and foundations for program analysis and transformation; * Implementations, including program analysis and transformation, static and dynamic compilation for sequential, parallel, and distributed architectures, memory management as well as foreign function and component interfaces; * Tools, in the form of profilers, tracers, debuggers, pre-processors, and suchlike; * Functional Pearls, being elegant, instructive examples of using Haskell; * Applications, Practice, and Experience, using Haskell for scientific and symbolic computing, database, multimedia and Web applications, and so forth, as well as general experience with Haskell in education and industry. Papers in the latter two categories need not necessarily report original research results; they may instead, for example, report practical experience that will be useful to others, reusable programming idioms, or elegant new ways of approaching a problem. (More advice appears on the symposium webpage.) The key criterion for such a paper is that it makes a contribution from which other Haskellers can benefit. It is not enough simply to describe a program! Before 2008, the Haskell Symposium was known as the Haskell Workshop. The name change reflects both the steady increase of influence of the Haskell Workshop on the wider community, as well as the increasing number of high quality submissions. The selection process is highly competitive. After eleven Haskell Workshops between 1995 and 2007, the first Haskell Symposium was held in Victoria in 2008, and the second in Edinburgh in 2009. Submission Details * Submission Deadline: Monday, 14th June 2010, 15:00 UTC * Author Notification: Monday, 12th July 2010 * Final Papers Due : Monday, 2nd August 2010 Submitted papers should be in portable document format (PDF), formatted using the ACM SIGPLAN style guidelines (http://www.acm.org/sigs/sigplan/authorInformation.htm). The text should be in a 9pt font in two columns; the length is restricted to 12 pages, except for "Applications, Practice, and Experience" papers, which are restricted to 6 pages. Each submission must adhere to SIGPLAN's republication policy, as explained on the web. Violation risks summary rejection of the offending submission. Accepted papers will be published by the ACM and will appear in the ACM Digital Library. In addition, we solicit proposals for system demonstrations, based on running (perhaps prototype) software rather than necessarily on novel research results. Proposals are limited to 2-page abstracts, in the same ACM format as papers, and should explain why a demonstration would be of interest to the Haskell community. They will be assessed for relevance by the PC; accepted proposals will be published on the Symposium website, but not formally published in the proceedings. Links * http://www.haskell.org/haskell-symposium, the permanent homepage of the Haskell Symposium. * http://www.haskell.org/haskell-symposium/2010, the 2010 Haskell Symposium web page. * http://www.icfpconference.org/icfp2010, the ICFP 2010 web page. Programme Committee * Jeremy Gibbons, University of Oxford (chair) * James Cheney, University of Edinburgh * Duncan Coutts, Well-Typed LLP * Sharon Curtis, Oxford Brookes University * Fritz Henglein, Kobenhavns Universitet * Tom Schrijvers, Katholieke Universiteit Leuven * Chung-chieh Shan, Rutgers - The State University of New Jersey * Martin Sulzmann, Informatik Consulting Systems AG * Wouter Swierstra, Vector Fabrics * Peter Thiemann, Universitaet Freiburg * Andrew Tolmach, Portland State University * Malcolm Wallace, University of York From xana at di.uminho.pt Mon Feb 8 04:27:58 2010 From: xana at di.uminho.pt (Alexandra Silva) Date: Mon Feb 8 03:59:14 2010 Subject: [Haskell] ICE 2010: First call for papers Message-ID: <4B6FD91E.3050206@di.uminho.pt> [- Apologies for multiple copies -] 3rd Interaction and Concurrency Experience ICE 2010: Guaranteed Interactions Satellite workshop of DisCoTec 2010 10th of June 2010 Amsterdam, The Netherlands http://www.artist-embedded.org/artist/-ICE-10-.html === Highlights === - Innovative selection procedure - Travel grants for young researchers === Important Dates === - Abstract submission: 22 March 2010 - Full paper submission: 29 March 2010 - Reviews, rebuttal and PC discussion: 30 March - 28 April 2010 - Notification to authors: 30 April 2010 === Scope === Interaction and Concurrency Experiences (ICEs) is a series of international scientific meetings oriented to theoretical computer science researchers with special interest in models, verification, tools and programming primitives for complex interactions. The general scope is to include theoretical and applied aspects of interactions and the synchronization mechanisms used among actors of concurrent/distributed systems, but every experience will focus on a different specific topic which affects several areas of computer science. The theme of ICE'10 is ***Guaranteed Interactions***, like guaranteeing safety, responsiveness, quality of service levels or satisfaction of analysis hypotheses. In this context, coordination can be viewed as imposing constraints on the interaction among the actors. Such constraints and guarantees of their satisfaction play an important role in the analysis of distributed systems. In order to provide such guarantees, a number of directions are being explored to develop appropriate models, methodologies and tools, like behavioural types, component-based model checking, assume-guarantee and ?by construction? techniques such as glue synthesis. Considering interaction as a first class entity is crucial for overcoming complexity issues of distributed systems, such as state space explosion. Topics of interest include, but shall not be limited to: - logic and types for interactions - concurrent models and semantics - techniques and tools for specification, analysis, verification of guaranteed interaction - programming primitives for interactions - languages, protocols and mechanisms for sound coordination - "by construction" guarantees for interaction - expressiveness results - formal contract languages - disciplined interactions inspired by emerging computational models (systems biology, quantum computing, etc.) === Selection Procedure === The workshop proposes an innovative paper selection mechanism based on an interactive discussion amongst authors and PC members. As witnessed by the past two editions of ICE, this considerably improves the accuracy of the feedback from reviews, the fairness of the selection, the quality of accepted papers, and the discussion during the workshop. During the review phase, each submitted paper is published on a Wiki and associated with a discussion forum whose access will be restricted to the authors and to all the PC members not in conflict of interests. The PC members post comments / questions which the authors shall reply to. === The Public Wiki === After the notification, the accepted papers will be published on a public forum, the rationale being to initiate public discussions that will trigger and stimulate the scientific debate of the workshop. We argue that this will drive the workshop discussions and let perspective participants to interact with each other well in advance with respect to the modus operandi of more traditional events. === Submission Guidelines === Papers must report previously unpublished work and not be simultaneously submitted to other conferences / workshops with refereed proceedings. The ICE'10 post-proceedings will be published in Electronic Proceedings in Theoretical Computer Science (http://eptcs.org/). Depending on the quality of submissions a special issue in a journal will be considered. Submissions must be made electronically in PDF format via EasyChair (http://www.easychair.org/conferences/?conf=ice2010) and should not exceed 15 pages with EPTCS style (http://style.eptcs.org/). Accepted papers must be presented at the workshop by one of the authors. === Program Committee === - Paolo Baldan (University of Padova, Italy) - Ananda Basu (Verimag, France) - Karthik Bhargavan (INRIA, France) - Simon Bliudze (CEA LIST, France; co-chair) - Andrea Bracciali (University of Pisa, Italy) - Roberto Bruni (University of Pisa, Italy; co-chair) - Pierre-Malo Deni?lou (Imperial College London, UK) - Erik de Vink (Technische Universiteit Eindhoven, Netherlands) - Laurent Doyen (ENS Cachan, France) - Carlo Furia (ETH Zurich, Switzerland) - Fabio Gadducci (University of Pisa, Italy) - Julian Gutierrez (University of Edinburgh, UK) - Thomas Hildebrandt (IT University of Copenhagen, Denmark) - Daniel Hirschkoff (ENS Lyon, France) - Barbara Jobstmann (CNRS/Verimag, France) - Ivan Lanese (University of Bologna, Italy) - Alberto Lluch Lafuente (IMT Lucca, Italy) - Hernan Melgratti (University of Buenos Aires, Argentina) - Madhavan Mukund (Chennai Mathematical Institute, India) - Dejan Nickovic (IST, Austria) - Sophie Quinton (Verimag, France) - Alexandra Silva (CWI, Netherlands) - Pawel Sobocinski (University of Southampton, UK) - Ana Sokolova (University of Salzburg, Austria) - Paola Spoletini (University of Insubria, Italy) - Emilio Tuosto (University of Leicester, UK) - Hugo Torres Vieira (New University of Lisbon, Portugal) === ICEcreamers === - Simon Bliudze (CEA LIST, France; co-chair) - Roberto Bruni (University of Pisa, Italy; co-chair) - Davide Grohmann (Universita' di Udine; website and discussion forum) - Alexandra Silva (CWI, Netherlands; local arrangements) === Contact === Please write to for any additional information you may need. === Previous editions === The previous two editions of ICE have been held in: ? Reykjavik, Iceland, on July 6th, 2008, with focus on Synchronous and Asyn- chronous Interactions in Concurrent/Distributed Systems, co-located with ICALP?08 (http://ice08.dimi.uniud.it/). The post proceedings were published in ENTCS (vol.229-3). ? Bologna, Italy, on August 31st, 2009, with focus on Structured Interactions, co-located with CONCUR?09 (http://ice09.dimi.uniud.it/). The post proceedings were published in EPTCS (vol.12) and a special issue of MSCS is now in preparation. === Sponsors === * CEA LIST (http://www-list.cea.fr) * ArtistDesign network of excellence (http://www.artist-embedded.org) * Institute for Programming research and Algorithmics (IPA - http://www2.win.tue.nl/ipa/) . From jfredett at gmail.com Mon Feb 8 12:47:48 2010 From: jfredett at gmail.com (jfredett@gmail.com) Date: Mon Feb 8 12:19:09 2010 Subject: [Haskell] Haskell Weekly News: Issue 149 - February 08, 2010 Message-ID: <4b704e44.aa15f10a.552c.ffffddd8@mx.google.com> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20100208 Issue 149 - February 08, 2010 --------------------------------------------------------------------------- Welcome to issue 149 of HWN, a newsletter covering developments in the [1]Haskell community. Hello Haskellers, this week's HWN was delayed a bit in the hopes of making it a bit more substantial. I hate putting up thin HWNs, but of course this must occasionally happen. We have several new CFPs for workshops this week, a new benchmarking package, and some fun quotes. Till next week, Haskellers, your Haskell Weekly News! Announcements Call for Papers: Haskell Symposium 2010. Jeremy.Gibbons [2]announced a call for papers for the 2010 ACM SIGPLAN Haskell Symposium 2010 in Baltimore, Maryland; on 30th September. 2nd CfP: LOPSTR 2010. Temur Kutsia [3]announced a second call for papers for the 20th International Symposium on Logic-Based Program Synthesis and Transformation, being held in Hagenberg, Austria, July 23-25, 2010 (co-located with PPDP 2010). PAR 2010: First CFP. Koen Claessen [4]announced a first call for papers for PAR'10, the Workshop on Partiality and Recursion in Interactive Theorem Provers. data-ordlist-0.2. Leon Smith [5]announced a new release of ordlist, including a change to the module name and bug fixes. progression-0.1. Neil Brown [6]announced Progression, a metalibrary which consolidates various existing tools for Haskell optimization (notably Criterion). HList darcs repo. Oleg He who inhabits all types, but is not _|_, has [7]announced a new darcs repo for HList (and OOHaskell) on community.haskell.org. Discussion a beginner question: decorate-op-undecorate. Aran Donohue [8]asked about how to write a function which can 'inspect' inside a datatype. Translation of Haskell type classes. Enrique Martin [9]talked about some experiments he's done with type classes, and asked some questions regarding optimization related to them. Category Theory woes. Mark Spezzano [10]asked about resources for learning about category theory. Blog noise [11]Haskell news from the [12]blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them! * Dan Piponi (sigfpe): [13]The Categorification of the Naturals. * Roman Cheplyaka: [14]hledger. * Luke Palmer: [15]Associative Alpha Blending. * Neil Brown: [16]Progression: Supporting Optimisation in Haskell. * Holumbus: [17]Hayoo! Webservice API. * apfelmus: [18]The Operational Monad Tutorial. * Dan Piponi (sigfpe): [19]Tagging Monad Transformer Layers. * Darcs: [20]darcs weekly news #53. * JP Moresmau: [21]EclipseFP 1.110 released, with debugging support. Quotes of the Week * lispy|web: This curses binding appears to be terminally broken * lispy: I did, 'cabal install mage' and it complains about curses * lament: Just use fix to find the least funny joke * copumpkin: A monad is just a lax functor from a terminal bicategory, duh. fuck that monoid in category of endofunctors shit About the Haskell Weekly News New editions are posted to [22]the Haskell mailing list as well as to [23]the Haskell Sequence and [24]Planet Haskell. [25]RSS is also available, and headlines appear on [26]haskell.org. To help create new editions of this newsletter, please see the information on [27]how to contribute. Send stories to jfredett . at . gmail . dot . com. The darcs repository is available at darcs get [28]http://patch-tag.com/r/jfredett/HWN2/pullrepo HWN2 . References 1. http://haskell.org/ 2. http://article.gmane.org/gmane.comp.lang.haskell.general/17778 3. http://article.gmane.org/gmane.comp.lang.haskell.general/17770 4. http://article.gmane.org/gmane.comp.lang.haskell.general/17769 5. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70035 6. http://article.gmane.org/gmane.comp.lang.haskell.cafe/69929 7. http://article.gmane.org/gmane.comp.lang.haskell.cafe/69898 8. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/69984 9. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/69914 10. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/69803 11. http://planet.haskell.org/ 12. http://haskell.org/haskellwiki/Blog_articles 13. http://blog.sigfpe.com/2010/02/decategorification-of-naturals.html 14. http://ro-che.blogspot.com/2010/02/hledger.html 15. http://lukepalmer.wordpress.com/2010/02/05/associative-alpha-blending/ 16. http://chplib.wordpress.com/2010/02/04/progression-supporting-optimisation-in-haskell/ 17. http://holumbus.fh-wedel.de/blog/?p=33 18. http://apfelmus.nfshost.com/articles/operational-monad.html 19. http://blog.sigfpe.com/2010/02/tagging-monad-transformer-layers.html 20. http://blog.darcs.net/2010/02/darcs-weekly-news-53.html 21. http://jpmoresmau.blogspot.com/2010/02/eclipsefp-1110-released-with-debugging.html 22. http://www.haskell.org/mailman/listinfo/haskell 23. http://sequence.complete.org/ 24. http://planet.haskell.org/ 25. http://sequence.complete.org/node/feed 26. http://haskell.org/ 27. http://haskell.org/haskellwiki/HWN 28. http://patch-tag.com/r/jfredett/HWN2/pullrepo%20HWN2 From blume at tti-c.org Tue Feb 9 21:06:24 2010 From: blume at tti-c.org (Matthias Blume) Date: Tue Feb 9 20:37:34 2010 Subject: [Haskell] *** FLOPS 2010: Call for Participation *** Message-ID: Call For Participation Tenth International Symposium on Functional and Logic Programming FLOPS 2010 April 19-21, 2010 Sendai, JAPAN http://www.kb.ecei.tohoku.ac.jp/flops2010/ ** Early registration ends on April 2, 2010 ** FLOPS is a forum for research on all issues concerning declarative programming, including functional programming and logic programming, and aims to promote cross-fertilization between the two paradigms. Previous FLOPS meetings were held in Fuji Susono (1995), Shonan Village (1996), Kyoto (1998), Tsukuba (1999), Tokyo (2001), Aizu (2002), Nara (2004), Fuji Susono (2006), and Ise (2008). VENUE The meeting will be held at the Aoba Memorial Hall, in the Aoba-yama Campus of the Tohoku University. REGISTRATION The registration is now open at the Symposium home page: http://www.kb.ecei.tohoku.ac.jp/flops2010/wiki/index.php?Registration PROCEEDINGS The proceedings will be published as volume 6009 of Lecture Notes in Computer Science, Springer, and distributed at the Symposium. INVITED SPEAKERS Brigitte Pientka (McGill University, Canada) Kostis Sagonas (National Technical University of Athens, Greece) Naoyuki Tamura (Kobe University, Japan) PROGRAM April 19 (Monday) 12:00-13:20 Registration and lunch 13:20-14:20 Invited talk Beluga: programming with dependent types and higher-order data Brigitte Pientka 14:40-16:10 Types - A Church-Style Intermediate Language for MLF Didier Remy, Boris Yakobowski - ??: Dependent Types without the Sugar Thorsten Altenkirch, Nils Anders Danielsson, Andres L?h, Nicolas Oury - Haskell Type Constraints Unleashed Dominic Orchard, Tom Schrijvers 16:30-18:00 Program analysis and transformation - A Functional Framework for Result Checking Gilles Barthe, Pablo Buiras, C?sar Kunz - Tagfree Combinators for Binding-Time Polymorphic Program Generation Peter Thiemann, Martin Sulzmann - Code Generation via Higher-Order Rewrite Systems Florian Haftmann, Tobias Nipkow April 20 (Tuesday) 09:00-10.00 Invited talk Using Static Analysis to Detect Type Errors and Race Conditions in Erlang Programs Konstantinos Sagonas 10:20-11:50 Foundations - A Complete Axiomatization of Strict Equality Javier ?lvez, Francisco Javier L?pez-Fraguas - Standardization and B?hm trees for Lambda-mu calculus Alexis Saurin - An Integrated Distance for Atoms Vicent Estruch, C?sar Ferri, Jos? Hern?ndez-Orallo, M.Jos? Ram?rez-Quintana 11:50- Lunch, excursion, and banquet April 21 (Wednesday) 09:00-10:00 Invited talk Solving Constraint Satisfaction Problems with SAT Technology Naoyuki Tamura 10:20-11:50 Logic programming - A Pearl on SAT Solving in Prolog Jacob Howe, Andy King - Automatically Generating Counterexamples to Naive Free Theorems Daniel Seidel, Janis Voigtl?nder - Applying Constraint Logic Programming to SQL Test Case Generation Yolanda Garc?a-Ruiz, Rafael Caballero, Fernando S?enz-P?rez 11:50-12:50 Lunch 12:50-14:20 Evaluation and normalization - Internal Normalization, Compilation and Decompilation for System F Stefano Berardi, Makoto Tatsuta - Normalization by Evaluation for the beta-eta Calculus of Constructions Andreas Abel - Defunctionalized Interpreters for Call-by-Need Evaluation Olivier Danvy, Kevin Millikin, Johan Munk, Ian Zerny 14:40-16:10 Term rewriting - Complexity Analysis by Graph Rewriting Martin Avanzini, Georg Moser - Least Upper Bounds on the Size of Church-Rosser Diagrams in Term Rewriting and ?-Calculus Jeroen Ketema, Jakob Grue Simonsen - Proving Injectivity of Functions via Program Inversion in Term Rewriting Naoki Nishida, Masahiko Sakai 16:30-18:00 Parallelism and control - Delimited Control in OCaml, Abstractly and Concretely. System Description Oleg Kiselyov - Automatic Parallelization of Recursive Functions using Quanti?er Elimination Akimasa Morihata, Kiminori Matsuzaki - A Skeleton for Distributed Work Pools in Eden Mischa Dieterle, Jost Berthold, Rita Loogen PC CO-CHAIRS Matthias Blume (Google, Chicago, USA) German Vidal (Technical University of Valencia, Spain) CONFERENCE CHAIR Naoki Kobayashi (Tohoku University, Sendai, Japan) PC MEMBERS Nick Benton (Microsoft Research, Cambridge, UK) Manuel Chakravarty (University of New South Wales, Australia) Michael Codish (Ben-Gurion University of the Negev, Israel) Bart Demoen (Katholieke Universiteit Leuven, Belgium) Agostino Dovier (University of Udine, Italy) John P. Gallagher (Roskilde University, Denmark) Maria Garcia de la Banda (Monash University, Australia) Michael Hanus (University of Kiel, Germany) Atsushi Igarashi (Kyoto University, Japan) Patricia Johann (Rutgers University, USA) Shin-ya Katsumata (Kyoto University, Japan) Michael Leuschel (University of Dusseldorf, Germany) Francisco Lopez-Fraguas (Complutense University of Madrid, Spain) Paqui Lucio (University of the Basque Country, Spain) Yasuhiko Minamide (University of Tsukuba, Japan) Frank Pfenning (Carnegie Mellon University, USA) Francois Pottier (INRIA, France) Tom Schrijvers (Katholieke Universiteit Leuven, Belgium) Chung-chieh "Ken" Shan (Rutgers University, USA) Zhong Shao (Yale University, USA) Jan-Georg Smaus (University of Freiburg, Germany) Nobuko Yoshida (Imperial College London, UK) LOCAL CHAIR Eijiro Sumii (Tohoku University, Sendai, Japan) SOME PREVIOUS FLOPS: FLOPS 2008, Ise: http://www.math.nagoya-u.ac.jp/~garrigue/FLOPS2008/ FLOPS 2006, Fuji Susono: http://hagi.is.s.u-tokyo.ac.jp/FLOPS2006/ FLOPS 2004, Nara FLOPS 2002, Aizu: http://www.ipl.t.u-tokyo.ac.jp/FLOPS2002/ FLOPS 2001, Tokyo: http://www.ueda.info.waseda.ac.jp/flops2001/ SPONSOR Japan Society for Software Science and Technology (JSSST), SIG-PPL Graduate School of Information Sciences, Tohoku University International Information Science Foundation IN COOPERATION with AAFS (Asian Association for Foundation of Software) ACM SIGPLAN ALP (Association for Logic Programming) INQUIRIES to flops2010@easychair.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20100209/17a80c47/attachment-0001.html From ndmitchell at gmail.com Wed Feb 10 15:35:12 2010 From: ndmitchell at gmail.com (Neil Mitchell) Date: Wed Feb 10 15:06:21 2010 Subject: [Haskell] Fun in the Afternoon, London, 17th Feb (next Wednesday) Message-ID: <404396ef1002101235h7e0d243la3470e5e596218ba@mail.gmail.com> Dear functional programmers, Standard Chartered Bank in London will be hosting the next Fun In The Afternoon event on Wednesday the 17th of February. The program of talks, with abstracts, is at the bottom of this email. Everyone is welcome! If you would like to come, please email me (ndmitchell -AT- gmail -DOT- com) with your name and affiliation by the 15th of Feb (late registrations will probably be accommodated, but we do need to print out name badges). Address: 1 Basinghall Avenue, London EC2V 5DD http://maps.google.co.uk/maps?q=standard+chartered+bank&ie=UTF8&hl=en&hq=standard+chartered+bank&hnear=London,+UK&ll=51.517796,-0.091581&spn=0.007023,0.01929&z=16&iwloc=A Moorgate is the nearest tube station, but London Liverpool Street train/tube station and Bank tube station are easily walkable. Time: The event starts at 1:10pm and finishes at 4:30pm. As traditional, there will be beer/food afterwards. Schedule: 12:00-1:10, arrive at Standard Chartered. We'll find lunch somewhere nearby. Tell the reception you are attending "Fun in the Afternoon". If you have any difficulties getting there, or can't find anyone when you arrive, phone me on 07876 126 574 1:10-1:15, Introduction 1:15-2:00, Invited talk, TBC 2:00-2:15, break 2:15-2:45, Zhaohui Luo, On Subtyping for Type Theories with Canonical Objects 2:45-3:15, George Giorgidze, Declarative Hybrid Modelling and Simulation in Haskell 3:15-3:30, break 3:30-4:00, Dominic Orchard, Haskell Type Constraints Unleashed 4:00-4:30, Malcolm Wallace, Pointless fusion for pointwise application 4:30-6:00, Pub 6:00, Dinner Abstracts: == Zhaohui Luo, On Subtyping for Type Theories with Canonical Objects Two different notions of subtyping have been studied in the literature: subsumptive subtyping that employs the subsumption rule and coercive subtyping that uses implicit coercions. They are suitable for different kinds of type systems: subsumptive subtyping for type assignment systems such as the polymorphic calculi in programming languages and coercive subtyping for the type theories with canonical objects such as Martin-Lof's type theory implemented in proof assistants. In this talk, we explain that subsumptive subtyping is incompatible with the idea of canonical object and cannot be employed to reflect, for example, structural subtyping for inductive types in a type theory with canonical objects. Coercive subtyping, on the other hand, can be used in such type theories to deal with structural and non-structural subtyping relations satisfactorily and has interesting and useful applications. If time permits, we shall show how the formal relationship between these two notions of subtyping can be studied by demonstrating how a type system of dependent types with subsumptive subtyping can be transformed faithfully into one with coercive subtyping. == George Giorgidze, Declarative Hybrid Modelling and Simulation in Haskell Mathematical modelling and simulation of physical systems plays an important role in design, implementation and analysis of systems in numerous areas of science and engineering, e.g., electrical engineering, astronomy, particle physics, biology, climatology, automotive industry and finance (to mention just few). To cope with ever increasing size and complexity of real-world systems, a number of declarative domain specific languages (DSLs) have been developed for mathematical modelling and simulation. In the first half of the talk, I will give a brief overview of the state-of-the-art languages for modelling and simulation and identify their shortcomings with respect to reusability, composability and hybrid (mixed discrete and continuous time) simulation. Next, I will introduce a Haskell-embedded DSL for declarative modelling and simulation that addresses some of these shortcomings. The DSL features first-class implicitly formulated equational constrains allowing for higher-order modelling and simulation of highly structurally dynamic, hybrid systems that goes beyond what current languages can simulate. In particular, it allows repeated generation and just-in-time (JIT) compilation of updated equational constrains during the simulation, depending on the results thus far. The embedding approach that we use should be of general interest and usable in other domains as well. In the second half of the talk, I will describe the embedding approach in detail. I will show how to use mixed-level (combination of deep and shallow) embedding and LLVM JIT compiler to implement an iteratively staged DSL (characterised by repeated program generation, compilation and execution) efficiently in a host language that does not provide built-in multi-stage programming capabilities. == Dominic Orchard, Haskell Type Constraints Unleashed The popular Glasgow Haskell Compiler extends the Haskell 98 type system with several powerful features, leading to an expressive language of type terms. In contrast, constraints over types have received much less attention, creating an imbalance in the expressivity of the type system. We rectify the imbalance, transferring familiar type-level constructs, synonyms and families, to the language of constraints, providing a symmetrical set of features at the type-level and constraint-level. In this talk, the new features, constraint synonyms and constraint families, will be introduced along with examples of their increased expressivity for improving the utility of polymorphic EDSLs in Haskell, amongst other examples. == Malcolm Wallace, Pointless fusion for pointwise application Take a common real-world application: the visualisation of large-scale multi-dimensional scientific data held in arrays. Typical processing involves both structural transformations of the data (e.g. slice, downsample, transpose), and numerical calculation, the latter often involving pointwise arithmetic over transformed arrays. With extremely large datasets, it becomes ever more important to process them with space-efficiency in mind, as well as speed. We will show two kinds of fusion that can automatically eliminate temporary intermediate arrays. An appropriate choice of array representation can make structural transformations extremely cheap, whilst avoiding copying. This talk will however focus mostly on the second kind of fusion: to coalesce numerical array expressions into a single traversal of the inputs, generating a single output. Calculating a fused operation is akin to calculating the points-free version of the entire expression. We speculate that the resultant code will be suitable for highly-parallel multi-core and GPU targets. From bruno at ropas.snu.ac.kr Thu Feb 11 16:40:34 2010 From: bruno at ropas.snu.ac.kr (Bruno Oliveira) Date: Thu Feb 11 16:11:40 2010 Subject: [Haskell] WGP 2010 Call for Papers References: <7c0fdf4f1002111332s470c9e41o4bd5e42bf78028d7@mail.gmail.com> Message-ID: 6th ACM SIGPLAN Workshop on Generic Programming, 2010 Baltimore, Maryland, US Sunday, September 26th, 2010 http://osl.iu.edu/wgp2010 Goals of the workshop Generic programming is about making programs more adaptable by making them more general. Generic programs often embody non-traditional kinds of polymorphism; ordinary programs are obtained from them by suitably instantiating their parameters. In contrast with normal programs, the parameters of a generic program are often quite rich in structure; for example they may be other programs, types or type constructors, class hierarchies, or even programming paradigms. Generic programming techniques have always been of interest, both to practitioners and to theoreticians, and, for at least 20 years, generic programming techniques have been a specific focus of research in the functional and object-oriented programming communities. Generic programming has gradually spread to more and more mainstream languages, and today is widely used in industry. This workshop brings together leading researchers and practitioners in generic programming from around the world, and features papers capturing the state of the art in this important area. We welcome contributions on all aspects, theoretical as well as practical, of * polytypic programming, * programming with dependent types, * programming with type classes, * programming with (C++) concepts, * generic programming, * programming with modules, * meta-programming, * adaptive object-oriented programming, * component-based programming, * strategic programming, * aspect-oriented programming, * family polymorphism, * object-oriented generic programming, * and so on. Organisers: Co-Chair Bruno C. d. S. Oliveira, Seoul National University Co-Chair Marcin Zalewski, Indiana University Programme Committee: Alley Stoughton, Kansas State University Andrei Alexandrescu, Facebook Bruno C. d. S. Oliveira (Co-Chair), Seoul National University Doug Gregor, Apple Gilad Bracha, I am a Computational Theologist Emeritus Magne Haveraaen, Universitetet i Bergen Marcin Zalewski (Co-Chair), Indiana University Neil Mitchell, Standard Chartered Ralf L?mmel, University of Koblenz-Landau Shin-Cheng Mu, Academia Sinica Thorsten Altenkirch, University of Nottingham Ulf Norell, Chalmers University We plan to have formal proceedings, published by the ACM. Submission details Deadline for submission: Sunday 2010-06-13 Notification of acceptance: Monday 2010-07-12 Final submission due: Tuesday 2010-07-27 Workshop: Sunday 2010-09-26 Authors should submit papers, in postscript or PDF format, formatted for A4 paper, to the WGP09 EasyChair instance by 13th of June 2010. The length should be restricted to 12 pages in standard (two-column, 9pt) ACM format. Accepted papers are published by the ACM and will additionally appear in the ACM digital library. History of the Workshop on Generic Programming This year: * Baltimore, Maryland, US 2010 (affiliated with ICFP10) Earlier Workshops on Generic Programming have been held in * Edinburgh, UK 2009 (affiliated with ICFP09) * Victoria, BC, Canada 2008 (affiliated with ICFP), * Portland 2006 (affiliated with ICFP), * Ponte de Lima 2000 (affiliated with MPC), * Marstrand 1998 (affiliated with MPC). Furthermore, there were a few informal workshops * Utrecht 2005 (informal workshop), * Dagstuhl 2002 (IFIP WG2.1 Working Conference), * Nottingham 2001 (informal workshop), There were also (closely related) DGP workshops in Oxford (June 3-4 2004), and a Spring School on DGP in Nottingham (April 24-27 2006, which had a half-day workshop attached). Additional information: The WGP steering committee consists of J Gibbons, R Hinze, P Jansson, J Jarvi, J Jeuring, B Oliveira, S Schupp and M Zalewski From simon at joyful.com Thu Feb 11 22:02:14 2010 From: simon at joyful.com (Simon Michael) Date: Thu Feb 11 21:33:24 2010 Subject: [Haskell] ANN: hledger 0.8 released Message-ID: <9BD50E1A-712C-4269-B912-07F397801E72@joyful.com> hledger 0.8 is out! http://hledger.org http://hledger.org/MANUAL.html#installing Bug fixes, refactoring and Hi-Res Graphical Charts. (See Roman Cheplyaka's blog: http://www.reddit.com/r/haskell/comments/b0w0q/using_the_hledger_package_to_track_finances) Best - Simon Release notes: ...................... * parsing: in date=date2, use first date's year as a default for the second * add: ctrl-d doesn't work on windows, suggest ctrl-c instead * add: --no-new-accounts option disallows new accounts (Roman Cheplyaka) * add: re-use the previous transaction's date as default (Roman Cheplyaka) * add: a command-line argument now filters by account during history matching (Roman Cheplyaka) * chart: new command, generates balances pie chart (requires - fchart flag, gtk2hs) (Roman Cheplyaka, Simon Michael) * register: make reporting intervals honour a display expression (#18) * web: fix help link * web: use today as default when adding with a blank date * web: re-enable account/period fields, they seem to be fixed, along with file re-reading (#16) * web: get static files from the cabal data dir, or the current dir when using make (#13) * web: preserve encoding during add, assuming it's utf-8 (#15) * fix some non-utf8-aware file handling (#15) * filter ledger again for each command, not just once at program start * refactoring, clearer data types Stats: 62 days since last release, 2 contributors, 76 commits, 3464 lines of non-test code, 97 tests, 53% test coverage From allbery at ece.cmu.edu Thu Feb 11 22:18:35 2010 From: allbery at ece.cmu.edu (Brandon S. Allbery KF8NH) Date: Thu Feb 11 21:51:07 2010 Subject: [Haskell] Re: [Haskell-cafe] ANN: hledger 0.8 released In-Reply-To: <9BD50E1A-712C-4269-B912-07F397801E72@joyful.com> References: <9BD50E1A-712C-4269-B912-07F397801E72@joyful.com> Message-ID: <71EDAD2F-7F24-4986-AED5-F58BA0323161@ece.cmu.edu> On Feb 11, 2010, at 22:02 , Simon Michael wrote: > * add: ctrl-d doesn't work on windows, suggest ctrl-c instead Ctrl-Z would be the usual EOF in the Windows world, fwiw. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 195 bytes Desc: This is a digitally signed message part Url : http://www.haskell.org/pipermail/haskell/attachments/20100211/762d23fd/PGP.bin From a.serebrenik at tue.nl Fri Feb 12 09:48:53 2010 From: a.serebrenik at tue.nl (Serebrenik, A.) Date: Fri Feb 12 09:19:56 2010 Subject: [Haskell] CFP: APNOC 2010 - 2nd Int. Workshop on Abstractions for Petri Nets and Other Models of Concurrency Message-ID: <7DF2365FF07C0E4E89419D65CCC93C9E01789E3124E0@EXCHANGE11.campus.tue.nl> =============================================================== APNOC 2010 2nd International Workshop on Abstractions for Petri Nets and Other Models of Concurrency http://www.win.tue.nl/apnoc2010/ =============================================================== Braga, Portugal, June 21, 2010 a satellite event of Petri Nets 2010 31th International Conference on Application and Theory of Petri Nets and Other Models of Concurrency =============================================================== Selected papers from the workshop will be published in ToPNoC - "Transactions on Petri Nets and Other Models of Concurrency" - journal subline of Lecture Notes in Computer Science. =============================================================== Deadline for abstracts: March 13, 2010 Deadline for paper submission: March 20, 2010 =============================================================== APNOC is a forum for researchers interested in abstraction techniques and methodologies for modeling and verification of concurrent systems. The modeling language of particular interest is Petri nets; other formalisms such as process algebras, pi-calculus, B-method, etc., are also of great interest, since abstraction techniques are often formalism-independent and could be transferred from one formalism to another. Both academics and practitioners can contribute and learn from such a meeting. Contributions describing original research in topics related to the use of abstractions for Petri nets and other models of concurrency, as well as surveys addressing abstraction techniques and open problems and new applications of abstractions are being sought. Topics of interest include but are not limited to: * State space abstraction and aggregation * Abstract interpretation techniques * Abstractions for handling underspecified systems * Pattern-based abstractions * Abstractions for handling incomplete information * Abstraction for efficiency, explanation, anytime reasoning, * Methodologies for applying abstraction techniques in modelling * Case studies where abstraction plays a central role * Tools support for abstractions The programme committee invites submissions of full contributions (up to 15 pages) or short contributions (up to 7 pages). Papers should be submitted in electronic form (PDF) using the Springer LNCS-format (http://www.springer.de/comp/lncs/authors.html). Submissions should include title, author's address and email, and an abstract. Please use the online conference management system (see http://www.win.tue.nl/apnoc2010/) Accepted papers will be included in the workshop proceedings which will be available at the workshop. At least one of the authors of each accepted contribution should register and take part in the workshop to give the presentation. Selected papers from the workshop will be invited for publication in a volume of a journal subline of Lecture Notes in Computer Science entitled "Transactions on Petri Nets and Other Models of Concurrency" (ToPNoC). Important Dates: Abstract submission: 13 March, 2010 Submission deadline: 20 March, 2010 Start of reviews: 23 March, 2010 Start of discussion phase: 23 April, 2010 Notification of acceptance: 1 May, 2010 Final version: 22 May, 2010 PROGRAMME COMMITTEE: Josep Carmona (Spain) Radhia Cousot (France) Philippe Darondeau (France) J?rg Desel (Germany) Wan Fokkink (The Netherlands) Pierre Ganty (Belgium) Serge Haddad (France) Olga Kouchnarenko (France) Maciej Koutny (UK) Laure Petrucci (France) Olivier H. Roux (France) Alexander Serebrenik (The Netherlands) (co-chair) Natalia Sidorova (The Netherlands) (co-chair) Martin Steffen (Norway) Walter Vogler (Germany) ================================================ From byorgey at seas.upenn.edu Fri Feb 12 16:01:24 2010 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Fri Feb 12 15:32:36 2010 Subject: [Haskell] Call for Copy: Monad.Reader Issue 16 Message-ID: <20100212210124.GA27020@seas.upenn.edu> Call for Copy: The Monad.Reader - Issue 16 ------------------------------------------ Whether you're an established academic or have only just started learning Haskell, if you have something to say, please consider writing an article for The Monad.Reader! The submission deadline for Issue 16 will be: **Friday, April 16, 2010** The Monad.Reader ~~~~~~~~~~~~~~~~ The Monad.Reader is a 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: 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 to me by e-mail (byorgey at cis.upenn.edu). Articles should be written according to the guidelines available from http://themonadreader.wordpress.com/contributing/ 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 work something out. From leon.p.smith at gmail.com Mon Feb 15 02:13:37 2010 From: leon.p.smith at gmail.com (Leon Smith) Date: Mon Feb 15 01:44:31 2010 Subject: [Haskell] ANN: data-ordlist-0.4, now with mergeAll and unionAll Message-ID: Data-Ordlist is a package of convenience functions for dealing with ordered lists. It's had it's second release in 7 days, with bugfixes, documentation improvements, and now two new functions. Big thanks to Omar Antol?n Camarena, Topi Karvonen, Heinrich Apfelmus, and Dave Bayer for (knowingly or unknowingly) contributing to this release! http://hackage.haskell.org/package/data-ordlist Version 0.4: (2010-02-15) * The "CHANGES" file was added to document the changes between releases. * Documentation Improvements * A rough first pass at a test suite * The functions `mergeAll` and `unionAll` were added. They operate on a possibly infinite list of possibly infinite ordered lists; assuming the heads of the lists are ordered. Thanks goes to Omar Antol?n Camarena, Heinrich Apfelmus, and Dave Bayer. Omar Antol?n Camarena suggested the addition, located the article used as the basis for the implementation, and was quite helpful with testing and debugging. Heinrich Apfelmus wrote his "Implicit Heaps" article, where he simplified an algorithm by Dave Bayer. It is this article that forms the basis of our implementation. Dave Bayer posted his 'venturi' implementation to the haskell-cafe mailing list on 2007 Jul 22. It also appears as "BayerPrimes.hs" inside of Melissa O'Neill's "haskell-primes.zip": Version 0.2: (2010-02-07) * The module name was changed from `Data.OrdList` to `Data.List.Ordered` * Fixed bugs in `insertSetBy`, `insertBagBy`, and `nub`. The insertion functions assumed reversed lists, while `nub` failed to remove duplicates. Thanks to Topi Karvonen for reporting the first issue! * Changed semantics of `insertSetBy` slightly: the new version replaces an element if it is already there. If the old semantics turns out to be important, a new function can be added at a later date. * Changed semantics of `nubBy`: the new version negates the binary relation, so that `new_nubBy f == old_nubBy (not . f)`. It is now in better keeping with the spirit of the rest of the library, and mades the bug in `nub` more obvious. * Better documentation, I hope. At the very least, the process of documenting `nubBy` revealed the bug in `nub`. From Peter.VanWeert at cs.kuleuven.be Mon Feb 15 07:20:17 2010 From: Peter.VanWeert at cs.kuleuven.be (Van Weert Peter) Date: Mon Feb 15 06:51:26 2010 Subject: [Haskell] CHR 2010: Second Call for Papers Message-ID: <4B793C01.2020403@cs.kuleuven.be> ========================================================================= Second Call for Papers Seventh International Workshop on Constraint Handling Rules CHR 2010 http://www.cs.kuleuven.be/~dtai/CHR/CHR2010/ Edinburgh (Scotland), July 20, 2010 (co-located with ICLP 2010, part of FLoC 2010) ========================================================================= News * Submission deadlines are about two weeks earlier than first announced! (due to FLoC 2010 requirements) * Invited speaker: We are privileged to announce a distinguished invited speaker this year: Mark Proctor, lead of the thriving, innovating JBoss Drools project (http://www.jboss.org/drools/). He will introduce the Drools Business Logic integration Platform, a fully featured business rule engine and management system that seamlessly integrates powerful Complex Event Processing and workflow capabilities. Introduction The CHR 2010 Workshop will be held July 20, 2010 in Edinburgh (Scotland) at the occasion of the 26th International Conference on Logic Programming (ICLP 2010), the premier international venue for presenting research in logic programming. This year, ICLP is held as part of the Fifth Federated Logic Conference (FLoC 2010). More information on the venue and co-located conferences can be found on the FLOC website (http://www.floc-conference.org/). The Constraint Handling Rules (CHR) language has become a major declara- tive specification formalism and implementation language for constraint reasoning algorithms and applications. Algorithms specified using infe- rence rules, rewrite rules, sequents, proof rules, or logical axioms can often be directly written in CHR. Its clean semantics facilitates pro- gram design, analysis, and transformation. For more information, please visit the CHR website (http://www.cs.kuleuven.be/~dtai/projects/CHR/). The aim of the CHR workshop series is to stimulate and promote interna- tional research and collaboration on topics related to the CHR language. The workshop is a lively, friendly forum for presenting and discussing new results, interesting applications, and work in progress. Previous Workshops on Constraint Handling Rules were organized in 2004 in Ulm (Germany), in 2005 in Sitges (Spain) at ICLP, in 2006 in Venice (Italy) at ICALP, in 2007 in Porto (Portgual) at ICLP, in 2008 in Hagen- berg (Austria) at RTA, and in 2009 in Pasadena (California, US) at ICLP. Topics of Interest The workshop calls for contributions on all aspects of CHR, including topics such as: - (Operational) semantics - Program analysis (confluence, termination, ...) - Comparisons with related approaches - Expressivity and complexity - Language extensions (negation, modules, ...) - Constraint solvers - Implementation and optimization - Concurrency & parallelism - Program transformation and generation - Programming environments (debugging, confluence checking, ...) - Programming pearls Application papers that describe experience with (industrial) applications, are especially welcome. Important dates - Abstract submission deadline: March 29, 2010 - Paper submission deadline: April 5, 2010 - Notification of acceptance: May 1, 2010 - Final version due: May 17, 2010 (tentative) - Workshop date: July 20, 2010 Submission Information The four broad categories for submissions are: 1. technical papers for describing technically sound, innovative ideas that can advance the state of the art of CHR 2. application papers, where the emphasis will be on the use of CHR in the application, on the impact on the application domain, and the lessons learned from this application 3. system and tool papers, empasising the novelty, practicality, usability and general availability of the systems and tools described 4. short papers, for ongoing work not yet ready for full publication and research project overviews. All papers must describe original, previously unpublished research, and must not simultaneously be submitted for publication elsewhere. They must be written in English. Technical papers must not exceed 15 pages. The limit for short papers is 7 pages, as is the standard page limit for application papers, and system and tool papers. However, particularly strong contributions in the latter two areas may be submitted as technical paper as well. All papers must be in the Springer LNCS format. General information about the Springer LNCS series and the LNCS authors' instructions are available at the Springer LNCS home page (http://www.springer.com/computer/lncs?SGWID=0-164-7-72376-0). Submissions must be made via the EasyChair submission system, available at http://www.easychair.org/conferences/?conf=chr10 Programme Committee - Sebastian Brand, National ICT Australia, and the University of Melbourne, Victoria, Australia - Henning Christiansen, Roskilde University, Denmark - Vernica Dahl, Simon Fraser University, Canada - Leslie De Koninck, Victoria Research Laboratory, NICTA, Australia (co-chair) - Thom Fruehwirth Ulm University, Germany - Marco Gavanelli, University of Ferrara, Italy - Remy Haemmerle, Universidad Politecnica de Madrid, Spain - Maria-Chiara Meo, "Gabriele d'Annunzio" University, Italy - Paolo Pilozzi K.U.Leuven, Belgium - Frank Raiser, Ulm University, Germany - Peter Van Weert, K.U.Leuven, Belgium (co-chair) - Jairson Vitorino, Federal University of Pernambuco, Brazil - Armin Wolf, Fraunhofer FIRST, Germany Workshop Coordinators Contact: chr2010@easychair.org Peter Van Weert Department of Computer Science, K.U.Leuven Leuven, Belgium http://www.cs.kuleuven.be/~petervw/ Leslie De Koninck Victoria Research Laboratory, NICTA Melbourne, Australia Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20100215/a0d6d48d/attachment.html From rl at cse.unsw.edu.au Mon Feb 15 10:38:59 2010 From: rl at cse.unsw.edu.au (Roman Leshchinskiy) Date: Mon Feb 15 10:09:54 2010 Subject: [Haskell] ANN: vector 0.5 Message-ID: <56328854-5578-4377-BEE0-EA3499CC092E@cse.unsw.edu.au> Hi everyone, I am pleased to announce the release of version 0.5 of package vector, a high-performance Haskell array library with a powerful loop fusion framework. The main highlights compared to previous versions are: * DPH-style unboxed vectors (in Data.Vector.Unboxed) which use associated types to select the appropriate unboxed representation depending on the type of the elements. * A redesigned interface between mutable and immutable vectors. In particular, the popular unsafeFreeze primitive is now supported for all vector types. * Many new operations on both immutable and mutable vectors. * Significant performance improvements. The library comes with a fairly complete testsuite (mainly thanks to Max Bolingbroke) and is quite stable by now. Barring various disasters, I expect to release version 1.0 in the next 3 to 4 months. The release is accompanied by a new version of the NoSlow array benchmark suite. A few quite meaningless preliminary benchmarks are available at: http://unlines.wordpress.com/2010/02/15/vector-0-5-is-here-2 Both vector and NoSlow are on Hackage. Hackers can get the darcs repos from http://code.haskell.org/vector and http://code.haskell.org/NoSlow Enjoy! Roman From xana at di.uminho.pt Tue Feb 16 12:10:53 2010 From: xana at di.uminho.pt (Alexandra Silva) Date: Tue Feb 16 11:41:46 2010 Subject: [Haskell] CMCS 2010: Call for Short Submissions & Call for Participation Message-ID: <4B7AD19D.9010408@di.uminho.pt> ------------------------------------------------------------------------ CMCS 2010 Call for Short Submissions & Call for Participation ------------------------------------------------------------------------ The 10th International Workshop on Coalgebraic Methods in Computer Science 26-28 March 2010, Paphos, Cyprus (co-located with ETAPS 2010) Aims and scope ------------------------- The aim of the workshop is to bring together researchers with a common interest in the theory of coalgebras and its applications. Over the last two decades, coalgebra has developed into a field of its own, presenting a mathematical foundation for various kinds of dynamical systems, infinite data structures, and logics. Coalgebra has an ever growing range of applications in and interactions with 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, analysis, etc. 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); * coalgebras and algebras; * coalgebraic specification and verification; * coalgebras and (modal) logic; * coalgebra and control theory (notably of discrete event and hybrid systems). An anniversary: the 10th CMCS --------------------------------------------- CMCS took place for the first time when ETAPS started, in 1998. Since then, it has always been collocated with ETAPS, becoming bi-annual since the start of CALCO (Conference on Algebra and Coalgebra) in 2005. In 2010, we will celebrate the 10th edition of CMCS, by inviting a number of specialists in the field to present overviews of both obtained results and future challenges. Invited Speakers ------------------------- At this tenth meeting the following invited speakers will present overviews of important subareas. * Venanzio Capretta: Coalgebra in functional programming and type theory * Bartek Klin: Operational semantics coalgebraically * Dirk Pattinson: Logic and coalgebra * Ana Sokolova: Probabilistic systems coalgebraically Short contributions ----------------------------- Apart from the presentation of regular papers (see list below) and invited contributions, some time has been reserved for *short contributions* . These will not be published in the proceedings but will be bundled in a CWI technical report. 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. The instructions for submitting short contributions can be found at: Important dates ------------------- * 27 February 2010: strict submission deadline short contributions * 28 February 2010: deadline normal registration * 6 March 2010: notification short contributions * 26-28 March 2010: the workshop List of accepted regular papers --------------------------------------------- * Jan Komenda . Coinduction in concurrent timed systems * Jiri Adamek, Stefan Milius and Jiri Velebil . Recursive Program Schemes and Context-Free Monads * Bartek Klin . Structural operational semantics and modal logic, revisited * Hauhs Michael and Baltasar Tranc n y Widemann . Applications of Algebra and Coalgebra in Scientific Modelling: Illustrated with the Logistic Map * Kazuyuki Asada and Ichiro Hasuo . Categorifying Computations into Components via Arrows as Profunctors * Corina Cirstea . Generic Infinite Traces and Path-Based Coalgebraic Temporal Logics * Vincenzo Ciancia, Alexander Kurz and Ugo Montanari . Families of symmetries for the semantics of programming languages * Jiho Kim . Higher-order algebras and coalgebras from parameterized endofunctors * Bart Jacobs . From Coalgebraic to Monoidal Traces * Adriana Balan and Alexander Kurz . On coalgebras over algebras Programme Committee ---------------------------------- Jiri Adamek (Braunschweig) Alexandru Baltag (Oxford) Luis Barbosa (Braga) Marcello Bonsangue (Leiden) Corina Cirstea (Southampton) Robin Cockett (Calgary) Andrea Corradini (Pisa) Neil Ghani (Glasgow) Peter Gumm (Marburg) Furio Honsell (Udine) Bart Jacobs (Nijmegen, co-chair) Bartek Klin (Cambridge) Clemens Kupke (London) Alexander Kurz (Leicester) Marina Lenisa (Udine) Stefan Milius (Braunschweig) Ugo Montanari (Pisa) Larry Moss (Bloomington) Milad Niqui (Amsterdam) Dirk Pattinson (London) Dusko Pavlovic (Oxford) John Power (Edinburgh) Horst Reichel (Dresden) Grigore Rosu (Urbana) Jan Rutten (Amsterdam, co-chair) Davide Sangiorgi (Bologna) Lutz Schr der (Bremen) Alexandra Silva (Amsterdam) Hendrik Tews (Nijmegen) Tarmo Uustalu (Tallinn) Yde Venema (Amsterdam) Hiroshi Watanabe (Osaka) James Worrell (Oxford) Organising Committee -------------------------- Bart Jacobs, Milad Niqui (co-chair, CWI), Jan Rutten, Alexandra Silva (co-chair, CWI). Contact ---------- cmcs10@cwi.nl . From adamcrume at hotmail.com Tue Feb 16 17:10:37 2010 From: adamcrume at hotmail.com (Adam Crume) Date: Tue Feb 16 16:41:26 2010 Subject: [Haskell] Parsec operator issue Message-ID: I have a parser with a prefix "-" and an infix "=". When I try to parse "x=-1", it fails. Does anyone know how to fix this? I stripped my code down as much as possible. It parses "x=1" and "-1", but fails for "x=-1". import Text.Parsec import qualified Text.Parsec.Expr as PE import qualified Text.Parsec.Language as L import qualified Text.Parsec.Token as T lexer = T.makeTokenParser L.emptyDef {T.reservedOpNames = ["=", "-"]} reservedOp = T.reservedOp lexer integer = T.integer lexer >> return "" symbol = T.identifier lexer expression = PE.buildExpressionParser table (integer <|> symbol) where table = [ [ PE.Prefix (reservedOp "-" >> return (\x-> "")) ], [ PE.Infix (reservedOp "=" >> return (\x-> \y->"")) PE.AssocRight ] ] input = do e <- expression eof return e testParse s = case (parse input "(unknown)" s) of Left f -> putStrLn $ s ++ "\n" ++ show f Right f -> putStrLn s main = do testParse "x=1" testParse "-1" testParse "x=-1" _________________________________________________________________ Hotmail: Free, trusted and rich email service. http://clk.atdmt.com/GBL/go/201469228/direct/01/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20100216/70336145/attachment.html From garious at gmail.com Tue Feb 16 17:48:05 2010 From: garious at gmail.com (Greg Fitzgerald) Date: Tue Feb 16 17:19:14 2010 Subject: [Haskell] Parsec operator issue In-Reply-To: References: Message-ID: <1f3dc80d1002161448u3da5f22ay7cc02905df9ecfbd@mail.gmail.com> Hi Adam, > parse "x=-1", it fails. Does anyone know how to fix this? This issue is in using the 'reservedOp' combinator which rejects '=' when followed by '-'. ? ?reservedOp name = ? ? ? ?lexeme $ try $ ? ? ? ?do{ string name ? ? ? ? ?; notFollowedBy (opLetter languageDef) ("end of " ++ show name) ? ? ? ? ?} If you change: reservedOp "=" to: char '=' then your test passes. -Greg On Tue, Feb 16, 2010 at 2:10 PM, Adam Crume wrote: > I have a parser with a prefix "-" and an infix "=". ?When I try to > parse "x=-1", it fails. ?Does anyone know how to fix this? > I stripped my code down as much as possible. ?It parses "x=1" and > "-1", but fails for "x=-1". > > > import Text.Parsec > import qualified Text.Parsec.Expr as PE > import qualified Text.Parsec.Language as L > import qualified Text.Parsec.Token as T > > lexer = T.makeTokenParser L.emptyDef {T.reservedOpNames = ["=", "-"]} > > reservedOp = T.reservedOp lexer > > integer = T.integer lexer >> return "" > > symbol = T.identifier lexer > > expression = PE.buildExpressionParser table (integer <|> symbol) > ? ? where > ? ? ? ? ?table = [ [ PE.Prefix (reservedOp "-" >> return (\x-> "")) ], > ? ? ? ? ? ? ? ? ? ?[ PE.Infix (reservedOp "=" >> return (\x-> \y->"")) > PE.AssocRight ] ] > > input = do > ? e <- expression > ? eof > ? return e > > testParse s = case (parse input "(unknown)" s) of > ? ? ? ? ? ? ? ? ? Left f -> putStrLn $ s ++ "\n" ++ show f > ? ? ? ? ? ? ? ? ? Right f -> putStrLn s > > main = do > ? testParse "x=1" > ? testParse "-1" > ? testParse "x=-1" > ________________________________ > Hotmail: Free, trusted and rich email service. Get it now. > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > > From mle+hs at mega-nerd.com Tue Feb 16 17:50:50 2010 From: mle+hs at mega-nerd.com (Erik de Castro Lopo) Date: Tue Feb 16 17:21:43 2010 Subject: [Haskell] Parsec operator issue In-Reply-To: References: Message-ID: <20100217095050.9921cadd.mle+hs@mega-nerd.com> Adam Crume wrote: > > I have a parser with a prefix "-" and an infix "=". When I try to > parse "x=-1", it fails. Does anyone know how to fix this? > I stripped my code down as much as possible. It parses "x=1" and > "-1", but fails for "x=-1". I ran into simialr problems some time ago and blogged about it here: http://www.mega-nerd.com/erikd/Blog/CodeHacking/Haskell/parsec_expression_parsing.html Not sure if your problem is exactly the same, but my solution might point you in the right direction. BTW, the haskell-cafe mailing list may be a better place for questions like this. It seems to have a larger readership and is more discussion focused while this list is more for announcements. Cheers, Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/ From adamcrume at hotmail.com Wed Feb 17 03:38:16 2010 From: adamcrume at hotmail.com (Adam Crume) Date: Wed Feb 17 03:09:05 2010 Subject: [Haskell] Parsec operator issue In-Reply-To: <20100217095050.9921cadd.mle+hs@mega-nerd.com> References: , <20100217095050.9921cadd.mle+hs@mega-nerd.com> Message-ID: The problem was the same, but I needed a slightly different solution. You got me on the right track, though. Also, thanks for the tip about haskell-cafe. > Date: Wed, 17 Feb 2010 09:50:50 +1100 > From: mle+hs@mega-nerd.com > To: haskell@haskell.org > Subject: Re: [Haskell] Parsec operator issue > > Adam Crume wrote: > > > > > I have a parser with a prefix "-" and an infix "=". When I try to > > parse "x=-1", it fails. Does anyone know how to fix this? > > I stripped my code down as much as possible. It parses "x=1" and > > "-1", but fails for "x=-1". > > I ran into simialr problems some time ago and blogged about it > here: > > http://www.mega-nerd.com/erikd/Blog/CodeHacking/Haskell/parsec_expression_parsing.html > > Not sure if your problem is exactly the same, but my solution might > point you in the right direction. > > BTW, the haskell-cafe mailing list may be a better place for questions > like this. It seems to have a larger readership and is more discussion > focused while this list is more for announcements. > > Cheers, > Erik > > -- > ---------------------------------------------------------------------- > Erik de Castro Lopo > http://www.mega-nerd.com/ > _______________________________________________ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell _________________________________________________________________ Hotmail: Trusted email with powerful SPAM protection. http://clk.atdmt.com/GBL/go/201469227/direct/01/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20100217/398b1b16/attachment.html From vandijk.roel at gmail.com Wed Feb 17 09:10:38 2010 From: vandijk.roel at gmail.com (Roel van Dijk) Date: Wed Feb 17 08:41:30 2010 Subject: [Haskell] ANN: concurrent-extra-0.1 Message-ID: Hello, We would like to announce the release of concurrent-extra [1]. A library which offers a few extra synchronization primitives. These primitives are found in the standard libraries of languages like Java and Python, but not in Haskell. Quick overview: * Lock: Enforce exclusive access to a resource. Also known as a mutex or a binary semaphore. * RLock: A lock which can be acquired multiple times by the same thread. Also known as a reentrant mutex. * Event: Wake multiple threads by signaling an event. Includes both pessimistic and optimistic versions. * ReadWriteLock: Multiple-reader, single-writer locks. Used to protect shared resources which may be concurrently read, but only sequentially written. * ReadWriteVar: Concurrent read, sequential write variables. Plug & Play: cabal install concurrent-extra Darcs: darcs get http://code.haskell.org/~roelvandijk/code/concurrent-extra/ Thanks to Neil Brown and Simon Marlow for an initial review. Comments are still more than welcome! Regards, Roel & Bas van Dijk [1] http://hackage.haskell.org/package/concurrent-extra From hg.manuel at gmail.com Wed Feb 17 19:20:19 2010 From: hg.manuel at gmail.com (Manuel Hernandez) Date: Wed Feb 17 18:51:07 2010 Subject: [Haskell] Bug in opengl... Message-ID: Hi! This was so ugly...: ----- mh@dsktp:/media/VENUS/python$ ghc -package GLUT HelloWorld.hs -o HelloWorld Binary: Int64 truncated to fit in 32 bit Int ghc: panic! (the 'impossible' happened) (GHC version 6.10.4 for i386-unknown-linux): Prelude.chr: bad argument Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug ---- First program in: http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/ Why, why? Warm regards, Manuel. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20100217/0a95cf26/attachment.html From uzytkownik2 at gmail.com Thu Feb 18 08:27:30 2010 From: uzytkownik2 at gmail.com (Maciej Piechotka) Date: Thu Feb 18 07:58:18 2010 Subject: [Haskell] ANN: iteratee-parsec 0.0.1 Message-ID: <1266499650.10335.5.camel@picard> Iteratee-parsec is a library which allows to have a parsec (3) parser in IterateeG monad. It contains 2 implementations: - John Lato's on public domain. It is based on monoid and design with short parsers in mind. - Mine on MIT. It is based on single-linked mutable list. It seems to be significantly faster for larger parsers - at least in some cases - but it requires a monad with references (such as for example IO or ST). Regards -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part Url : http://www.haskell.org/pipermail/haskell/attachments/20100218/644130a5/attachment-0001.bin From marlowsd at gmail.com Thu Feb 18 16:37:50 2010 From: marlowsd at gmail.com (Simon Marlow) Date: Thu Feb 18 16:08:38 2010 Subject: [Haskell] Fwd: TFP 2010 - Call for Papers and Participation Message-ID: <4B7DB32E.9050309@gmail.com> [ forwarding on behalf of Rex Page ] TFP 2010: 11th SYMPOSIUM ON TRENDS IN FUNCTIONAL PROGRAMMING May 17-19, 2010 University of Oklahoma http://www.cs.ou.edu/tfp2010/ TFP 2010 is an international forum for researchers with interests in any aspect of functional programming. SUBMISSION and REGISTRATION DEADLINES April 2: Submission deadline April 16: Early registration deadline ($350, $200 for students) May 7: Late registration deadline ($425) May 17-19: TFP Symposium POST-SYMPOSIUM PROCEEDINGS Springer series: Lecture Notes in Computer Science Details about the event schedule, symposium scope, submissions, and registration may be found on the symposium website. http://www.cs.ou.edu/tfp2010/ (Web browser key "tfp 2010") Submitted papers and extended abstracts are reviewed for presentation at the symposium, and a formal refereeing process after the symposium selects the best presentations for publication the Springer series, Lecture Notes in Computer Science. We invite you to participate in TFP 2010. - Rex Page, University of Oklahoma, Program Chair - Viktia Zs and Zolt Horvath, Ev Lord University, Symposium Co-Chairs Sponsors: Erlang Solutions Ltd and The University of Oklahoma From drcygnus at gmail.com Fri Feb 19 01:23:34 2010 From: drcygnus at gmail.com (Jonathan Daugherty) Date: Fri Feb 19 00:54:23 2010 Subject: [Haskell] ANNOUNCE: vty-ui 0.3 Message-ID: I'm happy to announce the release of vty-ui 0.3. Get it from Hackage: http://hackage.haskell.org/package/vty-ui Or get the source with darcs: http://repos.codevine.org/vty-ui Project homepage: http://codevine.org/vty-ui/ This version of vty-ui features a richer rendering engine, generalized text transformations, and a more functional style. If you've written any applications to use vty-ui, your type signatures and usage of a few of the built-in widget types will need to change but the API is largely the same. In particular, the largest change was a refactoring inspired by Luke Palmer's blog post, "Haskell Antipattern: Existential Typeclass," which targeted vty-ui (among other libraries) in its treatment of the topic: http://lukepalmer.wordpress.com/2010/01/24/haskell-antipattern-existential-typeclass/ Here's a summary of changes: General * Replace Widget type class with a concrete Widget type * Move text widget into Graphics.Vty.Widgets.Text * Add support for generalized text "formatters" * Replace WrappedText widget type with a text-wrapping formatter * Provide a regex-based text-highlighting formatter (see the demo for an example) * Refactor the rendering engine to provide "address" information so you can get coordinates and size for rendered widgets * Add a few QuickCheck tests (and related fixes) Enjoy! -- Jonathan Daugherty From ggrov at staffmail.ed.ac.uk Fri Feb 19 11:45:29 2010 From: ggrov at staffmail.ed.ac.uk (Gudmund Grov) Date: Fri Feb 19 11:18:33 2010 Subject: [Haskell] Call for Participation -- SICSA Summer School on Formal Reasoning & Representation of Complex Systems Message-ID: Call for Participation ----------------------- SSFRR 2010 SICSA Summer School on Formal Reasoning & Representation of Complex Systems 14-15 August 2010 -- Heriot-Watt University campus -- Edinburgh Satellite summer school of VSTTE 2010 http://dream.inf.ed.ac.uk/events/ssfrr-2010/ ---------------------- ABOUT --------- The summer school will give a broad overview of software verification techniques, addressing both bottom-up and top-down approaches with a strong focus on the formal representation and reasoning themes. The school consists of eight introductory lectures, each concentrating on an unique aspect of one or both of the overall themes. The topics of the lectures include inductive theorem proving; SAT and SMT solving; proof planning and rippling; rely/guarantee conditions; separation logic; operating system verification; BiGraphs and formal analysis of security. The school is intended for PhD students and researchers working within one or both of these themes, however familiarity with any of the techniques is not a prerequisite. All lectures are meant to be introductory. PRESENTERS --------- The following will present at the summer school: * Robert Atkey (University of Strathclyde) & Ewen Maclean (Heriot-Watt University) * Alan Bundy & Lucas Dixon (University of Edinburgh) * Cliff Jones (University of Newcastle) * Gerwin Klein (National ICT Australia) * Robin Milner (University of Cambridge/Edinburgh) * J Strother Moore (University of Texas at Austin) * Natarajan Shankar (SRI) * Graham Steel (INRIA) PRELIMINARY PROGRAM --------- The summer school has the following preliminary program (timing and titles may still change): Saturday: * 09:00: Registration * 09:30: J Moore -- Machines Reasoning about Machines - 39 Years and Counting * 11:00: Coffee break * 11:30: Gerwin Klein -- Specification and Refinement in Operating System Verification * 13:00: Lunch * 14:00: Bob Atkey/Ewen Maclean -- Amortised Resource Analysis and Functional Correctness with Separation Logic * 15:30: Coffee break * 16:00: Alan Bundy/Lucas Dixon -- Proof-planning, inductive reasoning, and beyond * 17:30: End Sunday: * 09:30: Natarajan Shankar -- Verification using SAT and SMT solvers * 11:00: Coffee break * 11:30: Graham Steel -- Formal Analysis of Security * 13:00: Lunch * 14:00: Cliff Jones -- Tackling concurrency by reasoning explicitly about inference * 15:30: Coffee break * 16:00: Robin Milner -- BiGraphs: a Model for Mobile Agents * 17:30: End VENUE --------- The summer school is a satellite event of VSSTE 2010 (see http://www.macs.hw.ac.uk/vstte10/) and will be held the two days before the main event: Saturday 14th and Sunday 15th August 2010. Like VSTTE 2010, it will be held at the Edinburgh campus of Heriot-Watt University. REGISTRATION --------- The registration fee is ?110, which also covers materials and lunches. We will offer campus accommodation at ?42.50 (incl. VAT and breakfast) per night, which will be possible to book during registration. This is highly recommended since the summer school will coincide with several of the famous Edinburgh festivals -- where hotel prices in town tend to be very inflated. SICSA will cover registration and two nights campus accommodation for SICSA students (students from most Scottish Universities -- see http://www.sicsa.ac.uk/ to check if you are eligible). The number of SICSA students is limited, and a decision on ranking if this number is exceeded will only be taken if necessary. The registration will be joint with the VSTTE conference and will open shortly. However, due to a limited number of places, we can now offer pre-registration by emailing your details to ssfrr-2010@inf.ed.ac.uk. Places will be allocated on a first-come-first-serve basis. Please include the following in your email: * your name * your institution and country * if you are a SICSA student (matriculation number in case you are) * your research area/topic ORGANISERS --------- The summer school is jointly organised by The School of Informatics at Edinburgh University and The School of Mathematical and Computer Sciences at Heriot-Watt University by: * Lucas Dixon (Edinburgh) * Gudmund Grov (Edinburgh) * Ewen Maclean (Heriot-Watt) CONTACT --------- The organisers can be contacted at the following email address: ssfrr-2010@inf.ed.ac.uk. -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. From david.vollbracht at gmail.com Fri Feb 19 18:39:59 2010 From: david.vollbracht at gmail.com (David Vollbracht) Date: Fri Feb 19 18:10:39 2010 Subject: [Haskell] First Atlanta Function Programming Users Group Meeting Message-ID: <9ceca4a21002191539u55bfbc33m11ab6ec5825b8454@mail.gmail.com> For any functional programmers in or around Atlanta, GA, The Atlanta Functional Programming Users Group is having its first Meeting! Date: Monday March 1st Time: 7pm Location: ThoughtWorks' Atlanta Office! 3003 Summit Blvd, 14th Floor Atlanta, GA 30319 t: +1 404 460 5634 Agenda: * An introduction to Haskell by David Vollbracht. * Discussion regarding our future meet ups. (Pizza and drinks will be provided) If you'd like to join the group or just receive further communications about meetings and activities, join our google group here: http://groups.google.com/group/AFPUG Thank you for your attention, David Vollbracht From korpios at korpios.com Fri Feb 19 19:12:09 2010 From: korpios at korpios.com (Tom Tobin) Date: Fri Feb 19 18:42:49 2010 Subject: [Haskell] First Atlanta Function Programming Users Group Meeting In-Reply-To: <9ceca4a21002191539u55bfbc33m11ab6ec5825b8454@mail.gmail.com> References: <9ceca4a21002191539u55bfbc33m11ab6ec5825b8454@mail.gmail.com> Message-ID: On Fri, Feb 19, 2010 at 5:39 PM, David Vollbracht wrote: > For any functional programmers in or around Atlanta, GA, > > The Atlanta Functional Programming Users Group is having its first Meeting! That's great! We recently started a group here in Chicago; I'm crossing my fingers that we'll end up with FP and/or Haskell groups in all the major North American cities before too long. Be sure to add your group to the page here: http://haskell.org/haskellwiki/User_groups From igloo at earth.li Sat Feb 20 08:38:26 2010 From: igloo at earth.li (Ian Lynagh) Date: Sat Feb 20 08:09:04 2010 Subject: [Haskell] {darcs,hackage,cvs}.haskell.org, monk.galois.com Message-ID: <20100220133826.GA20833@matrix.chaos.earth.li> Hi all, monk is just days away from being turned off, so if you want to get anything off of it before that happens, you need to do it now. More information here: http://www.haskell.org/pipermail/haskell/2010-January/021861.html Thanks Ian From uzytkownik2 at gmail.com Sat Feb 20 18:38:46 2010 From: uzytkownik2 at gmail.com (Maciej Piechotka) Date: Sat Feb 20 18:09:21 2010 Subject: [Haskell] ANNOUNCE: ioctl 0.0.1 Message-ID: <1266709126.29755.44.camel@picard> A package for type-safe I/O control. Currently only ioctl is supported. Currently simply a extract from my tuntap fork TODO: - Return the integer as well as structure (will break the API) - Port for Windows Network.Socket.IOCtl (as soon as I manage to setup some sane environment on this platform) - Wrapping around DeviceIoControl Example (in hsc): data NotRead = NotRead instance NotRead Int where ioctlReq _ = #const FIONREAD notRead s = ioctlsocket' s NotRead Regards -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part Url : http://www.haskell.org/pipermail/haskell/attachments/20100220/c5d7525b/attachment.bin From jejansse at gmail.com Sun Feb 21 17:55:41 2010 From: jejansse at gmail.com (Jeroen Janssen) Date: Sun Feb 21 17:26:17 2010 Subject: [Haskell] Functional Programming User Group Ghent Message-ID: <8B6A33CA-B550-4B44-96D8-C8CE9B6959C6@gmail.com> Dear all, We are in the progress of starting up a Functional Programming User Group in Ghent. The basic idea of the group is to have occasional informal meetings where people can give talks, where we have invited speakers, where we go to a bar to chat about all things Functional Programming, to organize Haskell Hacking events etc. To see if enough people would be interested in such a group, and to make the organizing process of the first meeting easier, we would like to ask anyone interested to tick off the dates he/she is available on the Doodle-page provided below. Note that the indicated time is only a rough guideline; if you would prefer another time of day, you can indicate this in the Comments section of the Doodle. http://www.doodle.com/xq2i5hsueidwkh2f If enough people are interested, and a date is decided upon, we will e-mail the Haskell list once more to confirm the date and give anyone who was interested, but could not fill in the doodle, a chance to be present. Also, this ensures that you do not have to leave your e-mail address on Doodle. If you have any questions, do not hecessitate to contact one of us at either Bart.Coppens@UGent.be jejansse@gmail.com Kind Regards, Bart Coppens Jeroen Janssen -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20100221/f28f05bd/attachment-0001.html From waldmann at imn.htwk-leipzig.de Mon Feb 22 07:30:14 2010 From: waldmann at imn.htwk-leipzig.de (Johannes Waldmann) Date: Mon Feb 22 07:00:50 2010 Subject: [Haskell] CFP: Workshop on Termination (WST 2010, Edinburgh, July 14-15) Message-ID: <4B8278D6.6030708@imn.htwk-leipzig.de> Dear all, the 11th Intl. Workshop on Termination welcomes contributions from the functional programming community. See the general call for papers: http://imada.sdu.dk/~petersk/WST2010/ and let me add a few words here. The typical functional (compiler) programmer needs - termination of programs - termination of program transformations (rules) - termination of program analysis (type checking/inference) So I'm sure the workshop topic is highly relevant, and we are looking for *your* contributions. The workshop provides a ground for cross-fertilisation of ideas from term rewriting and from the different programming language communities. We hope to attain the same friendly atmosphere as in past workshops, which enabled fruitful exchanges leading to joint research and subsequent publications. Also, we have an annual competition for automated termination provers, http://termination-portal.org/wiki/Termination_Competition and since 2007 it contains a Haskell category. http://termination-portal.org/wiki/Functional_Programming The problems there are taken directly from the Standard Prelude. The state of the art in automated Haskell termination is pretty much defined by the AProVE team (Aachen University), nicely summarized here: http://aprove.informatik.rwth-aachen.de/eval/Haskell/ Best regards, Johannes Waldmann. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature Url : http://www.haskell.org/pipermail/haskell/attachments/20100222/9e11c30d/signature.bin From lemming at henning-thielemann.de Mon Feb 22 11:58:10 2010 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Mon Feb 22 11:29:00 2010 Subject: [Haskell] Citing Hackage with bibtex package Message-ID: Hi, I have uploaded a new package version of 'bibtex' [1] that adds a new example program for generating a bibliography file for all packages on Hackage. This way you can easily cite a package from Hackage in your LaTeX documents. See [2] for a bibliography for a current snapshot. [1] http://hackage.haskell.org/package/bibtex-0.0.3 [2] http://code.haskell.org/~thielema/bibtex/hackage.bib Regards Henning Thielemann From Malcolm.Wallace at cs.york.ac.uk Mon Feb 22 12:08:14 2010 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Mon Feb 22 11:39:25 2010 Subject: [Haskell] Haskell prime: the sequel (2011) Message-ID: <3BACDBA9-A0ED-4B1D-B8E2-CA7D5F24CDF3@cs.york.ac.uk> http://hackage.haskell.org/trac/haskell-prime The new committee for Haskell language standardisation has been appointed, based on public nominations. I am the new chair. http://hackage.haskell.org/trac/haskell-prime/wiki/Committee In case you missed it, the previous committee resulted in the minor revision of the language called Haskell 2010. The next revision (Haskell 2011) is due to be decided later this year, around October- November, and published by the beginning of 2011. I would like to emphasise that the future of Haskell is in the hands of the whole community - and that means you. The committee's role is to make decisions, but the task of making and refining proposals belongs with the language's users. Please cogitate, agitate, and formulate! Here is how to get your language idea accepted: http://hackage.haskell.org/trac/haskell-prime/wiki/Process (Don't forget that you can propose _removal_ of features, as well as additions.) Regards, Malcolm From jfredett at gmail.com Mon Feb 22 12:42:02 2010 From: jfredett at gmail.com (jfredett@gmail.com) Date: Mon Feb 22 12:12:37 2010 Subject: [Haskell] Haskell Weekly News: Issue 150 - February 22, 2010 Message-ID: <4b82c1ea.9f15f10a.7c2d.647e@mx.google.com> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20100222 Issue 150 - February 22, 2010 --------------------------------------------------------------------------- Welcome to issue 150 of HWN, a newsletter covering developments in the [1]Haskell community. From the very pits of Harddrive failure I return... The Haskell Weekly News Reborn! Last week, on friday, my HWN machine suffered what can only be appropriately named a unbelievably poorly timed hard drive failure, hence the lack of an HWN. I trumphently return this week with a megaedition. Tons and tons of awesome stuff happened in the last two weeks. So I won't make you wait any longer, haskellers, your Haskell Weekly News! Announcements vty-ui 0.3. Jonathan Daugherty [2]announced a new version of vty-ui, featuring a richer rendering engine, generalized text transformations, and a more functional style. darcs 2.4 release candidate 2. Reinier Lamers [3]announced a new release candidate for darcs 2.4. iteratee-parsec 0.0.1. Maciej Piechotka [4]announced the release of iteratee-parsec, a library whih provides support for parsec parsers in an Iteratee monad. concurrent-extra-0.1. Roel van Dijk [5]announced the release of concurrent-extra, which provides a few new synchronization primitives. wyvern, a Dragon Go Server 'client'. wagnerdm [6]announced wyvern, a Dragon Go Server 'client', which plays moves for you on the [7]Dragon Go Server. atom-1.0.0. Tom Hawkins [8]announced a new major release of the atom library. Call for Copy: Monad.Reader Issue 16. Brent Yorgey [9]announced the call for copy for Monad.Reader issue 16. hmatrix 0.8.3. Alberto Ruiz [10]announced a new version of hmatrix. First Atlanta Function Programming Users Group Meeting. David Vollbracht [11]announced the first Atlanta FP Group meetup. TFP 2010 - Call for Papers and Participation. Simon Marlow [12]announced a call for papers and particpation in TFP 2010, the 11th Symposium on Trends in Functional Programming. CMCS 2010: Call for Short Submissions & Call for Participation. Alexandra Silva [13]announced a call for short submissions and participation in the 10th International Workshop on Coalgebraic Methods in Computer Science. WGP 2010 Call for Papers. Bruno Oliveira [14]announced a call for papers for Workshop on Generic Programming. ICE 2010: First call for papers. Alexandra Silva [15]announced the first call for papers for ICE2010, the 3rd Interation and Concurrency Experience workshop. Call for Papers: Haskell Symposium 2010. Jeremy.Gibbons [16]announced a call for papers for the 2010 Haskell Symposium. Dungeons of Wor - a largish FRP example and a fun game, all in one! Patai Gergely [17]announced Dungeons of Wor, a Game written in Haskell using the Elerea library and Functional Reactive Techniques. Discussion The Related monad and constant values in type classes. Jonas Almstroem Duregard [18]talked about a common pattern which occurs when associating data with a type (as opposed to a value). Heterogeneous Data Structures - Nested Pairs and functional references. Guenther Schmidt [19]asked about different ways to implement heterogeonous datastructures. Blog noise [20]Haskell news from the [21]blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them! * Michael Snoyman: [22]Four HTTP Request Body Interfaces (repost). * Brent Yorgey: [23]Math.Combinatorics.Multiset. * Darcs: [24]darcs weekly news #55. * Galois, Inc: [25]Tech Talk: Modern Benchmarking in Haskell. * Ketil Malde: [26]Tools for pyrosequencing analysis. * Arch Haskell News: [27]Arch Haskell News: February 2010. * Don Stewart (dons): [28]Migrating from uvector to vector. * GHC / OpenSPARC Project: [29]Memory Barriers and GHC 6.12.1. * Darcs: [30]darcs weekly news #54. * Gergely Patai: [31]Behind the dungeons. * David Amos: [32]How to find a strong generating set. Quotes of the Week * fasta: And by cool, I mean 'that is not supposed to happen'. * uncyclopedia: Calculations which are undefined are denoted by the _|_ symbol, pronounced Bottom, which the documentation explains as the compiler giving you the finger. * Draconx|Laptop: mathematics is the art of finding different ways to write "therefore". * medfly: Cale, #haskell wants to know all your personal preferences so we can all copy you * Cale: Gentoo is a massive waste of electricity. * hobophobe: So, I can only conclude that Haskell is a memetic virus, and monads are the eggs it lays out in innocent programming forums to entice others to become infected. * benmachine: unsafeCoerce is just a generalisation of id * jmcarthur: what good is a state monad if your state is basically 'i have no idea what the hell my state is'? About the Haskell Weekly News New editions are posted to [33]the Haskell mailing list as well as to [34]the Haskell Sequence and [35]Planet Haskell. [36]RSS is also available, and headlines appear on [37]haskell.org. To help create new editions of this newsletter, please see the information on [38]how to contribute. Send stories to jfredett . at . gmail . dot . com. The darcs repository is available at darcs get [39]http://patch-tag.com/r/jfredett/HWN2/pullrepo HWN2 . References 1. http://haskell.org/ 2. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70589 3. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70563 4. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70533 5. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70485 6. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70344 7. http://www.dragongoserver.net/ 8. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70328 9. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70314 10. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70290 11. http://article.gmane.org/gmane.comp.lang.haskell.general/17802 12. http://article.gmane.org/gmane.comp.lang.haskell.general/17799 13. http://article.gmane.org/gmane.comp.lang.haskell.general/17791 14. http://article.gmane.org/gmane.comp.lang.haskell.general/17783 15. http://article.gmane.org/gmane.comp.lang.haskell.general/17779 16. http://article.gmane.org/gmane.comp.lang.haskell.general/17778 17. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70188 18. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/70492 19. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/70450 20. http://planet.haskell.org/ 21. http://haskell.org/haskellwiki/Blog_articles 22. http://snoyberg.wordpress.com/2010/02/21/four-http-request-body-interfaces-repost/ 23. http://byorgey.wordpress.com/2010/02/20/math-combinatorics-multiset/ 24. http://blog.darcs.net/2010/02/darcs-weekly-news-55.html 25. http://www.galois.com/blog/2010/02/19/tech-talk-modern-benchmarking-in-haskell/ 26. http://blog.malde.org/index.php/2010/02/19/tools-for-pyrosequencing-analysis/ 27. http://archhaskell.wordpress.com/2010/02/19/arch-haskell-news-february-2010/ 28. http://donsbot.wordpress.com/2010/02/15/migrating-from-uvector-to-vector/ 29. http://ghcsparc.blogspot.com/2010/02/memory-barriers-and-ghc-6121.html 30. http://blog.darcs.net/2010/02/darcs-weekly-news-54.html 31. http://just-bottom.blogspot.com/2010/02/behind-dungeons.html 32. http://haskellformaths.blogspot.com/2010/02/how-to-find-strong-generating-set.html 33. http://www.haskell.org/mailman/listinfo/haskell 34. http://sequence.complete.org/ 35. http://planet.haskell.org/ 36. http://sequence.complete.org/node/feed 37. http://haskell.org/ 38. http://haskell.org/haskellwiki/HWN 39. http://patch-tag.com/r/jfredett/HWN2/pullrepo%20HWN2 From vandijk.roel at gmail.com Mon Feb 22 13:33:17 2010 From: vandijk.roel at gmail.com (Roel van Dijk) Date: Mon Feb 22 13:03:54 2010 Subject: [Haskell] ANN: concurrent-extra-0.2 Message-ID: Hello, We would like to announce an update of concurrent-extra [1]. Bug fixes: - A bug in RLock.acquire (thanks to Felipe Lessa). New features: - Broadcast: Wake multiple threads by broadcasting a value. This is a generalisation of Event. - Thread: Threads extended with the ability to wait for their termination. - delay: Arbitrarily long thread delays. - timeout: Wait arbitrarily long for an IO computation to finish. The lightweight thread wrapper was inspired by the threadmanager package [2]. The main advantage of our implementation is that we don't maintain an internal mapping from ThreadId to ThreadStatus. Instead we rely on the forked thread to broadcast its status to interested listeners. This should result in better performance (no lookup required). Every exported symbol is now documented. Regards, Roel & Bas van Dijk [1] http://hackage.haskell.org/package/concurrent-extra-0.2 [2] http://hackage.haskell.org/package/threadmanager-0.1.3 From v.dijk.bas at gmail.com Mon Feb 22 14:13:17 2010 From: v.dijk.bas at gmail.com (Bas van Dijk) Date: Mon Feb 22 13:44:14 2010 Subject: [Haskell] Re: [Haskell-cafe] ANN: concurrent-extra-0.2 In-Reply-To: References: Message-ID: 2010/2/22 Roel van Dijk : > Hello, > > We would like to announce an update of concurrent-extra [1]. > > Bug fixes: > ?- A bug in RLock.acquire (thanks to Felipe Lessa). > > New features: > > ?- Broadcast: Wake multiple threads by broadcasting a value. This > ? is a generalisation of Event. > ?- Thread: Threads extended with the ability to wait for their > ? termination. > ?- delay: Arbitrarily long thread delays. > ?- timeout: Wait arbitrarily long for an IO computation to finish. > > The lightweight thread wrapper was inspired by the threadmanager > package [2]. The main advantage of our implementation is that we > don't maintain an internal mapping from ThreadId to > ThreadStatus. Instead we rely on the forked thread to broadcast > its status to interested listeners. This should result in better > performance (no lookup required). > > Every exported symbol is now documented. > > > Regards, > Roel & Bas van Dijk > > [1] http://hackage.haskell.org/package/concurrent-extra-0.2 > [2] http://hackage.haskell.org/package/threadmanager-0.1.3 > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > We just realized we missed an important opportunity in Control.Concurrent.Thread: When we fork the IO computation... http://hackage.haskell.org/packages/archive/concurrent-extra/0.2/doc/html/src/Control-Concurrent-Thread.html#fork ...we catch its potential exception and notify our listeners by wrapping the exception into Just and broadcasting it. However when the computation terminates normally without throwing an exception we notify our listeners by broadcasting Nothing, ignoring its return value (>>). This is unfortunate because we can easily broadcast the return value by choosing an 'Either SomeException a' instead of 'Maybe SomeException'. We have released a new version 0.3 that changes this: http://hackage.haskell.org/package/concurrent-extra-0.3 darcs get http://code.haskell.org/concurrent-extra regards, Roel and Bas van Dijk From DekuDekuplex at Yahoo.com Tue Feb 23 20:50:01 2010 From: DekuDekuplex at Yahoo.com (Benjamin L. Russell) Date: Tue Feb 23 20:20:42 2010 Subject: [Haskell] Re: Haskell Weekly News: Issue 150 - February 22, 2010 In-Reply-To: <4b82c1ea.9f15f10a.7c2d.647e@mx.google.com> References: <4b82c1ea.9f15f10a.7c2d.647e@mx.google.com> Message-ID: <4B8485C9.9010808@Yahoo.com> jfredett@gmail.com wrote: > [snip] > > From the very pits of Harddrive failure I return... The Haskell Weekly > News Reborn! Last week, on friday, my HWN machine suffered what can > only be appropriately named a unbelievably poorly timed hard drive > failure, hence the lack of an HWN.... That sounds like a disaster to me; do you keep a backup of the contents of your hard drive (at least the HWN-related material)? -- Benjamin L. Russell -- Benjamin L. Russell / DekuDekuplex at Yahoo dot com http://dekudekuplex.wordpress.com/ Translator/Interpreter / Mobile: +011 81 80-3603-6725 "Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^ From icfp.publicity at googlemail.com Wed Feb 24 15:11:06 2010 From: icfp.publicity at googlemail.com (Wouter Swierstra) Date: Wed Feb 24 14:41:35 2010 Subject: [Haskell] ICFP 2010: Second call for papers Message-ID: <53ff55481002241211v11e197fag9b9d3b3ed9ba3b38@mail.gmail.com> ===================================================================== Second Call for Papers ICFP 2010: International Conference on Functional Programming Baltimore, Maryland, 27 -- 29 September 2010 http://www.icfpconference.org/icfp2010 ===================================================================== Important Dates (at 14:00 UTC) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Submission: 2 April 2010 Author response: 24 -- 25 May 2010 Notification: 7 June 2010 Final papers due: 12 July 2010 Scope ~~~~~ ICFP 2010 seeks original papers on the art and science of functional programming. Submissions are invited on all topics from principles to practice, from foundations to features, from abstraction to application. The scope includes all languages that encourage functional programming, including both purely applicative and imperative languages, as well as languages with objects or concurrency. Particular topics of interest include * Language Design: type systems; concurrency and distribution; modules; components and composition; metaprogramming; relations to object-oriented or logic programming; interoperability * Implementation: abstract machines; compilation; compile-time and run-time optimization; memory management; multi-threading; exploiting parallel hardware; interfaces to foreign functions, services, components or low-level machine resources * Software-Development Techniques: algorithms and data structures; design patterns; specification; verification; validation; proof assistants; debugging; testing; tracing; profiling * Foundations: formal semantics; lambda calculus; rewriting; type theory; monads; continuations; control; state; effects * Transformation and Analysis: abstract interpretation; partial evaluation; program transformation; program calculation; program proof * Applications and Domain-Specific Languages: symbolic computing; formal-methods tools; artificial intelligence; systems programming; distributed-systems and web programming; hardware design; databases; XML processing; scientific and numerical computing; graphical user interfaces; multimedia programming; scripting; system administration; security; education * Functional Pearls: elegant, instructive, and fun essays on functional programming The conference also solicits Experience Reports, which are short papers that provide evidence that functional programming really works or describe obstacles that have kept it from working in a particular application. Abbreviated instructions for authors ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ By 2 April 2010, 14:00 UTC, submit an abstract of at most 300 words and a full paper of at most 12 pages (6 pages for an Experience Report), including bibliography and figures. The deadline will be strictly enforced and papers exceeding the page limits will be summarily rejected. Authors have the option to attach supplementary material to a submission, on the understanding that reviewers may choose not to look at it. A submission will be evaluated according to its relevance, correctness, significance, originality, and clarity. It should explain its contributions in both general and technical terms, clearly identifying what has been accomplished, explaining why it is significant, and comparing it with previous work. The technical content should be accessible to a broad audience. Functional Pearls and Experience Reports are separate categories of papers that need not report original research results and must be marked as such at the time of submission. Detailed guidelines on both categories are on the conference web site. Each submission must adhere to SIGPLAN's republication policy, as explained on the web at http://www.acm.org/sigplan/republicationpolicy.htm. Proceedings will be published by ACM Press. Authors of accepted submissions are expected to transfer the copyright to the ACM. Presentations will be videotaped and released online if the presenter consents by signing an additional permission form at the time of the presentation. Formatting: Submissions must be in PDF format printable in black and white on US Letter sized paper and interpretable by Ghostscript. If this requirement is a hardship, make contact with the program chair at least one week before the deadline. Papers must adhere to the standard ACM conference format: two columns, nine-point font on a ten-point baseline, with columns 20pc (3.33in) wide and 54pc (9in) tall, with a column gutter of 2pc (0.33in). A suitable document template for LATEX is available from SIGPLAN at http://www.acm.org/sigs/sigplan/authorInformation.htm. Submission: Submissions will be accepted electronically at a URL to be named later. Improved versions of a paper may be submitted at any point before the submission deadline using the same web interface. Author response: Authors will have a 48-hour period, starting at 14:00 UTC on 24 May 2010, to read and respond to reviews. Special Journal Issue: There will be a special issue of the Journal of Functional Programming with papers from ICFP 2010. The program committee will invite the authors of select accepted papers to submit a journal version to this issue. Organization ~~~~~~~~~~~~ Conference Chair Paul Hudak, Yale University Program Chair Stephanie Weirich, University of Pennsylvania Program Committee: Umut Acar, Max Planck Institute for Software Systems Zena Ariola, University of Oregon James Cheney, University of Edinburgh Peter Dybjer, Chalmers University of Technology Robert Bruce Findler, Northwestern University Andy Gill, Kansas University Fritz Henglein, University of Copenhagen Michael Hicks, University of Maryland, College Park Patricia Johann, University of Strathclyde Andres L?h, Utrecht University Simon L. Peyton Jones, Microsoft Research Didier R?my, INRIA Paris-Rocquencourt John Reppy, University of Chicago Manuel Serrano, INRIA Sophia-Antipolis Matthieu Sozeau, Harvard University From v.dijk.bas at gmail.com Wed Feb 24 17:08:29 2010 From: v.dijk.bas at gmail.com (Bas van Dijk) Date: Wed Feb 24 16:39:19 2010 Subject: [Haskell] Re: [Haskell-cafe] ANN: concurrent-extra-0.2 In-Reply-To: References: Message-ID: Hello, I discovered a bug in our: Control.Concurrent.Thread In the documentation of 'forkIO' we specify that the forked thread inherits the blocked state of its parent. However our implementation did not ensure this. The newly released concurrent-extra-0.3.1 fixes this. This release also adds the following function: -- |Like 'wait' but will rethrow the exception that was thrown in target thread. unsafeWait ? ThreadId ? ? IO ? unsafeWait tid = wait tid >>= either (\(SomeException e) ? throwIO e) return Documentation: http://hackage.haskell.org/package/concurrent-extra-0.3.1 To install this latest release do: cabal update cabal install concurrent-extra Or get the development sources using: darcs get http://code.haskell.org/concurrent-extra regards, Bas From leather at cs.uu.nl Thu Feb 25 17:43:00 2010 From: leather at cs.uu.nl (Sean Leather) Date: Thu Feb 25 17:13:49 2010 Subject: [Haskell] Interested in the Dutch HUG Day (24 April 2010)? Message-ID: <3c6288ab1002251443n35866dabued14d8839a81d7aa@mail.gmail.com> In honor of the first anniversary of the Dutch Haskell Users Group (formed at Hac5 in Utrecht), we are planning a mini symposium to bring together Haskell and functional programming enthusiasts in the Netherlands and surrounding area. *The Dutch HUG Day will be held on Saturday, 24 April.* Please mark that date in your calendar. The remaining details are being worked out. In order to help us with this process, we have created a short survey. If you are even remotely considering attending, please take a moment to fill out a form with your name and the activities that interest you. * http://spreadsheets.google.com/viewform?formkey=dGVuVTdnZEl0ZDE3MEVweUtRdmlnZGc6MA Note that this does not commit you to anything. We will only use this information to help plan the event (e.g. determine the number of seats at the location and the types of activities). For more information about the Dutch HUG, visit the wiki page and sign up for the mailing list. * http://www.haskell.org/haskellwiki/Dutch_HUG * http://groups.google.com/group/dutch-hug Thanks for your time! Sincerely, The Dutch HUG Day planning team -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell/attachments/20100225/dc8e95eb/attachment.html From vxc at Cs.Nott.AC.UK Fri Feb 26 06:54:54 2010 From: vxc at Cs.Nott.AC.UK (Venanzio Capretta) Date: Fri Feb 26 06:26:53 2010 Subject: [Haskell] MSFP: Call for Papers Message-ID: <4B87B68E.7000605@cs.nott.ac.uk> Third Workshop on MATHEMATICALLY STRUCTURED FUNCTIONAL PROGRAMMING 25 September 2010, Baltimore, USA A satellite workshop of ICFP 2010 PRESENTATION The workshop on Mathematically Structured Functional Programming is devoted to the derivation of functionality from structure. It is a celebration of the direct impact of Theoretical Computer Science on programs as we write them today. Modern programming languages, and in particular functional languages, support the direct expression of mathematical structures, equipping programmers with tools of remarkable power and abstraction. Monadic programming in Haskell is the paradigmatic example, but there are many more mathematical insights manifest in programs and in programming language design: Freyd-categories in reactive programming, symbolic differentiation yielding context structures, and comonadic presentations of dataflow, to name but three. This workshop is a forum for researchers who seek to reflect mathematical phenomena in data and control. The first MSFP workshop was held in Kuressaare, Estonia, in July 2006. Selected papers were published as a special issue of the Journal of Functional Programming (volume 19, issue 3-4). The second MSFP workshop was held in Reykjavik, Iceland as part of ICALP 2008. SUBMISSIONS Papers must report previously unpublished work and not be submitted concurrently to another conference with refereed proceedings. Programme Committee members, barring the co-chairs, may (and indeed are encouraged to) contribute. Accepted papers must be presented at the workshop by one of the authors. There is no specific page limit, but authors should strive for brevity. We are using the EasyChair software to manage submissions. To submit a paper, please log in at: http://www.easychair.org/conferences/?conf=msfp2010 The workshop proceedings will be published by ACM. TIMELINE: Submission of abstracts: 9 April Submission of papers: 16 April Notification: 28 May Final versions due: 25 June Workshop: 25 September For more information about the workshop, go to: http://cs.ioc.ee/msfp/msfp2010/ Programme Committee * Andreas Abel, LMU Munich, Germany * Ana Bove, Chalmers University of Technology, Gothenburg, Sweden * Andrej Bauer, University of Ljubljana, Slovenia * Venanzio Capretta (co-chair), University of Nottingham, UK * James Chapman (co-chair), Institute of Cybernetics, Tallinn, Estonia * Adam Chlipala, Harvard University, Cambridge, MA, USA * Catarina Coquand, Chalmers University of Technology, Gothenburg, Sweden * Karl Crary, Carnegie Mellon University, Pittsburgh, USA * Manuel Alcino Cunha, Universidade do Minho, Braga, Portugal * Andy Gill, University of Kansas, USA * Mauro Jaskelioff, Universidad Nacional de Rosario, Argentina * Oleg Kiselyov, FNMOC, Monterey, California, USA * Lionel Elie Mamane, Radboud University Nijmegen, The Netherlands * Conor McBride, University of Strathclyde, Glasgow, UK * Greg Morrisett, Harvard University, Cambridge, MA, USA * Russell O'Connor, McMaster University, Hamilton, Ontario, Canada * Benoit Razet, TIFR (Tata Institute of Fundamental research), India * Carsten Schrmann, IT University of Copenhagen, Denmark * Wouter Swierstra, Chalmers University of Technology, Gothenburg, Sweden * Tarmo Uustalu, Institute of Cybernetics, Tallinn, Estonia * Varmo Vene, University of Tartu, Estonia From tux_rocker at reinier.de Sat Feb 27 07:17:44 2010 From: tux_rocker at reinier.de (Reinier Lamers) Date: Sat Feb 27 06:48:15 2010 Subject: [Haskell] ANNOUNCE: darcs 2.4 Message-ID: <201002271317.55681.tux_rocker@reinier.de> Hi all, The darcs team is proud to announce the immediate availability of darcs 2.4. darcs 2.4 contains many improvements and bugfixes compared to darcs 2.3.1. Highlights are the faster operation of record, revert and related commands, and the experimental interactive hunk editing. This makes darcs 2.4 the latest and greatest in easy version control. The easiest way to install darcs is using the Haskell Platform [1]. If you have installed the Haskell Platform or cabal-install, you can install this beta release by doing: $ cabal update $ cabal install --reinstall darcs Alternatively, you can download the tarball from http://darcs.net/releases/darcs-2.4.tar.gz , and build it by hand as explained in the README file. Interactive hunk editing ------------------------ To try out interactive hunk editing, press 'e' when you are prompted with a hunk patch by 'darcs record'. You will then be shown an editor screen in which you can edit the state you want to record between the last two ruler lines. You can find more information about the hunk editing feature on http://wiki.darcs.net/HunkEditor . What's New ---------- A list of important changes since 2.3.1 is as follows: * Use fast index-based diffing everywhere (Petr) * Interactive patch splitting (Ganesh) * An 'optimize --upgrade' option to convert to hashed format in-place (Eric) * Hunk matching (Kamil Dworakowski, tat.wright) * Progress reporting is no longer deceptive (Roman) * A 'remove --recursive' option to remove a directory tree from revision control (Roman) * 'show files' accepts arguments to show a subset of tracked files (Luca) * A '--remote-darcs' flag for pushing to a host where darcs isn't called darcs * Many miscellaneous Windows improvements (Salvatore, Petr and others) * 'darcs send' now mentions the repository name in the email body (Joachim) * Handle files with boring names in the repository correctly (Petr) * Fix parsing of .authorspellings file (Tom??) * Various sane new command-line option names (Florent) * Remove the '--checkpoint' option (Petr) * Use external libraries for all UTF-8 handling (Eric, Reinier) * Use the Haskell zlib package exclusively for compression (Petr) A list of issues resolved since 2.3.1: * 183: do not sort changes --summary output * 223: add --remote-darcs flag to specify name of remote darcs executable * 291: provide (basic) interactive patch splitting * 540: darcs remove --recursive * 835: 'show files' with arguments * 1122: get --complete should not offer to create a lazy repository * 1216: list Match section in ToC * 1224: refuse to convert a repo that's already in darcs-2 format * 1300: logfile deleted on unsucessful record * 1308: push should warn about unpulled patches before patch-selection * 1336: sane error message on --last "" (empty string to numbers parser) * 1362: mention repo name in mail send body * 1377: getProgname for local darcs instances * 1392: use parsec to parse .authorspelling * 1424: darcs get wrongly reports "using lazy repository" if you ctrl-c old-fashioned get * 1447: different online help for send/apply --cc * 1488: fix crash in whatsnew when invoked in non-tracked directory * 1548: show contents requires at least one argument * 1554: allow opt-out of -threaded (fix ARM builds) * 1563: official thank-you page * 1578: don't put newlines in the Haskeline prompts * 1583: on darcs get, suggest upgrading source repo to hashed * 1584: provide optimize --upgrade command * 1588: add --skip-conflicts option * 1594: define PREPROCHTML in makefile * 1620: make amend leave a log file when it should * 1636: hunk matching * 1643: optimize --upgrade should do optimize * 1652: suggest cabal update before cabal install * 1659: make restrictBoring take recorded state into account * 1677: create correct hashes for empty directories in index * 1681: preserve log on amend failure * 1709: fix short version of progress reporting * 1712: correctly report number of patches to pull * 1720: fix cabal haddock problem * 1731: fix performance regression in check and repair * 1741: fix --list-options when option has multiple names * 1749: refuse to remove non-empty directories Performance ----------- darcs in its current form does not perform very well on huge repositories. In order to systematically address this issue, and to catch performance regressions, we have started a darcs benchmarking project. You can find benchmarks of darcs performance in many different situations on http://wiki.darcs.net/Benchmarks . On http://wiki.darcs.net/Benchmarks/Quasar you will find graphs of the benchmark results on a Windows Vista machine. On that page, you will also find instructions on how to run your own darcs benchmarks. Reporting bugs -------------- If you have an issue with darcs 2.4, you can report it via the web on http://bugs.darcs.net/ . You can also report bugs by email to bugs@darcs.net. Kind Regards, the darcs release manager, Reinier Lamers [1]: You can download the Haskell platform from http://hackage.haskell.org/platform/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 197 bytes Desc: This is a digitally signed message part. Url : http://www.haskell.org/pipermail/haskell/attachments/20100227/c4ba4fa5/attachment.bin From vxc at Cs.Nott.AC.UK Sun Feb 28 10:26:13 2010 From: vxc at Cs.Nott.AC.UK (Venanzio Capretta) Date: Sun Feb 28 09:57:26 2010 Subject: [Haskell] MSFP: Call for Papers Message-ID: <4B8A8B15.9040707@cs.nott.ac.uk> Third Workshop on MATHEMATICALLY STRUCTURED FUNCTIONAL PROGRAMMING 25 September 2010, Baltimore, USA A satellite workshop of ICFP 2010 PRESENTATION The workshop on Mathematically Structured Functional Programming is devoted to the derivation of functionality from structure. It is a celebration of the direct impact of Theoretical Computer Science on programs as we write them today. Modern programming languages, and in particular functional languages, support the direct expression of mathematical structures, equipping programmers with tools of remarkable power and abstraction. Monadic programming in Haskell is the paradigmatic example, but there are many more mathematical insights manifest in programs and in programming language design: Freyd-categories in reactive programming, symbolic differentiation yielding context structures, and comonadic presentations of dataflow, to name but three. This workshop is a forum for researchers who seek to reflect mathematical phenomena in data and control. The first MSFP workshop was held in Kuressaare, Estonia, in July 2006. Selected papers were published as a special issue of the Journal of Functional Programming (volume 19, issue 3-4). The second MSFP workshop was held in Reykjavik, Iceland as part of ICALP 2008. SUBMISSIONS Papers must report previously unpublished work and not be submitted concurrently to another conference with refereed proceedings. Programme Committee members, barring the co-chairs, may (and indeed are encouraged to) contribute. Accepted papers must be presented at the workshop by one of the authors. There is no specific page limit, but authors should strive for brevity. We are using the EasyChair software to manage submissions. To submit a paper, please log in at: http://www.easychair.org/conferences/?conf=msfp2010 The workshop proceedings will be published by ACM. TIMELINE: Submission of abstracts: 9 April Submission of papers: 16 April Notification: 28 May Final versions due: 25 June Workshop: 25 September For more information about the workshop, go to: http://cs.ioc.ee/msfp/msfp2010/ Programme Committee * Andreas Abel, LMU Munich, Germany * Ana Bove, Chalmers University of Technology, Gothenburg, Sweden * Andrej Bauer, University of Ljubljana, Slovenia * Venanzio Capretta (co-chair), University of Nottingham, UK * James Chapman (co-chair), Institute of Cybernetics, Tallinn, Estonia * Adam Chlipala, Harvard University, Cambridge, MA, USA * Catarina Coquand, Chalmers University of Technology, Gothenburg, Sweden * Karl Crary, Carnegie Mellon University, Pittsburgh, USA * Manuel Alcino Cunha, Universidade do Minho, Braga, Portugal * Andy Gill, University of Kansas, USA * Mauro Jaskelioff, Universidad Nacional de Rosario, Argentina * Oleg Kiselyov, FNMOC, Monterey, California, USA * Lionel Elie Mamane, Radboud University Nijmegen, The Netherlands * Conor McBride, University of Strathclyde, Glasgow, UK * Greg Morrisett, Harvard University, Cambridge, MA, USA * Russell O'Connor, McMaster University, Hamilton, Ontario, Canada * Benoit Razet, TIFR (Tata Institute of Fundamental research), India * Carsten Schrmann, IT University of Copenhagen, Denmark * Wouter Swierstra, Chalmers University of Technology, Gothenburg, Sweden * Tarmo Uustalu, Institute of Cybernetics, Tallinn, Estonia * Varmo Vene, University of Tartu, Estonia From DekuDekuplex at Yahoo.com Sun Feb 28 17:48:07 2010 From: DekuDekuplex at Yahoo.com (Benjamin L. Russell) Date: Sun Feb 28 17:18:36 2010 Subject: [Haskell] ANN: Try Haskell! An interactive tutorial in your browser Message-ID: According to the top page of HaskellWiki (see http://www.haskell.org/) (under "February 2010" under "1 Headlines"), there is an alpha version of a new interactive, online Haskell interpreter entitled "Try Haskell!" at http://tryhaskell.org/. The top panel of the page features an interactive interpreter, while the bottom panel features a text tutorial. The user types in commands in the top panel according to the text tutorial, and the interpreter responds with output. There is also a "Reset" button in the upper right corner of the tool which resets the state of both panels to the default state. I just tried it out, and it appears to have been completed up to Lesson 3. So far, it apparently teaches up to lists. It was fun to try out. This tutorial somehow reminded me of an interactive Scheme tutorial, "Lists And Lists," copyrighted in 1996 by Andrew Plotkin, at http://parchment.googlecode.com/svn/trunk/parchment.html?story=http://parchment.toolness.com/if-archive/games/zcode/lists.z5.js. That tutorial was arranged in the style of an adventure game, while this tutorial is more similar to a very similar Ruby tutorial, "try ruby! (in your browser)" at http://TryRuby.org/. It could be fun if somebody could come up with a Haskell version of the above-mentioned"Lists And Lists," which also includes a text-based Scheme reference on the virtual computer within the adventure game. -- Benjamin L. Russell -- Benjamin L. Russell / DekuDekuplex at Yahoo dot com http://dekudekuplex.wordpress.com/ Translator/Interpreter / Mobile: +011 81 80-3603-6725 "Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^ From hectorg87 at gmail.com Sun Feb 28 19:21:28 2010 From: hectorg87 at gmail.com (Hector Guilarte) Date: Sun Feb 28 18:52:01 2010 Subject: [Haskell] ANN: Try Haskell! An interactive tutorial in your browser In-Reply-To: References: Message-ID: <69630b261002281621wedd56aey5c70e70deab951ed@mail.gmail.com> Nice! I tried it and it worked perfectly, however I tried it again 45 minutes later (about 15 minutes ago) and when I pressed Enter nothing happened. I couldn't enter any expressions. The only expression I could enter was help Hector On Sun, Feb 28, 2010 at 6:18 PM, Benjamin L. Russell wrote: > According to the top page of HaskellWiki (see http://www.haskell.org/) > (under "February 2010" under "1 Headlines"), there is an alpha version > of a new interactive, online Haskell interpreter entitled "Try Haskell!" > at http://tryhaskell.org/. > > The top panel of the page features an interactive interpreter, while the > bottom panel features a text tutorial. The user types in commands > in the top panel according to the text tutorial, and the interpreter > responds with output. There is also a "Reset" button in the upper right > corner of the tool which resets the state of both panels to the default > state. > > I just tried it out, and it appears to have been completed up to Lesson > 3. So far, it apparently teaches up to lists. It was fun to try out. > > This tutorial somehow reminded me of an interactive Scheme tutorial, > "Lists And Lists," copyrighted in 1996 by Andrew Plotkin, at > > http://parchment.googlecode.com/svn/trunk/parchment.html?story=http://parchment.toolness.com/if-archive/games/zcode/lists.z5.js > . > That tutorial was arranged in the style of an adventure game, while this > tutorial is more similar to a very similar Ruby tutorial, "try ruby! (in > your browser)" at http://TryRuby.org/. > > It could be fun if somebody could come up with a Haskell version of > the above-mentioned"Lists And Lists," which also includes a text-based > Scheme reference on the virtual computer within the adventure game. > > -- Benjamin L. Russell > -- > Benjamin L. Russell / DekuDekuplex at Yahoo dot com > http://dekudekuplex.wordpress.com/ > Translator/Interpreter / Mobile: +011 81 80-3603-6725 > "Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^ > > _______________________________________________ > 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/20100228/4b7407c1/attachment.html From ivan.miljenovic at gmail.com Sun Feb 28 19:29:34 2010 From: ivan.miljenovic at gmail.com (Ivan Miljenovic) Date: Sun Feb 28 18:59:45 2010 Subject: [Haskell] ANN: Try Haskell! An interactive tutorial in your browser In-Reply-To: <69630b261002281621wedd56aey5c70e70deab951ed@mail.gmail.com> References: <69630b261002281621wedd56aey5c70e70deab951ed@mail.gmail.com> Message-ID: On 1 March 2010 11:21, Hector Guilarte wrote: > I tried it and it worked perfectly, however I tried it again 45 minutes > later (about 15 minutes ago) and when I pressed Enter nothing happened. I > couldn't enter any expressions. The only expression I could enter was help > Hector "stepN" works for me as well (with N \in Z^+). -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com From john at repetae.net Sun Feb 28 20:52:14 2010 From: john at repetae.net (John Meacham) Date: Sun Feb 28 20:22:33 2010 Subject: [Haskell] ANNOUNCE: jhc-0.7.3 Message-ID: <20100301015213.GC30053@sliver.repetae.net> It's been a long time coming, but jhc-0.7.3 is here. If you have been following the darcs repository, there are not a whole lot of new changes, but there have been substantial fixes since 0.7.2 for those that use the tarballs or rpms. http://repetae.net/computer/jhc/ One of the most important ones is I have begun the process of standardizing on YAML for all external interfaces that may be useful to automation, this should make interfacing jhc with external tools written in any language much easier, and it will prevent me from spending time trying to invent proprietary formats every time I think of something new to spit out. right now it is used in 3 places: - dumping dependency info with --deps - library dumping with --list-libraries -v - annotating source code, for inputting to documentation generators via --annotate-source The main place it isn't used yet that I desire too is to replace the 'cabal' library description format with a true YAML file. jhc cabal files were never quite compatible with cabal ones anyway and naming them the same thing has been a source of connfusion. some of the other changes have been: features: - a lot more regression tests, many user submitted bugs are now regressions (or fixed) - support for using 'mock' to build rpms - System.Exit, System.Cmd added to base - better compatibility with ghc in some library functions - ui improvements in showing progress and errors - extended --list-libraries info - --deps dependency dumping - more francise compatible thanks to patches from droundy - more instances for bigger tuples added - uses editline if readline not available - select libraries by hash as well as version - add System.IO.Pipe - detect version of gcc needed for cross compiling to windows performance: - storage analysis - a very basic region inference enabled by default - deadcode analysis can see through partial applications now - profiled and sped up some library routines that were producing inellegant core. - figure out when top level grin functions call themselves recursively and turn them into explicit loops. bug fixes: - do expression in infix - fix strict newtype bug - U2U bug fixed - desugaring inside of list comprehensions fix - c generator doesn't mess up on unknown values - the compiler version is stored in the cache files, so multiple versions of jhc don't clobber each others cache entries - Ord instance for lists fixed - recursive type synonyms detected properly - make sure errno.h is included when errno is referenced - don't give a parse error when seeing ghc extensions to INLINE - qualified method names fix John -- John Meacham - ?repetae.net?john? - http://notanumber.net/ From jfredett at gmail.com Sun Feb 28 21:50:06 2010 From: jfredett at gmail.com (jfredett@gmail.com) Date: Sun Feb 28 21:20:25 2010 Subject: [Haskell] Haskell Weekly News: Issue 151 - February 28, 2010 Message-ID: <4b8b2b5e.1ac1f10a.1057.ffffa6d0@mx.google.com> --------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20100228 Issue 151 - February 28, 2010 --------------------------------------------------------------------------- Welcome to issue 151 of HWN, a newsletter covering developments in the [1]Haskell community. A light HWN this week, some interesting discussion about view patterns and free monads. Also announced this week was [2]TryHaskell a work-in-progress online interactive haskell interpreter and tutorial. The author (based on his reddit post) has asked us not to post this to proggit yet, but I don't think he'll mind a plug here. So after you're done reading, give it a try! Until next week, haskellers, your Haskell Weekly News. Announcements wxHaskell for ghc-6.12.1. Daniel Fischer [3]announced a new release of wxHaskell. concurrent-extra-0.2. Roel van Dijk [4]announced a new release of concurrent-extra jhc-0.7.3. John Meacham [5]announced a new version of jhc, including many bug fixes. Try Haskell! An interactive tutorial in your browser. Benjamin L. Russell [6]told us about the TryHaskell Project, available at [7]TryHaskell.org. TryHaskell is an interactive, online Haskell interpreter and tutorial. MSFP: Call for Papers. Venanzio Capretta [8]announced a call for papers for the Third Workshop on Mathematically Structured Functional Programming. HLedger 0.8. Simon Michael [9]announced a new version of hledger last week, but it slipped through my radar. This release includes bug fixes, some refactoring, and High-Res Graphical Chart generation capability. Discussion View patterns. Andrew Coppin [10]asked about making view patterns polymorphic. What are 'free' Monads? Guenther Schmidt [11]asked what exactly it meant to be a 'free monad' Multiple Interpretations for a monad? Guenther Schmidt [12]asked about monads which can have multiple levels of meaning and interpretation. Blog noise [13]Haskell news from the [14]blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them! * Joachim Breitner: [15]Exploiting sharing in arbtt. * Martijn van Steenbergen: [16]Colors in GHCi. * Don Stewart (dons): [17]Evaluation strategies and synchronization: things to watch for. * Don Stewart (dons): [18]Fusion makes functional programming fun!. * Michael Snoyman: [19]Simpler is Better. * Kevin Reid (kpreid): [20]Hvm.hs: an exercise in Haskell golf. * Bryn Keller: [21]Why Isn't Cabal Installed with GHC?. * Don Stewart (dons): [22]Modern Benchmarking in Haskell. Quotes of the Week * roconnor: sounds like you need a zygohistomorphic prepromorphism * copumpkin: These are not the monads you are looking for. * noggle: this language is like having programming super powers About the Haskell Weekly News New editions are posted to [23]the Haskell mailing list as well as to [24]the Haskell Sequence and [25]Planet Haskell. [26]RSS is also available, and headlines appear on [27]haskell.org. To help create new editions of this newsletter, please see the information on [28]how to contribute. Send stories to jfredett . at . gmail . dot . com. The darcs repository is available at darcs get [29]http://patch-tag.com/r/jfredett/HWN2/pullrepo HWN2 . References 1. http://haskell.org/ 2. http://tryhaskell.org/ 3. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70857 4. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70689 5. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70961 6. http://article.gmane.org/gmane.comp.lang.haskell.general/17819 7. http://tryhaskell.org/ 8. http://article.gmane.org/gmane.comp.lang.haskell.general/17818 9. http://www.haskell.org/pipermail/haskell-cafe/2010-February/073185.html 10. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70895 11. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70874 12. http://article.gmane.org/gmane.comp.lang.haskell.cafe/70800 13. http://planet.haskell.org/ 14. http://haskell.org/haskellwiki/Blog_articles 15. https://www.joachim-breitner.de/blog/archives/381-Exploiting-sharing-in-arbtt.html 16. http://martijn.van.steenbergen.nl/journal/2010/02/27/colors-in-ghci/ 17. http://donsbot.wordpress.com/2010/02/26/evaluation-strategies-and-synchronization-things-to-watch-for/ 18. http://donsbot.wordpress.com/2010/02/26/fusion-makes-functional-programming-fun/ 19. http://snoyberg.wordpress.com/2010/02/26/simpler-is-better/ 20. http://kpreid.livejournal.com/23060.html 21. http://www.xoltar.org/?p=33 22. http://donsbot.wordpress.com/2010/02/23/modern-benchmarking-in-haskell/ 23. http://www.haskell.org/mailman/listinfo/haskell 24. http://sequence.complete.org/ 25. http://planet.haskell.org/ 26. http://sequence.complete.org/node/feed 27. http://haskell.org/ 28. http://haskell.org/haskellwiki/HWN 29. http://patch-tag.com/r/jfredett/HWN2/pullrepo%20HWN2