From sescobar at dsic.upv.es Mon Apr 2 12:40:25 2012 From: sescobar at dsic.upv.es (Santiago Escobar) Date: Mon, 2 Apr 2012 12:40:25 +0200 Subject: [Haskell] 6th International School on Rewriting (ISR), July 16-20, 2012 References: <3BF4288F-C37B-4F6F-868B-7C35D38E6384@dsic.upv.es> Message-ID: <2EFF8536-B193-4AB6-B5E8-2CCCDFD32372@dsic.upv.es> Call for Participation ISR 2012 6th International School on Rewriting http://www.dsic.upv.es/~isr2012 July 16th - 20th Universitat Politecnica de Valencia Valencia, Spain Rewriting is a branch of computer science whose origins go back to the origins of computer science itself (with Thue, Church, Post, and many other prominent researchers). It has strong links with mathematics, algebra, and logic, and it is the basis of well-known programming paradigms like functional and equational programming, which are taught at the universitary level in many countries. In these programming paradigms and corresponding languages, the notions of reduction, pattern matching, confluence, termination, strategy, etc., are essential. Rewriting provides a solid framework for understanding, using, and teaching all these notions. Rewriting techniques are also used in many other areas of software engineering (scripting, prototyping, automated transformation of legacy systems, refactoring, web services, etc.) and are implemented in popular systems like Mathematica, Autocad, and others. Rewriting techniques play a relevant role in computing research, education, and industry. The International School on Rewriting is promoted by the IFIP Working Group 1.6 Term Rewriting. The school is aimed at master and PhD students, researchers, and practitioners interested in the study of rewriting concepts and their applications. Two tracks are offered, including the lectures and the courses: - Track A: for newcomers in the field, or just for people who want to obtain a new, updated exposure. * Jose Meseguer. Introduction to Term Rewriting * Albert Rubio. Termination of Rewriting: Foundations and Automation * Santiago Escobar. A Rewriting-Based Specification and Programming Language: Maude * Beatriz Alarcon & Raul Gutierrez. Exercises on Term Rewriting - Track B: for those who want to get deeper in the most recent developments and applications of rewriting. * Maria Alpuente: Narrowing Techniques and Applications * Temur Kutsia: Matching, unification, and generalizations * Pierre Lescanne: Lambda Calculus: extensions and applications * Narciso Marti-Oliet: Rewriting Logic and Applications * Georg Moser: Automated Complexity Analysis of Term Rewriting Systems * Albert Oliveras: SAT and SMT techniques in Proof and Verification * Sophie Tison: Tree Automata, Turing Machines and Term Rewriting * Xavier Urbain: Certification of Rewriting Properties * Andrei Voronkov: Automated Reasoning and Theorem Proving Registration fees: 250 euro (early registration, before June 15, 2012) 350 euro (late registration, after June 15, 2012) Visit our web site for more information about registration and accommodation. The registration will be open in few weeks. For more information, please visit our web site or contact isr2012 at dsic.upv.es Organizing Committee: Salvador Lucas (chair) Beatriz Alarcon Santiago Escobar Marco A. Feliu Raul Gutierrez Sonia Santiago Alicia Villanueva From muddsnyder at yahoo.com Mon Apr 2 16:15:43 2012 From: muddsnyder at yahoo.com (Mark Snyder) Date: Mon, 2 Apr 2012 07:15:43 -0700 (PDT) Subject: [Haskell] (no subject) Message-ID: <1333376143.43561.YahooMailMobile@web120502.mail.ne1.yahoo.com> http://isukeworld.com/test/cat13/02efpk.html -------------- next part -------------- An HTML attachment was scrubbed... URL: From ggrov at staffmail.ed.ac.uk Mon Apr 2 16:32:55 2012 From: ggrov at staffmail.ed.ac.uk (Gudmund Grov) Date: Mon, 2 Apr 2012 15:32:55 +0100 Subject: [Haskell] WING 2012: Final Call for Papers -- Extended Deadline Message-ID: <7D682512-EC0C-4924-94D7-05B38EFF922A@staffmail.ed.ac.uk> [Please post - apologies for multiple copies.] *** Submission deadline extended to April 13, 2012 *** ---------------------------------------------------- WING 2012 - 4th International Workshop on INvariant Generation http://cs.nyu.edu/acsys/wing2012/ June 30, 2012 Manchester, UK (a satellite Workshop of IJCAR 2012) ---------------------------------------------------- --- Final Call for Papers --- General ------- The ability to automatically extract and synthesize auxiliary properties of programs has had a profound effect on program analysis, testing, and verification over the last several decades. A key impediment for program verification is the overhead associated with providing, debugging, and verifying auxiliary invariant annotations. Releasing the software developer from this burden is crucial for ensuring the practical relevance of program verification. In the context of testing, suitable invariants have the potential of enabling high-coverage test-case generation. Thus, invariant generation is a key ingredient in a broad spectrum of tools that help to improve program reliability and understanding. As the design and implementation of reliable software remains an important issue, any progress in this area will have a significant impact. The increasing power of automated theorem proving and computer algebra has opened new perspectives for computer-aided program verification; in particular for the automatic generation of inductive assertions in order to reason about loops and recursion. Especially promising breakthroughs are invariant generation techniques by Groebner bases, quantifier elimination, and algorithmic combinatorics, which can be used in conjunction with model checking, theorem proving, static analysis, and abstract interpretation. The aim of this workshop is to bring together researchers from these diverse fields. Scope ----- We encourage submissions presenting work in progress, tools under development, as well as work by PhD students, such that the workshop can become a forum for active dialogue between the groups involved in this new research area. Relevant topics include (but are not limited to) the following: * Program analysis and verification * Inductive Assertion Generation * Inductive Proofs for Reasoning about Loops * Applications to Assertion Generation using the following tools: - Abstract Interpretation, - Static Analysis, - Model Checking, - Theorem Proving, - Theory Formation, - Algebraic Techniques * Tools for inductive assertion generation and verification * Alternative techniques for reasoning about loops Invited speaker ----------------- * Aditya Nori (Microsoft Research) Committee ----------------- Program Chairs: * Gudmund Grov (University of Edinburgh, UK) * Thomas Wies (New York University, USA) Program Committee: * Clark Barrett (New York University, USA) * Nikolaj Bjorner (Microsoft Research, USA) * Gudmund Grov (University of Edinburgh, UK) * Ashutosh Gupta (IST Austria) * Bart Jacobs (Katholieke Universiteit Leuven, Belgium) * Moa Johansson (Chalmers University of Technology, Sweden) * Laura Kovacs (Vienna University of Technology, Austria) * David Monniaux (VERIMAG, France) * Enric Rodriguez Carbonell (Technical University of Catalonia, Spain) * Helmut Veith (Vienna University of Technology, Austria) * Thomas Wies (New York University, USA) Important Dates --------------- Submission deadline: April 13, 2012 Notification of acceptance: May 11, 2012 Final version due: June 08, 2012 Workshop: June 30, 2012 Submission ---------- WING 2012 encourages submissions in the following two categories: * Original papers: contain original research (simultaneous submissions are not allowed) and sufficient detail to assess the merits and relevance of the submission. Given the informal style of the workshop, papers describing work in progress, with sufficient detail to assess the contribution, are also welcome. Original papers should not exceed 15 pages. * Extended abstracts: contain preliminary reports of work in progress, case studies, or tool descriptions. These will be judged based on the expected level of interest for the WING community. They will be included in the CEUR-WS proceedings. Extended abstracts should not exceed 5 pages. All submissions should conform to Springer's LNCS format. Formatting style files can be found at http://www.springer.de/comp/lncs/authors.html Technical details may be included in an appendix to be read at the reviewers' discretion and to be omitted in the final version. Please prepare your submission in accordance with the rules described above and submit a pdf file via https://www.easychair.org/?conf=wing2012 Publication ----------- All submissions will be peer-reviewed by the program committee. Accepted contributions will be published in archived electronic notes, as a volume of CEUR Workshop Proceedings. A special issue of the Journal of Science of Computer Programming with extended versions of selected papers will be published after the workshop. -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. From Rachid.Echahed at imag.fr Wed Apr 4 07:21:57 2012 From: Rachid.Echahed at imag.fr (Rachid Echahed) Date: Wed, 04 Apr 2012 07:21:57 +0200 Subject: [Haskell] CFP: Graph Computation Models (GCM2012) In-Reply-To: <4F105058.5010104@imag.fr> References: <4E85734A.9040501@imag.fr> <4F105058.5010104@imag.fr> Message-ID: <4F7BDA75.9040404@imag.fr> ----------------------------------------------------------------------- CALL FOR PAPERS GCM 2012 Fourth International Workshop on Graph Computation Models Bremen, Germany, September 29th, 2012 http://gcm2012.imag.fr/ Part of ICGT2012 http://www.informatik.uni-bremen.de/icgt2012/ Full versions of best papers will be included in an issue of the the international journal of the "Electronic Communications of the EASST" -------------------------------------------------------------------------- Aims The aim of the International Workshop GCM2012 is to bring together researchers interested in all aspects of computation models based on graphs and graph transformation techniques. It promotes the cross-fertilizing exchange of ideas and experiences among researchers and students from the different communities interested in the foundations, applications, and implementations of graph computation models and related areas. GCM2012 is a one-day satellite event of ICGT 2012, which will take place in Bremen, Germany, from 24 to 29 of September 2012. Previous editions of GCM series were held in Natal, Brazil (GCM 2006), in Leicester, UK (GCM 2008) and in Enschede, The Netherlands (GCM 2010). ----------------------------------------------------------------------- Topics of Interest GCM 2012 solicits papers in all areas of Graph Computation Models including but not limited to: Foundations : Models of graph transformation; Parallel, concurrent, and distributed; graph transformations; Term graph rewriting; Logics on graphs and graph transformations; Formal graph languages Analysis and verification of graph transformation systems; Foundations of programming languages Applications : Software architecture; Software validation; Software evolution; Visual programming; Security models; Implementation of programming languages; Rule-based systems; Workflow and business processes; Model-driven engineering; Service-oriented applications; Bioinformatics and system biology; Quantum computing, Case-studies ----------------------------------------------------------------------- Important Dates Abstract Submission : July 8th, 2012 Paper Submission : July 15th, 2012 Acceptance Notification: August 13th, 2012 Preliminary Proceedings: September 2nd, 2012 Workshop : September 29th, 2012 ----------------------------------------------------------------------- Submissions and Publication Authors are invited to submit either regular papers (up to 15 pages), or position papers, system descriptions, work in progress, extended abstracts (5-7 pages), via the EasyChair system, at URL https://www.easychair.org/account/signin.cgi?conf=gcm2012 Submissions should be in PDF format, using Lecture Notes in Computer Science (LNCS) style. Preliminary proceedings will be distributed at the workshop. Selected authors will be invited to submit a full version of their papers after the workshop. These submissions will pass through a second round of reviewing and accepted contributions are to be published as a special issue of the international journal of the "Electronic Communications of the EASST". ----------------------------------------------------------------------- Program Committee * Paolo Baldan, University of Padova, Italy * Franck Drewes, Umea University, Sweden * Rachid Echahed (cochair), LIG Lab., Grenoble, France * Stefan Gruner, University of Pretoria, South Africa * Annegret Habel (cochair), University of Oldenburg, Germany * Dirk Janssens, University of Antwerp, Belgium * Hans-Joerg Kreowski, University of Bremen, Germany * Pascale Le Gall, University of Evry-Val d'Essonne, France * Mohamed Mosbah (cochair), University of Bordeaux, France * Detlef Plump, University of York, UK ----------------------------------------------------------------------- Organizers and contact * Annegret Habel, University of Oldenburg, Germany * Mohamed Mosbah, University of Bordeaux, France * Rachid Echahed, LIG Lab., Grenoble, France You can contact GCM 2012 organizers via gcm2012 at imag.fr ----------------------------------------------------------------------- From amal.j.ahmed at gmail.com Wed Apr 4 15:45:47 2012 From: amal.j.ahmed at gmail.com (Amal Ahmed) Date: Wed, 4 Apr 2012 09:45:47 -0400 Subject: [Haskell] HOPE 2012 (a new workshop co-located with ICFP): Call for Talk Proposals Message-ID: <430494CB-BE7C-46F7-8289-30EA867F8D9E@gmail.com> CALL FOR TALK PROPOSALS HOPE 2012 The 1st ACM SIGPLAN Workshop on Higher-Order Programming with Effects September 9, 2012 Copenhagen, Denmark (the day before ICFP 2012) http://hope2012.mpi-sws.org HOPE is a *new workshop* that is intended to bring together researchers interested in the design, semantics, implementation, and verification of higher-order effectful programs. It will be *informal*, consisting of invited talks, contributed talks on work in progress, and open-ended discussion sessions. This 1st edition of HOPE is dedicated to John Reynolds, whose work is an inspiration to us all. --------------------- Goals of the Workshop --------------------- A recurring theme in many papers at ICFP, and in the research of many ICFP attendees, is the interaction of higher-order programming with various kinds of effects: storage effects, I/O, control effects, concurrency, etc. While effects are of critical importance in many applications, they also make it hard to build, maintain, and reason about one's code. Higher-order languages (both functional and object-oriented) provide a variety of abstraction mechanisms to help "tame" or "encapsulate" effects (e.g. monads, ADTs, ownership types, typestate, first-class events, transactions, Hoare Type Theory, session types, substructural and region-based type systems), and a number of different semantic models and verification technologies have been developed in order to codify and exploit the benefits of this encapsulation (e.g. bisimulations, step-indexed Kripke logical relations, higher-order separation logic, game semantics, various modal logics). But there remain many open problems, and the field is highly active. The goal of the HOPE workshop is to bring researchers from a variety of different backgrounds and perspectives together to exchange new and exciting ideas concerning the design, semantics, implementation, and verification of higher-order effectful programs. We want HOPE to be as informal and interactive as possible. The program will thus involve a combination of invited talks, contributed talks about work in progress, and open-ended discussion sessions. There will be no published proceedings, but participants will be invited to submit working documents, talk slides, etc. to be posted on this website. ----------------------- Call for Talk Proposals ----------------------- We solicit proposals for contributed talks. Proposals should be at most 2 pages, in either plain text or PDF format, and should specify how long a talk the speaker wishes to give. By default, contributed talks will be 30 minutes long, but proposals for shorter or longer talks will also be considered. Speakers may also submit supplementary material (e.g. a full paper, talk slides) if they desire, which PC members are free (but not expected) to read. We are interested in talks on all topics related to the interaction of higher-order programming and computational effects. Talks about work in progress are particularly encouraged. If you have any questions about the relevance of a particular topic, please contact the PC chairs at the address hope2012 at mpi-sws.org. Deadline for talk proposals: June 8, 2012 (Friday) Notification of acceptance: July 1, 2012 (Sunday) Workshop: September 9, 2012 (Sunday) The submission website is now open: http://www.easychair.org/conferences/?conf=hope2012 --------------------- Workshop Organization --------------------- Program Co-Chairs: Amal Ahmed (Northeastern University) Derek Dreyer (MPI-SWS, Germany) Program Committee: Jim Laird (University of Bath) Rasmus M?gelberg (IT University of Copenhagen) Greg Morrisett (Harvard University) Aleks Nanevski (IMDEA Software Institute) David Naumann (Stevens Institute of Technology) Matthew Parkinson (Microsoft Research Cambridge) Fran?ois Pottier (INRIA Rocquencourt) Amr Sabry (Indiana University) Eijiro Sumii (Tohoku University) Nikhil Swamy (Microsoft Research Redmond) Nobuko Yoshida (Imperial College London) -------------- next part -------------- An HTML attachment was scrubbed... URL: From amal.j.ahmed at gmail.com Wed Apr 4 15:59:29 2012 From: amal.j.ahmed at gmail.com (Amal Ahmed) Date: Wed, 4 Apr 2012 09:59:29 -0400 Subject: [Haskell] LOLA 2012: Call for Talk Proposals Message-ID: <6E94EA36-3B49-4E60-9388-31B0C2D95384@gmail.com> ============================================================ *** CALL FOR TALK PROPOSALS *** LOLA 2012 Syntax and Semantics of Low Level Languages Sunday 24th June 2012, Dubrovnik, Croatia A LICS 2012-affiliated workshop http://www.ccs.neu.edu/home/amal/lola2012 ============================================================ IMPORTANT DATES Submission deadline Friday 13th April 2012 Author notification Monday 30th April 2012 Workshop Sunday 24th June 2012 SUBMISSION LINK The submissions will be made by easychair at https://www.easychair.org/conferences/?conf=lola2012 DESCRIPTION OF THE WORKSHOP It has been understood since the late 1960s that tools and structures arising in mathematical logic and proof theory can usefully be applied to the design of high level programming languages, and to the development of reasoning principles for such languages. Yet low level languages, such as machine code, and the compilation of high level languages into a low level ones have traditionally been seen as having little or no essential connection to logic. However, a fundamental discovery of this past decade has been that low level languages are also governed by logical principles. From this key observation has emerged an active and fascinating new research area at the frontier of logic and computer science. The practically-motivated design of logics reflecting the structure of low level languages (such as heaps, registers and code pointers) and low level properties of programs (such as resource usage) goes hand in hand with the some of the most advanced contemporary researches in semantics and proof theory, including classical realizability and forcing, double orthogonality, parametricity, linear logic, game semantics, uniformity, categorical semantics, explicit substitutions, abstract machines, implicit complexity and sublinear programming. The LOLA workshop, affiliated with LICS, will bring together researchers interested in many aspects of the relationship between logic and low level languages and programs. Topics of interest include, but are not limited to: Typed assembly languages, Certified assembly programming, Certified and certifying compilation, Proof-carrying code, Program optimization, Modal logic and realizability in machine code, Realizability and double orthogonality in assembly code, Parametricity, modules and existential types, General references, Kripke models and recursive types, Continuations and concurrency, Implicit complexity, sublinear programming and Turing machines, Closures and explicit substitutions, Linear logic and separation logic, Game semantics, abstract machines and hardware synthesis, Monoidal and premonoidal categories, traces and effects. SUBMISSION INFORMATION: LOLA is an informal workshop aiming at a high degree of useful interaction amongst the participants, welcoming proposals for talks on work in progress, overviews of larger programmes, position presentations and short tutorials as well as more traditional research talks describing new results. The programme committee will select the workshop presentations from submitted proposals, which may take the form either of a short abstract or of a longer (published or unpublished) paper describing completed work. PROGRAM CO-CHAIRS: Amal Ahmed (Northeastern University) Aleksandar Nanevski (IMDEA Software) PROGRAM COMMITTEE: Cristiano Calcagno (Imperial College London and Monoidics Limited) Robert Dockins (Princeton University) Martin Hofmann (LMU Munich) Xavier Leroy (INRIA Rocquencourt) Andrzej Murawski (University of Leicester) Sungwoo Park (Pohang University of Science and Technology) Dusko Pavlovic (Royal Holloway, University of London) Andreas Rossberg (Google) -------------- next part -------------- An HTML attachment was scrubbed... URL: From jv at informatik.uni-bonn.de Thu Apr 5 00:27:09 2012 From: jv at informatik.uni-bonn.de (=?ISO-8859-15?Q?Janis_Voigtl=E4nder?=) Date: Thu, 05 Apr 2012 00:27:09 +0200 Subject: [Haskell] Call for Contributions - Haskell Communities and Activities Report, May 2012 edition Message-ID: <4F7CCABD.706@informatik.uni-bonn.de> Dear all, I would like to collect contributions for the 22nd edition of the ================================================================ Haskell Communities & Activities Report http://www.haskell.org/haskellwiki/Haskell_Communities_and_Activities_Report Submission deadline: 1 May 2012 (please send your contributions to hcar at haskell.org, in plain text or LaTeX format) ================================================================ This is the short story: * If you are working on any project that is in some way related to Haskell, please write a short entry and submit it. Even if the project is very small or unfinished or you think it is not important enough --- please reconsider and submit an entry anyway! * If you are interested in an existing project related to Haskell that has not previously been mentioned in the HCAR, please tell me, so that I can contact the project leaders and ask them to submit an entry. * Feel free to pass on this call for contributions to others that might be interested. More detailed information: The Haskell Communities & Activities Report is a bi-annual overview of the state of Haskell as well as Haskell-related projects over the last, and possibly the upcoming six months. If you have only recently been exposed to Haskell, it might be a good idea to browse the November 2011 edition --- you will find interesting topics described as well as several starting points and links that may provide answers to many questions. Contributions will be collected until the submission deadline. They will then be compiled into a coherent report that is published online as soon as it is ready. As always, this is a great opportunity to update your webpages, make new releases, announce or even start new projects, or to talk about developments you want every Haskeller to know about! Looking forward to your contributions, Janis (current editor) FAQ: Q: What format should I write in? A: The required format is a LaTeX source file, adhering to the template that is available at: http://haskell.org/communities/05-2012/template.tex There is also a LaTeX style file at http://haskell.org/communities/05-2012/hcar.sty that you can use to preview your entry. If you do not know LaTeX, then use plain text. If you modify an old entry that you have written for an earlier edition of the report, you should already have received your old entry as a template (provided I have your valid email address). Please modify that template, rather than using your own version of the old entry as a template. Q: Can I include Haskell code? A: Yes. Please consider using lhs2tex syntax (http://people.cs.uu.nl/andres/lhs2tex/). The report is compiled in mode polycode.fmt. Q: Can I include images? A: Yes, you are even encouraged to do so. Please use .jpg format, then. Q: Should I send files in .zip archives or similar? A: No, plain file attachements are the way. Q: How much should I write? A: Authors are asked to limit entries to about one column of text. This corresponds to approximately one page, or 40 lines of text, with the above style and template. A general introduction is helpful. Apart from that, you should focus on recent or upcoming developments. Pointers to online content can be given for more comprehensive or "historic" overviews of a project. Images do not count towards the length limit, so you may want to use this opportunity to pep up entries. There is no minimum length of an entry! The report aims for being as complete as possible, so please consider writing an entry, even if it is only a few lines long. Q: Which topics are relevant? A: All topics which are related to Haskell in some way are relevant. We usually had reports from users of Haskell (private, academic, or commercial), from authors or contributors to projects related to Haskell, from people working on the Haskell language, libraries, on language extensions or variants. We also like reports about distributions of Haskell software, Haskell infrastructure, books and tutorials on Haskell. Reports on past and upcoming events related to Haskell are also relevant. Finally, there might be new topics we do not even think about. As a rule of thumb: if in doubt, then it probably is relevant and has a place in the HCAR. You can also ask the editor. Q: Is unfinished work relevant? Are ideas for projects relevant? A: Yes! You can use the HCAR to talk about projects you are currently working on. You can use it to look for other developers that might help you. You can use it to write "wishlist" items for libraries and language features you would like to see implemented. Q: If I do not update my entry, but want to keep it in the report, what should I do? A: Tell the editor that there are no changes. The old entry will typically be reused in this case, but it might be dropped if it is older than a year, to give more room and more attention to projects that change a lot. Do not resend complete entries if you have not changed them. Q: Will I get confirmation if I send an entry? How do I know whether my email has even reached the editor, and not ended up in a spam folder? A: Prior to publication of the final report, the editor will send a draft to all contributors, for possible corrections. So if you do not hear from the editor within three weeks after the deadline, it is safer to send another mail and check whether your first one was received. From dstcruz at gmail.com Thu Apr 5 04:14:29 2012 From: dstcruz at gmail.com (Daniel Santa Cruz) Date: Wed, 4 Apr 2012 22:14:29 -0400 Subject: [Haskell] Haskell Weekly News: Issue 221 Message-ID: Welcome to issue 221 of the HWN, an issue covering crowd-sourced bits of information about Haskell from around the web. This issue covers the week of March 25 to 31, 2012. Quotes of the Week * Tekmo: Now I have a monoid in the category of problems. * hpc: atomically the whole thing * BMeph (in "announcer voice"): In a world, where orphan instances collide, one language holds the key to successful compilation, in our time. * thoughtpolice: if there is a question, edwardk probably has the answer * danharaj: All I have to do is remove me from the program and it works. * anonymous: Caveat implementor. * ski: 'getLine :: IO String' is a recipe for how to interact with the world to acquire a `String' ski: the recipe is not the cake Top Reddit Stories * My Thesis is Finally Complete! "Elm: Concurrent FRP for functional GUIs" Domain: self.haskell, Score: 74, Comments: 31 On Reddit: [1] http://goo.gl/yw2P9 Original: [2] http://goo.gl/yw2P9 * ANNOUNCE: Happstack 7! (Haskell Web Framework) Domain: happstack.com, Score: 51, Comments: 26 On Reddit: [3] http://goo.gl/kwcc7 Original: [4] http://goo.gl/wBBsu * pipes-like conduit Domain: yesodweb.com, Score: 49, Comments: 84 On Reddit: [5] http://goo.gl/nu4Tl Original: [6] http://goo.gl/hWaCj * SIMD Support for the vector library Domain: ghc-simd.blogspot.co.uk, Score: 45, Comments: 6 On Reddit: [7] http://goo.gl/m0PI8 Original: [8] http://goo.gl/NDq2j * Replacing Cabal Domain: yesodweb.com, Score: 40, Comments: 7 On Reddit: [9] http://goo.gl/ulv2o Original: [10] http://goo.gl/86NLW * Summarizing the conduit questions Domain: yesodweb.com, Score: 33, Comments: 13 On Reddit: [11] http://goo.gl/lkLgF Original: [12] http://goo.gl/uK25n * I love `RWST r w s (IO a) ` to ease the transition from imperative programming. Am I cheating? Domain: self.haskell, Score: 31, Comments: 53 On Reddit: [13] http://goo.gl/xq2Jn Original: [14] http://goo.gl/xq2Jn * FRP - Three principles for bidirectional GUI elements Domain: apfelmus.nfshost.com, Score: 30, Comments: 11 On Reddit: [15] http://goo.gl/AFbXE Original: [16] http://goo.gl/xd4Yf * haskell-src-exts-1.12.0: supports the new quasi-quoter syntax Domain: haskell.org, Score: 28, Comments: 6 On Reddit: [17] http://goo.gl/u6ZDx Original: [18] http://goo.gl/XTzJO * Why GADTs are awesome: implementing System F using HOAS Domain: github.com, Score: 25, Comments: 7 On Reddit: [19] http://goo.gl/IG14P Original: [20] http://goo.gl/62iLX * Reactive-banana: new major release Domain: apfelmus.nfshost.com, Score: 24, Comments: 3 On Reddit: [21] http://goo.gl/XYXvm Original: [22] http://goo.gl/u3PAz Top StackOverflow Questions * Does Haskell require a garbage collector? votes: 40, answers: 7 Read on SO: [23] http://goo.gl/hDNT4 * Can you recognize an infinite list in a Haskell program? [closed] votes: 20, answers: 5 Read on SO: [24] http://goo.gl/TcJHt * Confusion regarding a passage in the ?Kinds and some type-foo? section of learnyouahaskell.com votes: 12, answers: 1 Read on SO: [25] http://goo.gl/ldKbM * Haskell: Correct practice to specify version in source? votes: 7, answers: 2 Read on SO: [26] http://goo.gl/eUr6X * How to count the number of times a fuction was called, the FP way votes: 7, answers: 2 Read on SO: [27] http://goo.gl/OLNxy * how to translate Haskell into Scalaz? votes: 7, answers: 2 Read on SO: [28] http://goo.gl/1ep62 * In which languages is function abstraction not primitive votes: 7, answers: 7 Read on SO: [29] http://goo.gl/aZG5w * Is it possible to debug pattern matching in a Haskell function? votes: 6, answers: 3 Read on SO: [30] http://goo.gl/qIpDw * Generate cabal file with dependencies on foreign libs votes: 5, answers: 2 Read on SO: [31] http://goo.gl/mRz1o * Is there a monadic version of Arbitrary to use with QuickCheck? votes: 5, answers: 2 Read on SO: [32] http://goo.gl/1IOg4 Until next time, Daniel Santa Cruz References 1. http://www.reddit.com/r/haskell/comments/rkyoa/my_thesis_is_finally_complete_elm_concurrent_frp/ 2. http://www.reddit.com/r/haskell/comments/rkyoa/my_thesis_is_finally_complete_elm_concurrent_frp/ 3. http://www.happstack.com/C/ViewPage/1 4. http://www.reddit.com/r/haskell/comments/rjtwt/announce_happstack_7_haskell_web_framework/ 5. http://www.yesodweb.com/blog/2012/03/pipes-like-conduit 6. http://www.reddit.com/r/haskell/comments/reft1/pipeslike_conduit/ 7. http://ghc-simd.blogspot.co.uk/2012/03/simd-support-for-vector-library.html 8. http://www.reddit.com/r/haskell/comments/reyn9/simd_support_for_the_vector_library/ 9. http://www.yesodweb.com/blog/2012/04/replacing-cabal 10. http://www.reddit.com/r/haskell/comments/rnd2b/replacing_cabal/ 11. http://www.yesodweb.com/blog/2012/03/summarizing-conduit-questions 12. http://www.reddit.com/r/haskell/comments/rhs0y/summarizing_the_conduit_questions/ 13. http://www.reddit.com/r/haskell/comments/rd2t5/i_love_rwst_r_w_s_io_a_to_ease_the_transition/ 14. http://www.reddit.com/r/haskell/comments/rd2t5/i_love_rwst_r_w_s_io_a_to_ease_the_transition/ 15. http://apfelmus.nfshost.com/blog/2012/03/29-frp-three-principles-bidirectional-gui.html 16. http://www.reddit.com/r/haskell/comments/rj4l1/frp_three_principles_for_bidirectional_gui/ 17. http://www.haskell.org/pipermail/haskell-cafe/2012-March/100421.html 18. http://www.reddit.com/r/haskell/comments/rfn3g/haskellsrcexts1120_supports_the_new_quasiquoter/ 19. https://github.com/DanBurton/Blog/blob/master/Literate%20Haskell/SystemF.lhs 20. http://www.reddit.com/r/haskell/comments/rk0uf/why_gadts_are_awesome_implementing_system_f_using/ 21. http://apfelmus.nfshost.com/blog/2012/03/25-frp-banana-0-5.html 22. http://www.reddit.com/r/haskell/comments/rd35t/reactivebanana_new_major_release/ 23. http://stackoverflow.com/questions/9952602/does-haskell-require-a-garbage-collector 24. http://stackoverflow.com/questions/9889347/can-you-recognize-an-infinite-list-in-a-haskell-program 25. http://stackoverflow.com/questions/9892814/confusion-regarding-a-passage-in-the-kinds-and-some-type-foo-section-of-learny 26. http://stackoverflow.com/questions/9857710/haskell-correct-practice-to-specify-version-in-source 27. http://stackoverflow.com/questions/9920129/how-to-count-the-number-of-times-a-fuction-was-called-the-fp-way 28. http://stackoverflow.com/questions/9941199/how-to-translate-haskell-into-scalaz 29. http://stackoverflow.com/questions/9944159/in-which-languages-is-function-abstraction-not-primitive 30. http://stackoverflow.com/questions/9949494/is-it-possible-to-debug-pattern-matching-in-a-haskell-function 31. http://stackoverflow.com/questions/9857597/generate-cabal-file-with-dependencies-on-foreign-libs 32. http://stackoverflow.com/questions/9863451/is-there-a-monadic-version-of-arbitrary-to-use-with-quickcheck -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at n-heptane.com Mon Apr 9 20:21:59 2012 From: jeremy at n-heptane.com (Jeremy Shaw) Date: Mon, 9 Apr 2012 13:21:59 -0500 Subject: [Haskell] ANN: plugins-1.5.2.1 Message-ID: Hello! I am pleased to announce the release of plugins-1.5.2.1: http://hackage.haskell.org/package/plugins The plugins library provides facilities to compile and dynamically load/link Haskell code into a running Haskell application. (The related, plugins-auto package adds support for file watching via inontify and automatic recompilation and reloading, http://hackage.haskell.org/package/plugins). There are three important changes in this release: 1. Support for GHC 7.0, 7.2. and 7.4. We have not *knowingly* dropped support for GHC 6.12. So, if you still use an older compiler and we broke it.. we might be willing to fix it still :) 2. New maintainer: Don Stewart has graciously allowed me to take over the project. I do not have any immediate plans for big changes. But I do plan to: keep it compiling, apply patches in a timely manner, and deal with other minor bug fixes. I would certainly love to see some major improvements. I believe plugins predates the GHC API and, accordingly, does not use it as well as it could. If someone wanted to give plugins some major love, that would be awesome. While plugins has not much recent development, there are still a lot of people that are using it, or would like to. 3. the source has moved to patch-tag and darcs 2, http://patch-tag.com/r/stepcut/plugins patch-tag only supports darcs 2 format repositories, so this forced me to run darcs convert to switch from darcs 1 to darcs 2 format. In the end that is a good thing. The only downside is that I can not directly apply any darcs 1 patches to the repo now. But I doubt there are many floating around anyway. And I can still apply them the hard way. - jeremy From jeremy at n-heptane.com Mon Apr 9 22:52:10 2012 From: jeremy at n-heptane.com (Jeremy Shaw) Date: Mon, 9 Apr 2012 15:52:10 -0500 Subject: [Haskell] ANN: plugins-1.5.2.1 In-Reply-To: References: Message-ID: Hello, I will update the description. The documentation is not on hackage yet because the haddock builder only runs a few times a day. That should correct itself in a few hours -- unless the build fails for some reason. However, the API has not changed from the previous version, so these docs are still valid: http://hackage.haskell.org/package/plugins-1.5.1.4 - jeremy On Mon, Apr 9, 2012 at 1:21 PM, Jeremy Shaw wrote: > Hello! > > I am pleased to announce the release of plugins-1.5.2.1: > > http://hackage.haskell.org/package/plugins > > The plugins library provides facilities to compile and dynamically > load/link Haskell code into a running Haskell application. (The > related, plugins-auto package adds support for file watching via > inontify and automatic recompilation and reloading, > http://hackage.haskell.org/package/plugins). > > There are three important changes in this release: > > ?1. Support for GHC 7.0, 7.2. and 7.4. We have not *knowingly* dropped > support for GHC 6.12. So, if you still use an older compiler and we > broke it.. we might be willing to fix it still :) > > ?2. New maintainer: Don Stewart has graciously allowed me to take over > the project. I do not have any immediate plans for big changes. But I > do plan to: keep it compiling, apply patches in a timely manner, and > deal with other minor bug fixes. I would certainly love to see some > major improvements. I believe plugins predates the GHC API and, > accordingly, does not use it as well as it could. If someone wanted to > give plugins some major love, that would be awesome. While plugins has > not much recent development, there are still a lot of people that are > using it, or would like to. > > ?3. the source has moved to patch-tag and darcs 2, > > ? ?http://patch-tag.com/r/stepcut/plugins > > ? patch-tag only supports darcs 2 format repositories, so this forced > me to run darcs convert to switch from darcs 1 to darcs 2 format. In > the end that is a good thing. The only downside is that I can not > directly apply any darcs 1 patches to the repo now. But I doubt there > are many floating around anyway. And I can still apply them the hard > way. > > - jeremy From brucker at spamfence.net Tue Apr 10 16:56:58 2012 From: brucker at spamfence.net (Achim D. Brucker) Date: Tue, 10 Apr 2012 16:56:58 +0200 Subject: [Haskell] Call for Participation: Tests and Proofs (TAP 2012) in Prague Message-ID: <20120410145658.GA20386@shinanogawa.brucker.ch> Apologies for duplicates. ======================================================================== CALL FOR PARTICIPATION TESTS and PROOFS 2012 (TOOLS EUROPE 2012) 6th International Conference on Tests & Proofs May 31 - June 1, 2012, Prague, Czech Republic http://lifc.univ-fcomte.fr/tap2012/ Co-located with: ICMT 2012, SC 2012, MSEPT 2012 as part of TOOLS 2012: http://toolseurope2012.fit.cvut.cz/ ======================================================================== The TAP conference is devoted to the convergence of proofs and tests. It combines ideas from both sides for the advancement of software quality. Keynote Speakers ================ * Andreas Kuehlmann , Coverity The Technology and Psychology of Testing Your Code as You Develop It (abstract ) * Corina Pasareanu , NASA Ames Research Center Combining Model Checking and Symbolic Execution for Software Testing (abstract ) * Mehdi Jazayeri, University of Lugano. Software Composition: Why, what, and how Registration: ============= Early registration, at a reduced price, will be open until 25 April 2012. http://toolseurope2012.fit.cvut.cz/index.php/registration.html Organization: ============= Conference Chair Bertrand Meyer, ETH Zurich, Eiffel Software, and ITMO Program Chairs Achim D. Brucker, SAP Research, Germany Jacques Julliand, University of Franche-Comt? Local Organization Pavel Tvrdik, CTU Prague Michal Valenta, CTU Prague Jindra Vojikova, CTU Prague Jan Chrastina, CTU Prague Program: ======== Thursday 31th May, 09:00-10:30: Invited Talk * Andreas Kuehlmann, Coverity: The Technology and Psychology of Testing Your Code as You Develop It Thursday, 11:00-13:00: Paper session Model-Based Testing * Malte Lochau, Ina Schaefer, Jochen Kamischke and Sascha Lity. Incremental Model-based Testing of Delta-oriented Software Product Lines * Hernan Ponce De Leon, Stefan Haar and Delphine Longuet. Conformance Relations for Labeled Event Structures * Joseph Kiniry, Daniel M. Zimmerman and Ralph Hyland. Testing Library Specifications by Verifying Conformance Tests * Chedor Sebastien, Thierry J?ron and Morvan Christophe. Test generation from recursive tiles systems Thursday, 14:30-15:30: Paper session Scenario and UML-Based Testing * Nadia Creignou, Uwe Egly and Martina Seidl. A Framework for the Specification of Random SAT and QSAT Formulas * Jens Br?ning, Martin Gogolla, Lars Hamann and Mirco Kuhlmann. Evaluating and Debugging OCL Expressions in UML Models * Uwe Egly, Sebastian Gabmeyer, Martina Seidl, Hans Tompits, .... Towards Scenario-Based Testing of UML Diagrams Thursday, 16:00-17:00: Tutorial * Nikolay Kosmatov, Nicky Williams. Automated Structural Testing with PathCrawler Friday 1st June, 09:00-10:30: Invited Talk of SC * Mehdi Jazayeri, University of Lugano. Software Composition: Why, what, and how Friday 11:00-13:00: Invited Talk of TAP * Corina Pasareanu. NASA. Combining Model Checking and Symbolic Execution for Software Testing Friday, 14:30-15:30: Paper session Test and Model-checking * Martin Sulzmann and Axel Zechner Constructive Finite Trace Analysis with Linear Temporal Logic * Alessandro Armando, Roberto Carbone, Giancarlo Pellegrino, Alessio Merlo and Davide Balzarotti. From Model-checking to Automated Testing of Security Protocols: Bridging the Gap Friday, 16:00-17:30: Paper session Test of Complex Data Structures * Valerio Senni and Fabio Fioravanti. Generation of test data structures using Constraint Logic Programming * Valeria Bengolea, Nazareno Aguirre, Darko Marinov and Marcelo Frias. Coverage Criteria on RepOK to Reduce Bounded Exhaustive Test Suites * Matthieu Carlier, Catherine Dubois and Arnaud Gotlieb. A first step in the design of a formally verified constraint-based testing tool: FocalTest -- Dr. Achim D. Brucker, SAP Research, Vincenz-Priessnitz-Str. 1, D-76131 Karlsruhe Phone: +49 6227 7-52595, http://www.brucker.ch From Jon.Sneyers at CS.KULEUVEN.BE Wed Apr 11 09:05:43 2012 From: Jon.Sneyers at CS.KULEUVEN.BE (Jon Sneyers) Date: Wed, 11 Apr 2012 09:05:43 +0200 Subject: [Haskell] 2nd Call for papers: LOPSTR 2012 Message-ID: ============================================================ Call for papers 22nd International Symposium on Logic-Based Program Synthesis and Transformation LOPSTR 2012 http://costa.ls.fi.upm.es/lopstr12 Leuven, Belgium, September 18-20, 2012 (co-located with PPDP 2012) ============================================================ 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 that authors can incorporate this feedback in the published papers. The 22nd International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR 2012) will be held in Leuven, Belgium; previous symposia were held in Hagenberg, Coimbra, Valencia, Lyngby, Venice, London, Verona, Uppsala, Madrid, Paphos, London, Venice, Manchester, Leuven, Stockholm, Arnhem, Pisa, Louvain-la-Neuve, Manchester and Odense (you might have a look at the contents of past LOPSTR symposia). LOPSTR 2012 will be co-located with PPDP 2012 (International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming). 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. Both full papers and extended abstracts 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 * verification * analysis * specialization * composition * certification * transformational techniques in SE * synthesis * transformation * optimisation * inversion * program/model manipulation * security * applications and tools Survey papers, that present some aspect of the above topics from a new perspective, and 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, conference, or workshop with refereed proceedings. Work that already appeared in unpublished or informally published workshop proceedings may be submitted (please contact the PC chair in case of questions). Proceedings The formal post-conference proceedings will be published by Springer in the Lecture Notes in Computer Science series. Important Dates Abstract submission: May 21,2012 Paper submission: May 25, 2012 Notification (for pre-proceedings): June 29, 2012 Camera-ready (for pre-proceedings): July 8, 2012 Symposium: September 18-20, 2012 Submissions must be formatted in the Lecture Notes in Computer Science style. They cannot exceed 15 pages including references but excluding well-marked appendices not intended for publication. Referees are not required to read the appendices, and thus papers should be intelligible without them. Full papers can be directly accepted for publication in the formal proceedings to be published by Springer in the LNCS series or accepted only for presentation at the symposium. After the symposium, all authors of extended abstracts and full papers accepted only for presentation 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 may also be published in the formal proceedings. Authors should submit an electronic copy of the paper (written in English) in PDF or Postscript (Level 2). Each submission must include on its first page the paper title; authors and their affiliations; contact author's email; abstract; and three to four keywords. The keywords will be used to assist us in selecting appropriate reviewers for the paper. If electronic submission is impossible, please contact the program chair for information on how to submit hard copies. Papers should be submitted to the submission website for LOPSTR 2012. Invited speakers: - Tom Schrijvers, University of Ghent, Belgium - J?rgen Giesl, RWTH Aachen, Germany (shared with PPDP) Program Committee: Elvira Albert Complutense University of Madrid, Spain Sergio Antoy Portland State University, US Demis Ballis University of Udine, Italy Henning Christiansen Roskilde University, Denmark Michael Codish Ben-Gurion University of the Negev, Israel Danny De Schreye K.U.Leuven, Belgium Esra Erdem Sabanci University, Istanbul Maribel Fernandez King's College London, UK John Gallagher Roskilde University, Denmark Robert Gl?ck University of Copenhagen, Denmark Miguel Gomez-Zamalloa Complutense University of Madrid, Spain R?my Haemmerl? Technical University of Madrid, Spain Reiner H?hnle TU Darmstadt, Germany Geoff Hamilton Dublin City University, Ireland Carsten Fuhs University College London, UK Gerda Janssens K.U.Leuven, Belgium Isabella Mastroeni University of Verona, Italy Kazutaka Matsuda University of Tokyo, Japan Paulo Moura Universidade da Beira Interior, Portugal Johan Nordlander Lule? University of Technology, Sweden Andrey Rybalchenko Technische Universit?t M?nchen, Germany Kostis Sagonas Uppsala University, Sweden Francesca Scozzari Universit? "G. D'Annunzio" di Chieti, Italy Valerio Senni Universt? di Roma "Tor Vergata", Italy German Vidal Technical University of Valencia, Spain Program Chair: Elvira Albert Department of Computer Science (DSIC) Complutense University of Madrid Madrid, Spain General Co-Chairs Daniel De Schreye and Gerda Janssens Department of Computer Science K.U.Leuven, Celestijnenlaan 200 A, B-3001 Heverlee, Belgium From amal.j.ahmed at gmail.com Wed Apr 11 20:10:49 2012 From: amal.j.ahmed at gmail.com (Amal Ahmed) Date: Wed, 11 Apr 2012 14:10:49 -0400 Subject: [Haskell] LOLA 2012: Final Call for Talk Proposals Message-ID: <2CDC2188-0839-43C7-9905-8ADC01DABF1A@gmail.com> ============================================================ *** FINAL CALL FOR TALK PROPOSALS *** LOLA 2012 Syntax and Semantics of Low Level Languages Sunday 24th June 2012, Dubrovnik, Croatia A LICS 2012-affiliated workshop http://www.ccs.neu.edu/home/amal/lola2012 ============================================================ IMPORTANT DATES Submission deadline Friday 13th April 2012 Author notification Monday 30th April 2012 Workshop Sunday 24th June 2012 SUBMISSION LINK The submissions will be made by easychair at https://www.easychair.org/conferences/?conf=lola2012 DESCRIPTION OF THE WORKSHOP It has been understood since the late 1960s that tools and structures arising in mathematical logic and proof theory can usefully be applied to the design of high level programming languages, and to the development of reasoning principles for such languages. Yet low level languages, such as machine code, and the compilation of high level languages into a low level ones have traditionally been seen as having little or no essential connection to logic. However, a fundamental discovery of this past decade has been that low level languages are also governed by logical principles. From this key observation has emerged an active and fascinating new research area at the frontier of logic and computer science. The practically-motivated design of logics reflecting the structure of low level languages (such as heaps, registers and code pointers) and low level properties of programs (such as resource usage) goes hand in hand with the some of the most advanced contemporary researches in semantics and proof theory, including classical realizability and forcing, double orthogonality, parametricity, linear logic, game semantics, uniformity, categorical semantics, explicit substitutions, abstract machines, implicit complexity and sublinear programming. The LOLA workshop, affiliated with LICS, will bring together researchers interested in many aspects of the relationship between logic and low level languages and programs. Topics of interest include, but are not limited to: Typed assembly languages, Certified assembly programming, Certified and certifying compilation, Proof-carrying code, Program optimization, Modal logic and realizability in machine code, Realizability and double orthogonality in assembly code, Parametricity, modules and existential types, General references, Kripke models and recursive types, Continuations and concurrency, Implicit complexity, sublinear programming and Turing machines, Closures and explicit substitutions, Linear logic and separation logic, Game semantics, abstract machines and hardware synthesis, Monoidal and premonoidal categories, traces and effects. SUBMISSION INFORMATION: LOLA is an informal workshop aiming at a high degree of useful interaction amongst the participants, welcoming proposals for talks on work in progress, overviews of larger programmes, position presentations and short tutorials as well as more traditional research talks describing new results. The programme committee will select the workshop presentations from submitted proposals, which may take the form either of a short abstract or of a longer (published or unpublished) paper describing completed work. PROGRAM CO-CHAIRS: Amal Ahmed (Northeastern University) Aleksandar Nanevski (IMDEA Software) PROGRAM COMMITTEE: Cristiano Calcagno (Imperial College London and Monoidics Limited) Robert Dockins (Princeton University) Martin Hofmann (LMU Munich) Xavier Leroy (INRIA Rocquencourt) Andrzej Murawski (University of Leicester) Sungwoo Park (Pohang University of Science and Technology) Dusko Pavlovic (Royal Holloway, University of London) Andreas Rossberg (Google) -------------- next part -------------- An HTML attachment was scrubbed... URL: From dstcruz at gmail.com Thu Apr 12 05:29:18 2012 From: dstcruz at gmail.com (Daniel Santa Cruz) Date: Wed, 11 Apr 2012 23:29:18 -0400 Subject: [Haskell] Haskell Weekly News: Issue 222 Message-ID: Welcome to issue 222 of the HWN, an issue covering crowd-sourced bits of information about Haskell from around the web. This issue covers the week of April 1 to 7, 2012. Quotes of the Week * tgeeky_: "What I cannot create, I do not understand." -- Richard Feynman, on his blackboard when he died in 1988. * elliott: ... [a] is more of a control structure than a data structure. * Cale: Basically, we've known how to implement first class functions efficiently for 20 or 30 years now, and we've known about their importance to abstraction in programming since before the advent of electronic computers. There's no excuse to still be writing new programs in languages without them. * edwardk: When someone throws an exception at you, duck. * luite: I think it uses levenshtein distance (he invented this distance because nobody could spell his name correctly) * edwardk: 'hey ghc devs can you fix this thing that might or might not be a bug so we can break a huge pile of invariants in your compiler to put go faster stripes on something nobody uses? k thx' Top Reddit Stories * Tfoo, my simple Five in a Row game. Online, with server-sent events, deployed to Heroku, open source. Domain: tfoo.herokuapp.com, Score: 49, Comments: 18 On Reddit: [1] http://goo.gl/Klevh Original: [2] http://goo.gl/PtjKk * Interacting with inner-functions in GHCi [StackOverflow] Domain: stackoverflow.com, Score: 48, Comments: 12 On Reddit: [3] http://goo.gl/23l0G Original: [4] http://goo.gl/2H5kI * ANN: acme-http. 221,693.0 req/s on the PONG benchmark. Domain: groups.google.com, Score: 42, Comments: 4 On Reddit: [5] http://goo.gl/XROlu Original: [6] http://goo.gl/PuOt3 * Recent haskell-mode changes screencast Domain: youtube.com, Score: 39, Comments: 15 On Reddit: [7] http://goo.gl/JyX0s Original: [8] http://goo.gl/VWLIF * An Haskell tutorial. What do you think? Domain: yannesposito.com, Score: 39, Comments: 47 On Reddit: [9] http://goo.gl/eLiQT Original: [10] http://goo.gl/yBDnQ * Galois' Open-Source code available on github Domain: corp.galois.com, Score: 38, Comments: 3 On Reddit: [11] http://goo.gl/xoz4K Original: [12] http://goo.gl/OhlaA * Wadler?s Law Revisited Domain: comonad.com, Score: 27, Comments: 9 On Reddit: [13] http://goo.gl/8p9As Original: [14] http://goo.gl/7iB53 * With Linux supporting x32 ABI, should GHC follow suit? Domain: self.haskell, Score: 23, Comments: 6 On Reddit: [15] http://goo.gl/Nkuob Original: [16] http://goo.gl/Nkuob * cabal-meta: transcending to dependency heaven Domain: yesodweb.com, Score: 22, Comments: 27 On Reddit: [17] http://goo.gl/nsVhn Original: [18] http://goo.gl/U2cDK * [Haskell-cafe] A Modest Records Proposal Domain: haskell.org, Score: 21, Comments: 7 On Reddit: [19] http://goo.gl/MvbRq Original: [20] http://goo.gl/RgaRU Top StackOverflow Questions * What is the best way to test and interact with inner functions defined inside a toplevel function? votes: 44, answers: 1 Read on SO: [21] http://goo.gl/2H5kI * How can a Windows service application be written in Haskell? votes: 15, answers: 1 Read on SO: [22] http://goo.gl/kz8TA * What does ':..' mean in Haskell? votes: 12, answers: 2 Read on SO: [23] http://goo.gl/Whi8a * Is the whole Map copied when a new binding is inserted? votes: 10, answers: 3 Read on SO: [24] http://goo.gl/OabLu * Haskell functions left-to-right votes: 10, answers: 1 Read on SO: [25] http://goo.gl/rhCm3 * How can I avoid writing boilerplate code for functions performing pattern matching? votes: 9, answers: 3 Read on SO: [26] http://goo.gl/6cvXJ * Controlling how test data is generated in QuickCheck votes: 8, answers: 1 Read on SO: [27] http://goo.gl/BNSug * Can I get warnings about overly-restrictive type signatures? votes: 8, answers: 1 Read on SO: [28] http://goo.gl/X7PkN * Slowdown when using parallel strategies in Haskell votes: 8, answers: 1 Read on SO: [29] http://goo.gl/ghV3C * Dealing with boilerplate in Haskell votes: 7, answers: 2 Read on SO: [30] http://goo.gl/Um4Fm Until next time, Daniel Santa Cruz References 1. http://tfoo.herokuapp.com/ 2. http://www.reddit.com/r/haskell/comments/rx20z/tfoo_my_simple_five_in_a_row_game_online_with/ 3. http://stackoverflow.com/questions/9987739/what-is-the-best-way-to-test-and-interact-with-inner-functions-defined-inside-a 4. http://www.reddit.com/r/haskell/comments/rr7se/interacting_with_innerfunctions_in_ghci/ 5. https://groups.google.com/group/happs/browse_thread/thread/9b078d23b59a7374 6. http://www.reddit.com/r/haskell/comments/ro77b/ann_acmehttp_2216930_reqs_on_the_pong_benchmark/ 7. http://www.youtube.com/watch?v=E6xIjl06Lr4 8. http://www.reddit.com/r/haskell/comments/rtctu/recent_haskellmode_changes_screencast/ 9. http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/ 10. http://www.reddit.com/r/haskell/comments/rw61r/an_haskell_tutorial_what_do_you_think/ 11. http://corp.galois.com/blog/2012/4/4/galois-open-source-projects-on-github.html 12. http://www.reddit.com/r/haskell/comments/rt8m3/galois_opensource_code_available_on_github/ 13. http://comonad.com/reader/2012/wadlers-law-revisited/ 14. http://www.reddit.com/r/haskell/comments/rpyhr/wadlers_law_revisited/ 15. http://www.reddit.com/r/haskell/comments/rpbcx/with_linux_supporting_x32_abi_should_ghc_follow/ 16. http://www.reddit.com/r/haskell/comments/rpbcx/with_linux_supporting_x32_abi_should_ghc_follow/ 17. http://www.yesodweb.com/blog/2012/04/cabal-meta 18. http://www.reddit.com/r/haskell/comments/rurn4/cabalmeta_transcending_to_dependency_heaven/ 19. http://www.haskell.org/pipermail/haskell-cafe/2012-April/100527.html 20. http://www.reddit.com/r/haskell/comments/rnwgn/haskellcafe_a_modest_records_proposal/ 21. http://stackoverflow.com/questions/9987739/what-is-the-best-way-to-test-and-interact-with-inner-functions-defined-inside-a 22. http://stackoverflow.com/questions/10037654/how-can-a-windows-service-application-be-written-in-haskell 23. http://stackoverflow.com/questions/9996740/what-does-mean-in-haskell 24. http://stackoverflow.com/questions/10002956/is-the-whole-map-copied-when-a-new-binding-is-inserted 25. http://stackoverflow.com/questions/10003796/haskell-functions-left-to-right 26. http://stackoverflow.com/questions/10024455/how-can-i-avoid-writing-boilerplate-code-for-functions-performing-pattern-matchi 27. http://stackoverflow.com/questions/9977734/controlling-how-test-data-is-generated-in-quickcheck 28. http://stackoverflow.com/questions/9986508/can-i-get-warnings-about-overly-restrictive-type-signatures 29. http://stackoverflow.com/questions/10009361/slowdown-when-using-parallel-strategies-in-haskell 30. http://stackoverflow.com/questions/9969638/dealing-with-boilerplate-in-haskell -------------- next part -------------- An HTML attachment was scrubbed... URL: From sescobar at dsic.upv.es Fri Apr 13 14:47:29 2012 From: sescobar at dsic.upv.es (Santiago Escobar) Date: Fri, 13 Apr 2012 08:47:29 -0400 Subject: [Haskell] Last CfP: UNIF 2012 - 26th International Workshop on Unification References: Message-ID: <54EBF84A-13E9-4A71-9E96-DA127780A26C@dsic.upv.es> Call for Papers UNIF 2012 The 26th International Workshop on Unification http://unif2012.cs.man.ac.uk July 1st, 2012, Manchester, UK Satellite event of IJCAR 2012 UNIF 2012 is the 26th event in a series of international meetings devoted to unification theory and its applications. UNIF 2012 is a satellite event of the the 6th International Joint Conference on Automated Reasoning (IJCAR 2012) which is part of the Alan Turing Year 2012, and collocated with The Alan Turing Centenary Conference. Previous editions of UNIF have taken place mostly in Europe, but also in USA and Japan. For more details on previous UNIF workshops, please see the UNIF homepage at . The aim of UNIF 2012, as that of the previous meetings, is to bring together researchers interested in unification theory and related topics, to present recent (even unfinished) work, and discuss new ideas and trends in this and related fields. This includes scientific presentations, but also descriptions of applications and software using unification as a strong component. A non-exhaustive list of topics of interest includes: unification algorithms, calculi and implementations, equational unification and unification modulo theories, unification in modal, temporal and description logics, admissibility of inference rules, narrowing, matching algorithms, constraint solving, combination problems, disunification, higher-order unification, type checking and reconstruction, typed unification, complexity issues, query answering, implementation techniques and applications of unification. Submissions and Publication: Before the workshop, authors are invited to submit an extended abstract (max. 5 pages) to be formatted in LNCS style through the EasyChair submission site: https://www.easychair.org/account/signin.cgi?conf=unif2012 Accepted abstracts will be presented at the workshop and included in the preliminary proceedings, available at the workshop. We envisage publication of a special issue of a journal dedicated to UNIF after the event. Important Dates: # Submission: April 27 # Notification: May 18 # Final version: June 1 # Workshop: July 1 Programme Committee: # Franz Baader, TU Dresden, Germany # Christoph Benzmueller, Free University Berlin, Germany # Santiago Escobar, Universitat Politecnica de Valencia, Spain (co-chair) # Maribel Fernandez, King's College London, UK # Silvio Ghilardi, Universita degli Studi di Milano, Italy # Rosalie Iemhoff, Utrecht University, The Netherlands # Konstantin Korovin, University of Manchester, UK (co-chair) # Jordi Levy, IIIA - CSIC, Spain # Christopher Lynch, Clarkson University, USA # George Metcalfe, Vanderbilt University, USA # Paliath Narendran, University at Albany, USA # Vladimir Rybakov, Manchester Metropolitan University, UK (co-chair) For more information, please contact any of the three chairs Santiago Escobar, Konstantin Korovin, Vladimir Rybakov From haskell at benmachine.co.uk Fri Apr 13 22:49:43 2012 From: haskell at benmachine.co.uk (Ben Millwood) Date: Fri, 13 Apr 2012 21:49:43 +0100 Subject: [Haskell] ANNOUNCE: notcpp-0.0.1 In-Reply-To: References: Message-ID: I'm pleased to announce my first genuinely original Hackage package: notcpp-0.0.1! http://hackage.haskell.org/package/notcpp This was inspired after someone submitted a patch to another of my packages, applicative-quoters, to improve behaviour on later GHC versions by using the new lookupValueName function where appropriate. The patch used CPP to determine if the package versions were such that lookupValueName would exist. But I never liked using CPP: it completely defeats haskell-src-exts and hence things like SourceGraph, and anyway it's not designed for Haskell and doesn't at all understand its structure, or fit with its syntax. With a little thought, I wondered if creative use of template haskell might not achieve the same goal. It turned out it did, and emboldened with this knowledge I set out to write a new package making this technique available to others. Along the way, a second technique occurred to me along the way that this could provide a hack fix for particularly nasty orphan instances; provide the class name, type, and method definitions, and my code detects if an instance exists. If so, it throws away your hard work and uses that; if not it synthesises (crudely, and probably inaccurately in some cases) an instance from your information and includes it in your code. One way or another, the instance will exist. I should emphasise that the way this is done is strange, and I have possibly hit a GHC bug or two, so I invite people to test, to -ddump-splices and make sure the package is behaving, and to let me know what they discover :) I'm off to fetch a GHC HEAD and see if it is any more co-operative. Ben Millwood (second attempt at sending this, since the first was from an address not subscribed the the list, whoops) From amal.j.ahmed at gmail.com Sat Apr 14 22:10:10 2012 From: amal.j.ahmed at gmail.com (Amal Ahmed) Date: Sat, 14 Apr 2012 16:10:10 -0400 Subject: [Haskell] LOLA 2012: Call for Talk Proposals (deadline extended) Message-ID: <78E50C89-406E-4897-B29B-A077B96AC87C@gmail.com> *** Submission deadline extended to April 19th *** ============================================================ *** CALL FOR TALK PROPOSALS *** LOLA 2012 Syntax and Semantics of Low Level Languages Sunday 24th June 2012, Dubrovnik, Croatia A LICS 2012-affiliated workshop http://www.ccs.neu.edu/home/amal/lola2012 ============================================================ IMPORTANT DATES Submission deadline Thursday 19th April 2012 (extended) Author notification Monday 30th April 2012 Workshop Sunday 24th June 2012 SUBMISSION LINK The submissions will be made by easychair at https://www.easychair.org/conferences/?conf=lola2012 DESCRIPTION OF THE WORKSHOP It has been understood since the late 1960s that tools and structures arising in mathematical logic and proof theory can usefully be applied to the design of high level programming languages, and to the development of reasoning principles for such languages. Yet low level languages, such as machine code, and the compilation of high level languages into a low level ones have traditionally been seen as having little or no essential connection to logic. However, a fundamental discovery of this past decade has been that low level languages are also governed by logical principles. From this key observation has emerged an active and fascinating new research area at the frontier of logic and computer science. The practically-motivated design of logics reflecting the structure of low level languages (such as heaps, registers and code pointers) and low level properties of programs (such as resource usage) goes hand in hand with the some of the most advanced contemporary researches in semantics and proof theory, including classical realizability and forcing, double orthogonality, parametricity, linear logic, game semantics, uniformity, categorical semantics, explicit substitutions, abstract machines, implicit complexity and sublinear programming. The LOLA workshop, affiliated with LICS, will bring together researchers interested in many aspects of the relationship between logic and low level languages and programs. Topics of interest include, but are not limited to: Typed assembly languages, Certified assembly programming, Certified and certifying compilation, Proof-carrying code, Program optimization, Modal logic and realizability in machine code, Realizability and double orthogonality in assembly code, Parametricity, modules and existential types, General references, Kripke models and recursive types, Continuations and concurrency, Implicit complexity, sublinear programming and Turing machines, Closures and explicit substitutions, Linear logic and separation logic, Game semantics, abstract machines and hardware synthesis, Monoidal and premonoidal categories, traces and effects. SUBMISSION INFORMATION: LOLA is an informal workshop aiming at a high degree of useful interaction amongst the participants, welcoming proposals for talks on work in progress, overviews of larger programmes, position presentations and short tutorials as well as more traditional research talks describing new results. The programme committee will select the workshop presentations from submitted proposals, which may take the form either of a short abstract or of a longer (published or unpublished) paper describing completed work. PROGRAM CO-CHAIRS: Amal Ahmed (Northeastern University) Aleksandar Nanevski (IMDEA Software) PROGRAM COMMITTEE: Cristiano Calcagno (Imperial College London and Monoidics Limited) Robert Dockins (Princeton University) Martin Hofmann (LMU Munich) Xavier Leroy (INRIA Rocquencourt) Andrzej Murawski (University of Leicester) Sungwoo Park (Pohang University of Science and Technology) Dusko Pavlovic (Royal Holloway, University of London) Andreas Rossberg (Google) -------------- next part -------------- An HTML attachment was scrubbed... URL: From kkardzis at gmail.com Sat Apr 14 23:24:27 2012 From: kkardzis at gmail.com (Krzysztof Kardzis) Date: Sat, 14 Apr 2012 23:24:27 +0200 Subject: [Haskell] ANNOUNCE: curlhs-0.0.1, bindings to libcurl Message-ID: Hello! I'm pleased to announce the first release of curlhs package (curlhs-0.0.1), a new Haskell bindings to libcurl, the multiprotocol file transfer library which powers popular curl tool. hackage: http://hackage.haskell.org/package/curlhs github: https://github.com/kkardzis/curlhs Package is distributed under ISC License (MIT/BSD-style, see LICENSE file for details). Current version of curlhs follows libcurl in version 7.25.0. It is also possible to use curlhs with older versions of libcurl, but some features may not be available then (curlhs should easily compile with libcurl from version 7.20.0 upward). Bindings are not complete, there is still a lot of work to do, but I think that for many simple tasks it's enough. The aim is to provide a mid-level interface to libcurl, which will be fairly complete and close to the original API. With this initial release I hope to gain some feedback from potential users. Any comments and suggestions are welcome. Greetings, Krzysztof Kardzis From strake888 at gmail.com Sat Apr 14 23:48:55 2012 From: strake888 at gmail.com (Strake) Date: Sat, 14 Apr 2012 16:48:55 -0500 Subject: [Haskell] ANNOUNCE: curlhs-0.0.1, bindings to libcurl In-Reply-To: References: Message-ID: On 14/04/2012, Krzysztof Kardzis wrote: > Hello! > > I'm pleased to announce the first release of curlhs package > (curlhs-0.0.1), a new Haskell bindings to libcurl, the multiprotocol > file transfer library which powers popular curl tool. Just curious ? why not curl? http://hackage.haskell.org/package/curl It seems to me much easier to use. Cheers, strake From vincent.berthoux at gmail.com Mon Apr 16 09:10:48 2012 From: vincent.berthoux at gmail.com (Vincent Berthoux) Date: Mon, 16 Apr 2012 09:10:48 +0200 Subject: [Haskell] ANNOUNCE : Juicy.Pixels 1.2.1 Message-ID: Hello everyone, I'm pleased to announce you the new version of Juicy.Pixels, the 1.2.1, no new major features, here's the changelog : - Removed dependency on the array package. - Updated dependency list to handle latest mtl version. - Helper functions to save files without thinking about it. - Some code snippets in the API documentations GitHub : https://github.com/Twinside/Juicy.Pixels Hackage : http://hackage.haskell.org/package/JuicyPixels Regards Vincent Berthoux -------------- next part -------------- An HTML attachment was scrubbed... URL: From kkardzis at gmail.com Mon Apr 16 13:42:17 2012 From: kkardzis at gmail.com (Krzysztof Kardzis) Date: Mon, 16 Apr 2012 13:42:17 +0200 Subject: [Haskell] ANNOUNCE: curlhs-0.0.1, bindings to libcurl In-Reply-To: References: Message-ID: 2012/4/14 Strake : > Just curious ? why not curl? > http://hackage.haskell.org/package/curl > It seems to me much easier to use. In regard to the 'easy of use', I think it is just the opposite (of course we talk about the module 'Network.Curlhs.Core', not 'Base' - this is another story). But my opinion is not important here, and for that reason I don't want to compare these two packages by myself. If you are satisfied with the curl package, just stay with it, I've no arguments to convince you or anyone. Neverthless, thanks for your opinion. Ok, why another bindings? There is no one big reason, only a few small ones. Overall, I think that these bindings could be done better, and I think that it will be easier to do that from scratch. If it succeeds, fine, if not... there is no such an option ;) Here is the first attempt. As I wrote earlier, I would like to create a mid-level interface to libcurl. The API should be fairly easy to use, fairly complete and close to the original. I would like to avoid too much interpretation of the libcurl's API (this could be done at the higher level). Thanks to that it will be possible among others to take advantage of the existing documentation, tutorials, examples etc. Greetings, Krzysztof Kardzis From vinay_sajip at yahoo.co.uk Mon Apr 16 20:19:02 2012 From: vinay_sajip at yahoo.co.uk (Vinay Sajip) Date: Mon, 16 Apr 2012 18:19:02 +0000 (UTC) Subject: [Haskell] Cross-platform scripts on Linux and Windows Message-ID: I've been given a set of .hs files which contain the shebang line #!/usr/bin/env runhaskell and I would like them to work on Windows, but none of the Windows binaries seem to be able to process them without a :1:1: parse error on input `#!' These files came from a Linux machine, where they run without trouble. Is there any way I can get the Windows executables to run these files? I asked on IRC and it was suggested that I change the files to literate Haskell, but I'd rather have some way of having cross-platform operation which does not involve making changes to the scripts themselves. Is there something that can be done e.g. by using particular command line options or configuration settings? Thanks & regards, Vinay Sajip From florbitous at gmail.com Tue Apr 17 13:27:41 2012 From: florbitous at gmail.com (Bernie Pope) Date: Tue, 17 Apr 2012 21:27:41 +1000 Subject: [Haskell] Who should be contacted for changes to the front page of http://www.haskell.org ? Message-ID: Greetings, The front page of http://www.haskell.org/haskellwiki/Haskell is (rightly) protected. Who then should we contact if we have suggestions for changes? I apologise profusely if the answer is staring me in the face, but I couldn't seem to find it. Incidentally, and tediously, my suggestion is sadly pedantic: to change "Books & tutorials" to "Books and tutorials", to be more pleasant on the (or my) eye and to be consistent with the rest of the page. Cheers, Bernie. From morel.pisum at googlemail.com Tue Apr 17 14:39:50 2012 From: morel.pisum at googlemail.com (Morel Pisum) Date: Tue, 17 Apr 2012 14:39:50 +0200 Subject: [Haskell] Who should be contacted for changes to the front page of http://www.haskell.org ? In-Reply-To: References: Message-ID: <4F8D6496.5030704@googlemail.com> As Elliott Hird from #haskell mentioned, you could contact someone from http://www.haskell.org/haskellwiki/Special:Listusers/sysop Am 17.04.2012 13:27, schrieb Bernie Pope: > Greetings, > > The front page of http://www.haskell.org/haskellwiki/Haskell is > (rightly) protected. > > Who then should we contact if we have suggestions for changes? > > I apologise profusely if the answer is staring me in the face, but I > couldn't seem to find it. > > Incidentally, and tediously, my suggestion is sadly pedantic: to > change "Books & tutorials" to "Books and tutorials", to be more > pleasant on the (or my) eye and to be consistent with the rest of the > page. > > Cheers, > Bernie. > > _______________________________________________ > Haskell mailing list > Haskell at haskell.org > http://www.haskell.org/mailman/listinfo/haskell From johan.tibell at gmail.com Tue Apr 17 17:06:23 2012 From: johan.tibell at gmail.com (Johan Tibell) Date: Tue, 17 Apr 2012 08:06:23 -0700 Subject: [Haskell] CFT -- Haskell Implementors' Workshop 2012 Message-ID: Call for Talks ACM SIGPLAN Haskell Implementors' Workshop http://haskell.org/haskellwiki/HaskellImplementorsWorkshop/2012 Copenhagen, Denmark, September 14th, 2012 The workshop will be held in conjunction with ICFP 2012 http://www.icfpconference.org/icfp2012/ Important dates Proposal Deadline: 10th July 2012 Notification: 27th July 2012 Workshop: 14th September 2012 The Haskell Implementors' Workshop is to be held alongside ICFP 2012 this year in Copenhagen, Denmark. There will be no proceedings; it is an informal gathering of people involved in the design and development of Haskell implementations, tools, libraries, and supporting infrastructure. This relatively new workshop reflects the growth of the user community: there is a clear need for a well-supported tool chain for the development, distribution, deployment, and configuration of Haskell software. The aim is for this workshop to give the people involved with building the infrastructure behind this ecosystem an opportunity to bat around ideas, share experiences, and ask for feedback from fellow experts. We intend the workshop to have an informal and interactive feel, with a flexible timetable and plenty of room for ad-hoc discussion, demos, and impromptu short talks. Scope and target audience ------------------------- It is important to distinguish the Haskell Implementors' Workshop from the Haskell Symposium which is also co-located with ICFP 2012. The Haskell Symposium is for the publication of Haskell-related research. In contrast, the Haskell Implementors' Workshop will have no proceedings -- although we will aim to make talk videos, slides and presented data available with the consent of the speakers. In the Haskell Implementors' Workshop, we hope to study the underlying technology. We want to bring together anyone interested in the nitty-gritty details behind turning plain-text source code into a deployed product. Having said that, members of the wider Haskell community are more than welcome to attend the workshop -- we need your feedback to keep the Haskell ecosystem thriving. The scope covers any of the following topics. There may be some topics that people feel we've missed, so by all means submit a proposal even if it doesn't fit exactly into one of these buckets: * Compilation techniques * Language features and extensions * Type system implementation * Concurrency and parallelism: language design and implementation * Performance, optimisation and benchmarking * Virtual machines and run-time systems * Libraries and tools for development or deployment Talks ----- At this stage we would like to invite proposals from potential speakers for a relatively short talk. We are aiming for 20 minute talks with 10 minutes for questions and changeovers. We want to hear from people writing compilers, tools, or libraries, people with cool ideas for directions in which we should take the platform, proposals for new features to be implemented, and half-baked crazy ideas. Please submit a talk title and abstract of no more than 200 words to: johan.tibell at gmail.com We will also have a lightning talks session which will be organised on the day. These talks will be 2-10 minutes, depending on available time. Suggested topics for lightning talks are to present a single idea, a work-in-progress project, a problem to intrigue and perplex Haskell implementors, or simply to ask for feedback and collaborators. Organisers ---------- * Lennart Augustsson (Standard Chartered Bank) * Manuel M T Chakravarty (University of New South Wales) * Gregory Collins - co-chair (Google) * Simon Marlow (Microsoft Research) * David Terei (Stanford University) * Johan Tibell - co-chair (Google) From andres.loeh at googlemail.com Tue Apr 17 18:59:42 2012 From: andres.loeh at googlemail.com (=?ISO-8859-1?Q?Andres_L=F6h?=) Date: Tue, 17 Apr 2012 18:59:42 +0200 Subject: [Haskell] ANN: cabal-install-0.14.0 Message-ID: I'm pleased to announce the long-awaited new release of cabal-install-0.14.0 If you are already using cabal-install then you can upgrade both using: $ cabal update $ cabal install Cabal cabal-install New users you can get it from: http://haskell.org/cabal/download.html For users on unix systems there is a source tarball with a bootstrap script. For users on Windows systems there is a pre-compiled cabal.exe (The Windows binary hasn't really been tested yet. Feedback welcome.) Release notes ============= cabal-install-0.14.0 -------------------- Changes since 0.10.2: * Works with ghc-7.4 * Completely new modular dependency solver (default in most cases) * Some tweaks to old topdown dependency solver * Install plans are now checked for reinstalls that break packages * Flags --constraint and --preference work for nonexisting packages * New constraint forms for source and installed packages * New constraint form for package-specific use flags * New constraint form for package-specific stanza flags * Test suite dependencies are pulled in on demand * No longer install packages on --enable-tests when tests fail * New "cabal bench" command * Various "cabal init" tweaks Future plans ------------ There will probably be another incremental 0.14.2 release in the not too distant future, followed by an 0.16.0 release that should work with ghc-7.6. Bugs and feature requests ========================= This is an excellent opportunity to make sure your favourite bug or feature request is properly described in our bug tracker: http://hackage.haskell.org/trac/hackage/ To help us guide development priorities please add yourself to the ticket's cc list and describe why that bug or feature is important to you. Credits ======= On behalf of the Cabal hackers and the community generally I'd like to thank the people who have contributed patches for this release: * Tuncer Ayaz * Max Bolingbroke * Duncan Coutts * Ben Millwood * Jens Petersen * David Terei * Johan Tibell * Thomas Tuegel * Brent Yorgey Get involved ============ If you'd like to contribute, then please: * subscribe to the cabal-devel mailing list: http://www.haskell.org/mailman/listinfo/cabal-devel * check out the information on our trac: http://hackage.haskell.org/trac/hackage/ Andres From johan.tibell at gmail.com Tue Apr 17 19:13:31 2012 From: johan.tibell at gmail.com (Johan Tibell) Date: Tue, 17 Apr 2012 10:13:31 -0700 Subject: [Haskell] ANN: cabal-install-0.14.0 In-Reply-To: References: Message-ID: First, congratulations on the release. Unfortunately I ran into a problem that's not obvious to me: $ cabal install -v3 Cabal cabal-install searching for ghc in path. found ghc at /usr/bin/ghc ("/usr/bin/ghc",["--numeric-version"]) /usr/bin/ghc is version 7.4.1 looking for tool "ghc-pkg" near compiler in /usr/bin found ghc-pkg in /usr/bin/ghc-pkg ("/usr/bin/ghc-pkg",["--version"]) /usr/bin/ghc-pkg is version 7.4.1 ("/usr/bin/ghc",["--supported-languages"]) ("/usr/bin/ghc",["--info"]) Reading installed packages... ("/usr/bin/ghc-pkg",["dump","--global","-v0"]) ("/usr/bin/ghc-pkg",["dump","--user","-v0"]) ("/usr/bin/ghc",["--print-libdir"]) Reading available packages... Resolving dependencies... applying constraint base 'installed' which excludes base-3.0.3.1, base-3.0.3.2, base-4.0.0.0, base-4.1.0.0, base-4.2.0.0, base-4.2.0.1, base-4.2.0.2, base-4.3.0.0, base-4.3.1.0, base-4.4.0.0, base-4.4.1.0 and base-4.5.0.0 applying constraint ghc-prim 'installed' excluding syb-0.1.0.2 (it cannot be configured) excluding syb-0.1.0.3 (it cannot be configured) excluding syb-0.2 (it cannot be configured) excluding syb-0.2.1 (it cannot be configured) excluding syb-0.2.2 (it cannot be configured) excluding syb-0.3 (it cannot be configured) excluding syb-0.3.1 (it cannot be configured) excluding syb-0.3.2 (it cannot be configured) excluding syb-0.3.3 (it cannot be configured) excluding syb-0.3.4 (it cannot be configured) excluding syb-0.3.5 (it cannot be configured) excluding unix-2.4.0.0 (it cannot be configured) excluding unix-2.4.0.1 (it cannot be configured) excluding unix-2.4.0.2 (it cannot be configured) excluding unix-2.4.1.0 (it cannot be configured) excluding unix-2.4.2.0 (it cannot be configured) excluding unix-2.5.0.0 (it cannot be configured) excluding directory-1.0.1.0 (it cannot be configured) excluding directory-1.0.1.1 (it cannot be configured) excluding directory-1.0.1.2 (it cannot be configured) excluding directory-1.1.0.0 (it cannot be configured) excluding directory-1.1.0.1 (it cannot be configured) excluding QuickCheck-1.2.0.0 (it cannot be configured) excluding text-0.11.1.0 (it cannot be configured) excluding text-0.11.1.1 (it cannot be configured) excluding text-0.11.1.2 (it cannot be configured) excluding text-0.11.1.3 (it cannot be configured) excluding text-0.11.1.5 (it cannot be configured) excluding text-0.11.1.6 (it cannot be configured) excluding text-0.11.1.7 (it cannot be configured) excluding text-0.11.1.8 (it cannot be configured) excluding text-0.11.1.9 (it cannot be configured) excluding Cabal-1.4.0.0 (it cannot be configured) excluding Cabal-1.4.0.1 (it cannot be configured) excluding Cabal-1.4.0.2 (it cannot be configured) excluding network-2.2.1.8 (it cannot be configured) excluding network-2.2.1.9 (it cannot be configured) excluding network-2.2.1.10 (it cannot be configured) excluding network-2.2.3 (it cannot be configured) excluding network-2.2.3.1 (it cannot be configured) excluding network-2.3 (it cannot be configured) excluding network-2.3.0.1 (it cannot be configured) excluding network-2.3.0.2 (it cannot be configured) excluding network-2.3.0.3 (it cannot be configured) excluding network-2.3.0.4 (it cannot be configured) excluding network-2.3.0.5 (it cannot be configured) excluding network-2.3.0.6 (it cannot be configured) excluding network-2.3.0.7 (it cannot be configured) excluding HTTP-3001.1.3 (it cannot be configured) excluding HTTP-3001.1.4 (it cannot be configured) excluding HTTP-3001.1.5 (it cannot be configured) excluding HTTP-4000.0.8 (it cannot be configured) excluding HTTP-4000.0.9 (it cannot be configured) excluding HTTP-4000.0.10 (it cannot be configured) excluding HTTP-4000.1.0 (it cannot be configured) excluding HTTP-4000.1.1 (it cannot be configured) excluding HTTP-4000.1.2 (it cannot be configured) excluding HTTP-4000.2.0 (it cannot be configured) excluding HTTP-4000.2.1 (it cannot be configured) excluding split-0.1.3 (it cannot be configured) excluding split-0.1.4 (it cannot be configured) excluding split-0.1.4.1 (it cannot be configured) excluding zlib-0.2 (it cannot be configured) excluding cabal-install-0.5.0 (it cannot be configured) excluding cabal-install-0.5.1 (it cannot be configured) excluding cabal-install-0.5.2 (it cannot be configured) excluding cabal-install-0.6.0 (it cannot be configured) excluding cabal-install-0.6.2 (it cannot be configured) excluding cabal-install-0.6.4 (it cannot be configured) excluding special-functors-1.0 (it cannot be configured) excluding special-functors-1.0.0.1 (it cannot be configured) selecting cabal-install-0.10.2 (source) and discarding Cabal-1.1.6, 1.2.1, 1.2.2.0, 1.2.3.0, 1.2.4.0, 1.6.0.1, 1.6.0.2, 1.6.0.3, 1.8.0.2, 1.8.0.4, 1.8.0.6, 1.10.0.0, 1.12.0, 1.14.0, HTTP-3000.0.0, 3001.0.0, 3001.0.1, 3001.0.2, 3001.0.3, 3001.0.4, 4000.0.0, 4000.0.1, array-0.4.0.0, cabal-install-0.4.0, 0.8.0, 0.8.2, 0.10.0, 0.14.0, filepath-1.3.0.0, old-time-1.1.0.0, pretty-1.1.0.0, 1.1.1.0, process-1.1.0.0, 1.1.0.1, time-1.0, 1.3, 1.4, 1.4.0.1, unix-2.5.1.0 and zlib-0.3 selecting base-4.5.0.0 (installed) selecting ghc-prim-0.2.0.0 (installed) selecting integer-gmp-0.4.0.0 (installed) selecting rts-1.0 (installed) selecting zlib-0.5.3.3 (installed or source) and discarding zlib-0.4, 0.4.0.1, 0.4.0.2, 0.4.0.3, 0.4.0.4, 0.5.0.0, 0.5.2.0, 0.5.3.1 and 0.5.3.2 selecting HTTP-4000.2.2 (installed or source) and discarding HTTP-4000.0.2, 4000.0.3, 4000.0.4, 4000.0.5, 4000.0.6, 4000.0.7, 4000.2.3, mtl-1.0, 1.1.0.0, 1.1.0.1, 1.1.0.2, 1.1.1.0, 1.1.1.1 and 2.1 selecting network-2.3.0.11 (installed or source) and discarding network-2.0, 2.1.0.0, 2.2.0.0, 2.2.0.1, 2.2.1, 2.2.1.1, 2.2.1.2, 2.2.1.3, 2.2.1.4, 2.2.1.5, 2.2.1.6, 2.2.1.7, 2.3.0.8, 2.3.0.9 and 2.3.0.10 selecting parsec-3.1.2 (installed or source) and discarding parsec-2.0, 2.1.0.0, 2.1.0.1, 3.0.0, 3.0.1, 3.1.0, 3.1.1 and text-0.1 selecting Cabal-1.10.2.0 (source) and discarding Cabal-1.10.1.0 selecting text-0.11.1.13 (installed or source) and discarding deepseq-1.0.0.0, text-0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.7.0.1, 0.7.1.0, 0.7.2.1, 0.8.0.0, 0.8.1.0, 0.9.0.0, 0.9.0.1, 0.9.1.0, 0.10.0.0, 0.10.0.1, 0.10.0.2, 0.11.0.0, 0.11.0.1, 0.11.0.2, 0.11.0.3, 0.11.0.4, 0.11.0.5, 0.11.0.6, 0.11.0.7, 0.11.0.8, 0.11.1.10, 0.11.1.11, 0.11.1.12 and 0.11.2.0 selecting mtl-2.0.1.0 (installed or source) and discarding mtl-2.0.0.0, transformers-0.0.0.0, 0.0.1.0, 0.1.0.0, 0.1.0.1, 0.1.1.0, 0.1.3.0, 0.1.4.0 and 0.3.0.0 selecting transformers-0.2.2.0 (installed or source) and discarding transformers-0.2.0.0 and 0.2.1.0 selecting random-1.0.1.1 (installed or source) and discarding random-1.0.0.0, 1.0.0.1, 1.0.0.2, 1.0.0.3 and 1.0.1.0 selecting time-1.2.0.5 (source) and discarding time-1.1.2.0, 1.1.2.1, 1.1.2.2, 1.1.2.3, 1.1.2.4, 1.1.3, 1.1.4, 1.2, 1.2.0.1, 1.2.0.2, 1.2.0.3 and 1.2.0.4 selecting process-1.0.1.5 (source) and discarding filepath-1.0, process-1.0.0.0, 1.0.1.1, 1.0.1.2, 1.0.1.3 and 1.0.1.4 selecting pretty-1.0.1.2 (source) and discarding pretty-1.0.0.0, 1.0.1.0 and 1.0.1.1 selecting directory-1.1.0.2 (installed or source) and discarding directory-1.0.0.0 and 1.0.0.3 selecting unix-2.3.2.0 (source) and discarding unix-2.0, 2.2.0.0, 2.3.0.0 and 2.3.1.0 selecting bytestring-0.9.2.1 (installed or source) and discarding bytestring-0.9, 0.9.0.1, 0.9.0.2, 0.9.0.3, 0.9.0.4, 0.9.1.0, 0.9.1.1, 0.9.1.2, 0.9.1.3, 0.9.1.4, 0.9.1.5, 0.9.1.6, 0.9.1.7, 0.9.1.8, 0.9.1.9, 0.9.1.10 and 0.9.2.0 selecting old-time-1.0.0.7 (source) and discarding old-time-1.0.0.0, 1.0.0.2, 1.0.0.3, 1.0.0.4, 1.0.0.5 and 1.0.0.6 selecting old-locale-1.0.0.4 (installed or source) and discarding old-locale-1.0.0.0, 1.0.0.1, 1.0.0.2 and 1.0.0.3 selecting filepath-1.2.0.1 (installed or source) and discarding filepath-1.1.0.0, 1.1.0.1, 1.1.0.2, 1.1.0.3, 1.1.0.4 and 1.2.0.0 selecting containers-0.4.2.1 (installed or source) and discarding containers-0.1.0.0, 0.1.0.1, 0.2.0.0, 0.2.0.1, 0.3.0.0, 0.4.0.0, 0.4.1.0, 0.4.2.0, deepseq-1.1.0.0, 1.1.0.1 and 1.1.0.2 selecting deepseq-1.3.0.0 (installed or source) and discarding deepseq-1.2.0.0 and 1.2.0.1 selecting array-0.3.0.3 (source) and discarding array-0.1.0.0, 0.2.0.0, 0.3.0.0, 0.3.0.1 and 0.3.0.2 In order, the following would be installed: array-0.3.0.3 (new version) deepseq-1.3.0.0 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 containers-0.4.2.1 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 old-time-1.0.0.7 (new version) pretty-1.0.1.2 (new version) text-0.11.1.13 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 parsec-3.1.2 (reinstall) time-1.2.0.5 (new version) random-1.0.1.1 (reinstall) changes: time-1.4 -> 1.2.0.5 unix-2.3.2.0 (new version) directory-1.1.0.2 (reinstall) changes: filepath-1.3.0.0 -> 1.2.0.1, old-time-1.1.0.0 -> 1.0.0.7, unix-2.5.1.0 -> 2.3.2.0 network-2.3.0.11 (reinstall) changes: unix-2.5.1.0 -> 2.3.2.0 HTTP-4000.2.2 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3, old-time-1.1.0.0 -> 1.0.0.7 process-1.0.1.5 (new version) Cabal-1.10.2.0 (new version) cabal-install-0.10.2 -bytestring-in-base (new package) cabal: The install plan contains reinstalls which can break your GHC installation. You can try --solver=modular for the new modular solver that chooses such reinstalls less often and also offers the --avoid-reinstalls option. You can also ghc-pkg unregister the affected packages and run ghc-pkg check to see the effect on reverse dependencies. If you know what you are doing you can use the --force-reinstalls option to override this reinstall check. $ ghc --version The Glorious Glasgow Haskell Compilation System, version 7.4.1 $ ghc-pkg list WARNING: there are broken packages. Run 'ghc-pkg check' for more details. /Library/Frameworks/GHC.framework/Versions/7.4.1-i386/usr/lib/ghc-7.4.1/package.conf.d Cabal-1.14.0 array-0.4.0.0 base-4.5.0.0 bin-package-db-0.0.0.0 binary-0.5.1.0 bytestring-0.9.2.1 containers-0.4.2.1 deepseq-1.3.0.0 directory-1.1.0.2 extensible-exceptions-0.1.1.4 filepath-1.3.0.0 ghc-7.4.1 ghc-prim-0.2.0.0 haskell2010-1.1.0.1 haskell98-2.0.0.1 hoopl-3.8.7.3 hpc-0.5.1.1 integer-gmp-0.4.0.0 old-locale-1.0.0.4 old-time-1.1.0.0 pretty-1.1.1.0 process-1.1.0.1 rts-1.0 template-haskell-2.7.0.0 time-1.4 unix-2.5.1.0 /Users/tibbe/.ghc/i386-darwin-7.4.1/package.conf.d ConfigFile-1.1.1 HTTP-4000.2.2 HUnit-1.2.4.2 MissingH-1.1.1.0 MonadCatchIO-transformers-0.2.2.3 PSQueue-1.1 QuickCheck-2.4.2 aeson-0.6.0.0 ansi-terminal-0.5.5 ansi-wl-pprint-0.6.4 attoparsec-0.9.1.2 attoparsec-0.10.1.1 attoparsec-0.10.2.0 attoparsec-enumerator-0.3 base-unicode-symbols-0.2.2.3 base16-bytestring-0.1.1.4 base64-bytestring-0.1.1.1 blaze-builder-0.3.1.0 blaze-builder-enumerator-0.2.0.3 bytestring-lexing-0.2.1 bytestring-mmap-0.2.2 bytestring-nums-0.3.5 cairo-0.12.3 case-insensitive-0.4.0.1 cmdargs-0.9.3 cmdlib-0.3.5 cpphs-1.13.3 criterion-0.6.0.1 darcs-2.9.1 dataenc-0.14.0.3 datetime-0.2.1 directory-1.1.0.2 directory-tree-0.10.0 dlist-0.5 enumerator-0.4.18 erf-2.0.0.0 filepath-1.2.0.1 ghc-events-0.4.0.0 ghc-paths-0.1.0.8 ghc-syb-utils-0.2.1.0 gio-0.12.3 glib-0.12.3 gtk-0.12.3 hashable-1.1.2.3 hashed-storage-0.5.9 hashmap-1.3.0.1 haskeline-0.6.4.6 haskell-src-exts-1.11.1 hastache-0.3.3 hlint-1.8.24 hostname-1.0 hscolour-1.19 hslogger-1.1.5 html-1.0.1.2 ieee754-0.7.3 io-choice-0.0.1 lifted-base-0.1.0.3 math-functions-0.1.1.1 mmap-0.5.7 monad-control-0.3.1 monad-par-0.1.0.3 mtl-2.0.1.0 murmur-hash-0.1.0.5 mwc-random-0.10.0.1 mwc-random-0.11.0.0 network-2.3.0.11 pango-0.12.3 parsec-3.1.2 primitive-0.4.1 random-1.0.1.1 regex-base-0.93.2 regex-compat-0.95.1 regex-posix-0.95.1 shake-0.2.8 snap-core-0.7.0.1 snap-core-0.8.0.1 snap-server-0.7.0.1 snap-server-0.8.0.1 split-0.1.4.2 statistics-0.10.1.0 stringsearch-0.3.6.3 syb-0.3.6 tar-0.3.2.0 terminfo-0.3.2.3 test-framework-0.5 test-framework-hunit-0.2.7 test-framework-quickcheck2-0.2.12 text-0.11.1.13 transformers-0.2.2.0 transformers-base-0.4.1 uniplate-1.6.6 unix-compat-0.3.0.1 unordered-containers-0.1.4.6 unordered-containers-0.2.0.0 utf8-string-0.3.7 vector-0.9.1 vector-algorithms-0.5.4 xml-1.3.12 zlib-0.5.3.3 zlib-bindings-0.0.3.2 zlib-enum-0.2.1 From johan.tibell at gmail.com Tue Apr 17 19:16:32 2012 From: johan.tibell at gmail.com (Johan Tibell) Date: Tue, 17 Apr 2012 10:16:32 -0700 Subject: [Haskell] ANN: cabal-install-0.14.0 In-Reply-To: References: Message-ID: The standard rm -rf ~/.ghc solution didn't help: $ cabal install Cabal cabal-install Resolving dependencies... In order, the following would be installed: array-0.3.0.3 (new version) deepseq-1.3.0.0 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 containers-0.4.2.1 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 filepath-1.2.0.1 (new version) old-time-1.0.0.7 (new version) pretty-1.0.1.2 (new version) text-0.11.2.0 (new package) time-1.2.0.5 (new version) random-1.0.1.1 (new package) transformers-0.3.0.0 (new package) mtl-2.1 (new package) parsec-3.1.2 (new package) unix-2.3.2.0 (new version) directory-1.1.0.2 (reinstall) changes: filepath-1.3.0.0 -> 1.2.0.1, old-time-1.1.0.0 -> 1.0.0.7, unix-2.5.1.0 -> 2.3.2.0 network-2.3.0.11 (new package) HTTP-4000.2.3 (new package) process-1.0.1.5 (new version) Cabal-1.10.2.0 (new version) zlib-0.5.3.3 (new package) cabal-install-0.10.2 -bytestring-in-base (new package) cabal: The install plan contains reinstalls which can break your GHC installation. You can try --solver=modular for the new modular solver that chooses such reinstalls less often and also offers the --avoid-reinstalls option. You can also ghc-pkg unregister the affected packages and run ghc-pkg check to see the effect on reverse dependencies. If you know what you are doing you can use the --force-reinstalls option to override this reinstall check. $ ghc-pkg list /Library/Frameworks/GHC.framework/Versions/7.4.1-i386/usr/lib/ghc-7.4.1/package.conf.d Cabal-1.14.0 array-0.4.0.0 base-4.5.0.0 bin-package-db-0.0.0.0 binary-0.5.1.0 bytestring-0.9.2.1 containers-0.4.2.1 deepseq-1.3.0.0 directory-1.1.0.2 extensible-exceptions-0.1.1.4 filepath-1.3.0.0 ghc-7.4.1 ghc-prim-0.2.0.0 haskell2010-1.1.0.1 haskell98-2.0.0.1 hoopl-3.8.7.3 hpc-0.5.1.1 integer-gmp-0.4.0.0 old-locale-1.0.0.4 old-time-1.1.0.0 pretty-1.1.1.0 process-1.1.0.1 rts-1.0 template-haskell-2.7.0.0 time-1.4 unix-2.5.1.0 From andres.loeh at googlemail.com Tue Apr 17 19:25:20 2012 From: andres.loeh at googlemail.com (=?ISO-8859-1?Q?Andres_L=F6h?=) Date: Tue, 17 Apr 2012 19:25:20 +0200 Subject: [Haskell] ANN: cabal-install-0.14.0 In-Reply-To: References: Message-ID: Hi Johan. I think this is (indirectly) Duncan's fault. He convinced me it'd be a good idea to add a global Hackage preference "cabal-install < 0.14" for now, so that not everybody gets an upgrade warning immediately. But this also means that you have to explicitly select "cabal-install-0.14.0" in order to get it, and I hadn't considered that when writing the announcement. So could you try: $ cabal-install cabal-install-0.14.0 Sorry for the inconvenience. Cheers, Andres From byorgey at seas.upenn.edu Tue Apr 17 19:32:35 2012 From: byorgey at seas.upenn.edu (Brent Yorgey) Date: Tue, 17 Apr 2012 13:32:35 -0400 Subject: [Haskell] ANN: cabal-install-0.14.0 In-Reply-To: References: Message-ID: <20120417173234.GA4790@seas.upenn.edu> > selecting cabal-install-0.10.2 (source) and discarding Cabal-1.1.6, ... Notice it's trying to reinstall the version of cabal-install that you already have. After doing 'cabal update', I get [byorgey at LVN513-9:~]$ cabal list cabal-install * cabal-install Synopsis: The command-line interface for Cabal and Hackage. Default available version: 0.10.2 Installed versions: [ Unknown ] Homepage: http://www.haskell.org/cabal/ License: BSD3 Notice it lists "Default available version: 0.10.2". Maybe this version of cabal-install is listed as "preferred" somehow? I.e. it seems you have to specify the new version of cabal-install explicitly. cabal install cabal-install-0.14.0 works fine for me. -Brent On Tue, Apr 17, 2012 at 10:13:31AM -0700, Johan Tibell wrote: > First, congratulations on the release. > > Unfortunately I ran into a problem that's not obvious to me: > > $ cabal install -v3 Cabal cabal-install > searching for ghc in path. > found ghc at /usr/bin/ghc > ("/usr/bin/ghc",["--numeric-version"]) > /usr/bin/ghc is version 7.4.1 > looking for tool "ghc-pkg" near compiler in /usr/bin > found ghc-pkg in /usr/bin/ghc-pkg > ("/usr/bin/ghc-pkg",["--version"]) > /usr/bin/ghc-pkg is version 7.4.1 > ("/usr/bin/ghc",["--supported-languages"]) > ("/usr/bin/ghc",["--info"]) > Reading installed packages... > ("/usr/bin/ghc-pkg",["dump","--global","-v0"]) > ("/usr/bin/ghc-pkg",["dump","--user","-v0"]) > ("/usr/bin/ghc",["--print-libdir"]) > Reading available packages... > Resolving dependencies... > applying constraint base 'installed' which excludes base-3.0.3.1, > base-3.0.3.2, base-4.0.0.0, base-4.1.0.0, base-4.2.0.0, base-4.2.0.1, > base-4.2.0.2, base-4.3.0.0, base-4.3.1.0, base-4.4.0.0, base-4.4.1.0 and > base-4.5.0.0 > applying constraint ghc-prim 'installed' > excluding syb-0.1.0.2 (it cannot be configured) > excluding syb-0.1.0.3 (it cannot be configured) > excluding syb-0.2 (it cannot be configured) > excluding syb-0.2.1 (it cannot be configured) > excluding syb-0.2.2 (it cannot be configured) > excluding syb-0.3 (it cannot be configured) > excluding syb-0.3.1 (it cannot be configured) > excluding syb-0.3.2 (it cannot be configured) > excluding syb-0.3.3 (it cannot be configured) > excluding syb-0.3.4 (it cannot be configured) > excluding syb-0.3.5 (it cannot be configured) > excluding unix-2.4.0.0 (it cannot be configured) > excluding unix-2.4.0.1 (it cannot be configured) > excluding unix-2.4.0.2 (it cannot be configured) > excluding unix-2.4.1.0 (it cannot be configured) > excluding unix-2.4.2.0 (it cannot be configured) > excluding unix-2.5.0.0 (it cannot be configured) > excluding directory-1.0.1.0 (it cannot be configured) > excluding directory-1.0.1.1 (it cannot be configured) > excluding directory-1.0.1.2 (it cannot be configured) > excluding directory-1.1.0.0 (it cannot be configured) > excluding directory-1.1.0.1 (it cannot be configured) > excluding QuickCheck-1.2.0.0 (it cannot be configured) > excluding text-0.11.1.0 (it cannot be configured) > excluding text-0.11.1.1 (it cannot be configured) > excluding text-0.11.1.2 (it cannot be configured) > excluding text-0.11.1.3 (it cannot be configured) > excluding text-0.11.1.5 (it cannot be configured) > excluding text-0.11.1.6 (it cannot be configured) > excluding text-0.11.1.7 (it cannot be configured) > excluding text-0.11.1.8 (it cannot be configured) > excluding text-0.11.1.9 (it cannot be configured) > excluding Cabal-1.4.0.0 (it cannot be configured) > excluding Cabal-1.4.0.1 (it cannot be configured) > excluding Cabal-1.4.0.2 (it cannot be configured) > excluding network-2.2.1.8 (it cannot be configured) > excluding network-2.2.1.9 (it cannot be configured) > excluding network-2.2.1.10 (it cannot be configured) > excluding network-2.2.3 (it cannot be configured) > excluding network-2.2.3.1 (it cannot be configured) > excluding network-2.3 (it cannot be configured) > excluding network-2.3.0.1 (it cannot be configured) > excluding network-2.3.0.2 (it cannot be configured) > excluding network-2.3.0.3 (it cannot be configured) > excluding network-2.3.0.4 (it cannot be configured) > excluding network-2.3.0.5 (it cannot be configured) > excluding network-2.3.0.6 (it cannot be configured) > excluding network-2.3.0.7 (it cannot be configured) > excluding HTTP-3001.1.3 (it cannot be configured) > excluding HTTP-3001.1.4 (it cannot be configured) > excluding HTTP-3001.1.5 (it cannot be configured) > excluding HTTP-4000.0.8 (it cannot be configured) > excluding HTTP-4000.0.9 (it cannot be configured) > excluding HTTP-4000.0.10 (it cannot be configured) > excluding HTTP-4000.1.0 (it cannot be configured) > excluding HTTP-4000.1.1 (it cannot be configured) > excluding HTTP-4000.1.2 (it cannot be configured) > excluding HTTP-4000.2.0 (it cannot be configured) > excluding HTTP-4000.2.1 (it cannot be configured) > excluding split-0.1.3 (it cannot be configured) > excluding split-0.1.4 (it cannot be configured) > excluding split-0.1.4.1 (it cannot be configured) > excluding zlib-0.2 (it cannot be configured) > excluding cabal-install-0.5.0 (it cannot be configured) > excluding cabal-install-0.5.1 (it cannot be configured) > excluding cabal-install-0.5.2 (it cannot be configured) > excluding cabal-install-0.6.0 (it cannot be configured) > excluding cabal-install-0.6.2 (it cannot be configured) > excluding cabal-install-0.6.4 (it cannot be configured) > excluding special-functors-1.0 (it cannot be configured) > excluding special-functors-1.0.0.1 (it cannot be configured) > selecting cabal-install-0.10.2 (source) and discarding Cabal-1.1.6, 1.2.1, > 1.2.2.0, 1.2.3.0, 1.2.4.0, 1.6.0.1, 1.6.0.2, 1.6.0.3, 1.8.0.2, 1.8.0.4, > 1.8.0.6, 1.10.0.0, 1.12.0, 1.14.0, HTTP-3000.0.0, 3001.0.0, 3001.0.1, > 3001.0.2, 3001.0.3, 3001.0.4, 4000.0.0, 4000.0.1, array-0.4.0.0, > cabal-install-0.4.0, 0.8.0, 0.8.2, 0.10.0, 0.14.0, filepath-1.3.0.0, > old-time-1.1.0.0, pretty-1.1.0.0, 1.1.1.0, process-1.1.0.0, 1.1.0.1, time-1.0, > 1.3, 1.4, 1.4.0.1, unix-2.5.1.0 and zlib-0.3 > selecting base-4.5.0.0 (installed) > selecting ghc-prim-0.2.0.0 (installed) > selecting integer-gmp-0.4.0.0 (installed) > selecting rts-1.0 (installed) > selecting zlib-0.5.3.3 (installed or source) and discarding zlib-0.4, 0.4.0.1, > 0.4.0.2, 0.4.0.3, 0.4.0.4, 0.5.0.0, 0.5.2.0, 0.5.3.1 and 0.5.3.2 > selecting HTTP-4000.2.2 (installed or source) and discarding HTTP-4000.0.2, > 4000.0.3, 4000.0.4, 4000.0.5, 4000.0.6, 4000.0.7, 4000.2.3, mtl-1.0, 1.1.0.0, > 1.1.0.1, 1.1.0.2, 1.1.1.0, 1.1.1.1 and 2.1 > selecting network-2.3.0.11 (installed or source) and discarding network-2.0, > 2.1.0.0, 2.2.0.0, 2.2.0.1, 2.2.1, 2.2.1.1, 2.2.1.2, 2.2.1.3, 2.2.1.4, 2.2.1.5, > 2.2.1.6, 2.2.1.7, 2.3.0.8, 2.3.0.9 and 2.3.0.10 > selecting parsec-3.1.2 (installed or source) and discarding parsec-2.0, > 2.1.0.0, 2.1.0.1, 3.0.0, 3.0.1, 3.1.0, 3.1.1 and text-0.1 > selecting Cabal-1.10.2.0 (source) and discarding Cabal-1.10.1.0 > selecting text-0.11.1.13 (installed or source) and discarding deepseq-1.0.0.0, > text-0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.7.0.1, 0.7.1.0, 0.7.2.1, 0.8.0.0, > 0.8.1.0, 0.9.0.0, 0.9.0.1, 0.9.1.0, 0.10.0.0, 0.10.0.1, 0.10.0.2, 0.11.0.0, > 0.11.0.1, 0.11.0.2, 0.11.0.3, 0.11.0.4, 0.11.0.5, 0.11.0.6, 0.11.0.7, > 0.11.0.8, 0.11.1.10, 0.11.1.11, 0.11.1.12 and 0.11.2.0 > selecting mtl-2.0.1.0 (installed or source) and discarding mtl-2.0.0.0, > transformers-0.0.0.0, 0.0.1.0, 0.1.0.0, 0.1.0.1, 0.1.1.0, 0.1.3.0, 0.1.4.0 and > 0.3.0.0 > selecting transformers-0.2.2.0 (installed or source) and discarding > transformers-0.2.0.0 and 0.2.1.0 > selecting random-1.0.1.1 (installed or source) and discarding random-1.0.0.0, > 1.0.0.1, 1.0.0.2, 1.0.0.3 and 1.0.1.0 > selecting time-1.2.0.5 (source) and discarding time-1.1.2.0, 1.1.2.1, 1.1.2.2, > 1.1.2.3, 1.1.2.4, 1.1.3, 1.1.4, 1.2, 1.2.0.1, 1.2.0.2, 1.2.0.3 and 1.2.0.4 > selecting process-1.0.1.5 (source) and discarding filepath-1.0, > process-1.0.0.0, 1.0.1.1, 1.0.1.2, 1.0.1.3 and 1.0.1.4 > selecting pretty-1.0.1.2 (source) and discarding pretty-1.0.0.0, 1.0.1.0 and > 1.0.1.1 > selecting directory-1.1.0.2 (installed or source) and discarding > directory-1.0.0.0 and 1.0.0.3 > selecting unix-2.3.2.0 (source) and discarding unix-2.0, 2.2.0.0, 2.3.0.0 and > 2.3.1.0 > selecting bytestring-0.9.2.1 (installed or source) and discarding > bytestring-0.9, 0.9.0.1, 0.9.0.2, 0.9.0.3, 0.9.0.4, 0.9.1.0, 0.9.1.1, 0.9.1.2, > 0.9.1.3, 0.9.1.4, 0.9.1.5, 0.9.1.6, 0.9.1.7, 0.9.1.8, 0.9.1.9, 0.9.1.10 and > 0.9.2.0 > selecting old-time-1.0.0.7 (source) and discarding old-time-1.0.0.0, 1.0.0.2, > 1.0.0.3, 1.0.0.4, 1.0.0.5 and 1.0.0.6 > selecting old-locale-1.0.0.4 (installed or source) and discarding > old-locale-1.0.0.0, 1.0.0.1, 1.0.0.2 and 1.0.0.3 > selecting filepath-1.2.0.1 (installed or source) and discarding > filepath-1.1.0.0, 1.1.0.1, 1.1.0.2, 1.1.0.3, 1.1.0.4 and 1.2.0.0 > selecting containers-0.4.2.1 (installed or source) and discarding > containers-0.1.0.0, 0.1.0.1, 0.2.0.0, 0.2.0.1, 0.3.0.0, 0.4.0.0, 0.4.1.0, > 0.4.2.0, deepseq-1.1.0.0, 1.1.0.1 and 1.1.0.2 > selecting deepseq-1.3.0.0 (installed or source) and discarding deepseq-1.2.0.0 > and 1.2.0.1 > selecting array-0.3.0.3 (source) and discarding array-0.1.0.0, 0.2.0.0, > 0.3.0.0, 0.3.0.1 and 0.3.0.2 > In order, the following would be installed: > array-0.3.0.3 (new version) > deepseq-1.3.0.0 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 > containers-0.4.2.1 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 > old-time-1.0.0.7 (new version) > pretty-1.0.1.2 (new version) > text-0.11.1.13 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 > parsec-3.1.2 (reinstall) > time-1.2.0.5 (new version) > random-1.0.1.1 (reinstall) changes: time-1.4 -> 1.2.0.5 > unix-2.3.2.0 (new version) > directory-1.1.0.2 (reinstall) changes: filepath-1.3.0.0 -> 1.2.0.1, > old-time-1.1.0.0 -> 1.0.0.7, unix-2.5.1.0 -> 2.3.2.0 > network-2.3.0.11 (reinstall) changes: unix-2.5.1.0 -> 2.3.2.0 > HTTP-4000.2.2 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3, old-time-1.1.0.0 > -> 1.0.0.7 > process-1.0.1.5 (new version) > Cabal-1.10.2.0 (new version) > cabal-install-0.10.2 -bytestring-in-base (new package) > cabal: The install plan contains reinstalls which can break your GHC > installation. You can try --solver=modular for the new modular solver that > chooses such reinstalls less often and also offers the --avoid-reinstalls > option. You can also ghc-pkg unregister the affected packages and run ghc-pkg > check to see the effect on reverse dependencies. If you know what you are > doing you can use the --force-reinstalls option to override this reinstall > check. > > $ ghc --version > The Glorious Glasgow Haskell Compilation System, version 7.4.1 > > $ ghc-pkg list > WARNING: there are broken packages. Run 'ghc-pkg check' for more details. > /Library/Frameworks/GHC.framework/Versions/7.4.1-i386/usr/lib/ghc-7.4.1/package.conf.d > Cabal-1.14.0 > array-0.4.0.0 > base-4.5.0.0 > bin-package-db-0.0.0.0 > binary-0.5.1.0 > bytestring-0.9.2.1 > containers-0.4.2.1 > deepseq-1.3.0.0 > directory-1.1.0.2 > extensible-exceptions-0.1.1.4 > filepath-1.3.0.0 > ghc-7.4.1 > ghc-prim-0.2.0.0 > haskell2010-1.1.0.1 > haskell98-2.0.0.1 > hoopl-3.8.7.3 > hpc-0.5.1.1 > integer-gmp-0.4.0.0 > old-locale-1.0.0.4 > old-time-1.1.0.0 > pretty-1.1.1.0 > process-1.1.0.1 > rts-1.0 > template-haskell-2.7.0.0 > time-1.4 > unix-2.5.1.0 > /Users/tibbe/.ghc/i386-darwin-7.4.1/package.conf.d > ConfigFile-1.1.1 > HTTP-4000.2.2 > HUnit-1.2.4.2 > MissingH-1.1.1.0 > MonadCatchIO-transformers-0.2.2.3 > PSQueue-1.1 > QuickCheck-2.4.2 > aeson-0.6.0.0 > ansi-terminal-0.5.5 > ansi-wl-pprint-0.6.4 > attoparsec-0.9.1.2 > attoparsec-0.10.1.1 > attoparsec-0.10.2.0 > attoparsec-enumerator-0.3 > base-unicode-symbols-0.2.2.3 > base16-bytestring-0.1.1.4 > base64-bytestring-0.1.1.1 > blaze-builder-0.3.1.0 > blaze-builder-enumerator-0.2.0.3 > bytestring-lexing-0.2.1 > bytestring-mmap-0.2.2 > bytestring-nums-0.3.5 > cairo-0.12.3 > case-insensitive-0.4.0.1 > cmdargs-0.9.3 > cmdlib-0.3.5 > cpphs-1.13.3 > criterion-0.6.0.1 > darcs-2.9.1 > dataenc-0.14.0.3 > datetime-0.2.1 > directory-1.1.0.2 > directory-tree-0.10.0 > dlist-0.5 > enumerator-0.4.18 > erf-2.0.0.0 > filepath-1.2.0.1 > ghc-events-0.4.0.0 > ghc-paths-0.1.0.8 > ghc-syb-utils-0.2.1.0 > gio-0.12.3 > glib-0.12.3 > gtk-0.12.3 > hashable-1.1.2.3 > hashed-storage-0.5.9 > hashmap-1.3.0.1 > haskeline-0.6.4.6 > haskell-src-exts-1.11.1 > hastache-0.3.3 > hlint-1.8.24 > hostname-1.0 > hscolour-1.19 > hslogger-1.1.5 > html-1.0.1.2 > ieee754-0.7.3 > io-choice-0.0.1 > lifted-base-0.1.0.3 > math-functions-0.1.1.1 > mmap-0.5.7 > monad-control-0.3.1 > monad-par-0.1.0.3 > mtl-2.0.1.0 > murmur-hash-0.1.0.5 > mwc-random-0.10.0.1 > mwc-random-0.11.0.0 > network-2.3.0.11 > pango-0.12.3 > parsec-3.1.2 > primitive-0.4.1 > random-1.0.1.1 > regex-base-0.93.2 > regex-compat-0.95.1 > regex-posix-0.95.1 > shake-0.2.8 > snap-core-0.7.0.1 > snap-core-0.8.0.1 > snap-server-0.7.0.1 > snap-server-0.8.0.1 > split-0.1.4.2 > statistics-0.10.1.0 > stringsearch-0.3.6.3 > syb-0.3.6 > tar-0.3.2.0 > terminfo-0.3.2.3 > test-framework-0.5 > test-framework-hunit-0.2.7 > test-framework-quickcheck2-0.2.12 > text-0.11.1.13 > transformers-0.2.2.0 > transformers-base-0.4.1 > uniplate-1.6.6 > unix-compat-0.3.0.1 > unordered-containers-0.1.4.6 > unordered-containers-0.2.0.0 > utf8-string-0.3.7 > vector-0.9.1 > vector-algorithms-0.5.4 > xml-1.3.12 > zlib-0.5.3.3 > zlib-bindings-0.0.3.2 > zlib-enum-0.2.1 > > _______________________________________________ > Haskell mailing list > Haskell at haskell.org > http://www.haskell.org/mailman/listinfo/haskell From niklas.broberg at gmail.com Wed Apr 18 09:29:59 2012 From: niklas.broberg at gmail.com (Niklas Broberg) Date: Wed, 18 Apr 2012 09:29:59 +0200 Subject: [Haskell] ANNOUNCE: haskell-src-exts-1.13.2 Message-ID: Fellow Haskelleers, I'm pleased to announce the release of haskell-src-exts-1.13.2! * On hackage: http://hackage.haskell.org/package/haskell-src-exts * Via cabal: cabal install haskell-src-exts * Darcs repo: http://code.haskell.org/haskell-src-exts This release contains only a few small tweaks and bug-fixes. Changelog: 1.13.1 --> 1.13.2 =============== * Fix the bug with the precedence of unary prefix minus. Previously it was resolved as binding more tightly than any infix operator, now it is correctly treated as having the same fixity as binary infix minus. 1.13.0 --> 1.13.1 =============== * Allow an optional semi before the closing tag of an element. This achieves a similar effect for XmlSyntax in do blocks as DoAndIfThenElse does for the if construct. No more need to indent the closing tag one step further than the opening tag. * Add a dummy 'noLoc :: SrcLoc' to L.H.E.SrcLoc, to use when generating code. It could definitely be done more elegantly, but not without inducing another major version bump, so later. * Fix a regression from 1.11.x where the parser would crash upon encountering non-simple class/data declaration heads, e.g. 'data A [a]'. Now fails with a parse error as intended. Cheers, /Niklas -------------- next part -------------- An HTML attachment was scrubbed... URL: From rrnewton at gmail.com Wed Apr 18 21:00:53 2012 From: rrnewton at gmail.com (Ryan Newton) Date: Wed, 18 Apr 2012 15:00:53 -0400 Subject: [Haskell] ANN: cabal-install-0.14.0 In-Reply-To: <20120417173234.GA4790@seas.upenn.edu> References: <20120417173234.GA4790@seas.upenn.edu> Message-ID: It built fine for me. I notice that it doesn't have the parallel build patches from the GSOC. I've been using cabal with those patches for a while and was wondering what this signifies for the future inclusion of them in a release? Thanks, -Ryan On Tue, Apr 17, 2012 at 1:32 PM, Brent Yorgey wrote: > > selecting cabal-install-0.10.2 (source) and discarding Cabal-1.1.6, ... > > Notice it's trying to reinstall the version of cabal-install that you > already have. > > After doing 'cabal update', I get > > [byorgey at LVN513-9:~]$ cabal list cabal-install > * cabal-install > Synopsis: The command-line interface for Cabal and Hackage. > Default available version: 0.10.2 > Installed versions: [ Unknown ] > Homepage: http://www.haskell.org/cabal/ > License: BSD3 > > Notice it lists "Default available version: 0.10.2". Maybe this > version of cabal-install is listed as "preferred" somehow? I.e. it > seems you have to specify the new version of cabal-install explicitly. > > cabal install cabal-install-0.14.0 works fine for me. > > -Brent > > > On Tue, Apr 17, 2012 at 10:13:31AM -0700, Johan Tibell wrote: > > First, congratulations on the release. > > > > Unfortunately I ran into a problem that's not obvious to me: > > > > $ cabal install -v3 Cabal cabal-install > > searching for ghc in path. > > found ghc at /usr/bin/ghc > > ("/usr/bin/ghc",["--numeric-version"]) > > /usr/bin/ghc is version 7.4.1 > > looking for tool "ghc-pkg" near compiler in /usr/bin > > found ghc-pkg in /usr/bin/ghc-pkg > > ("/usr/bin/ghc-pkg",["--version"]) > > /usr/bin/ghc-pkg is version 7.4.1 > > ("/usr/bin/ghc",["--supported-languages"]) > > ("/usr/bin/ghc",["--info"]) > > Reading installed packages... > > ("/usr/bin/ghc-pkg",["dump","--global","-v0"]) > > ("/usr/bin/ghc-pkg",["dump","--user","-v0"]) > > ("/usr/bin/ghc",["--print-libdir"]) > > Reading available packages... > > Resolving dependencies... > > applying constraint base 'installed' which excludes base-3.0.3.1, > > base-3.0.3.2, base-4.0.0.0, base-4.1.0.0, base-4.2.0.0, base-4.2.0.1, > > base-4.2.0.2, base-4.3.0.0, base-4.3.1.0, base-4.4.0.0, base-4.4.1.0 and > > base-4.5.0.0 > > applying constraint ghc-prim 'installed' > > excluding syb-0.1.0.2 (it cannot be configured) > > excluding syb-0.1.0.3 (it cannot be configured) > > excluding syb-0.2 (it cannot be configured) > > excluding syb-0.2.1 (it cannot be configured) > > excluding syb-0.2.2 (it cannot be configured) > > excluding syb-0.3 (it cannot be configured) > > excluding syb-0.3.1 (it cannot be configured) > > excluding syb-0.3.2 (it cannot be configured) > > excluding syb-0.3.3 (it cannot be configured) > > excluding syb-0.3.4 (it cannot be configured) > > excluding syb-0.3.5 (it cannot be configured) > > excluding unix-2.4.0.0 (it cannot be configured) > > excluding unix-2.4.0.1 (it cannot be configured) > > excluding unix-2.4.0.2 (it cannot be configured) > > excluding unix-2.4.1.0 (it cannot be configured) > > excluding unix-2.4.2.0 (it cannot be configured) > > excluding unix-2.5.0.0 (it cannot be configured) > > excluding directory-1.0.1.0 (it cannot be configured) > > excluding directory-1.0.1.1 (it cannot be configured) > > excluding directory-1.0.1.2 (it cannot be configured) > > excluding directory-1.1.0.0 (it cannot be configured) > > excluding directory-1.1.0.1 (it cannot be configured) > > excluding QuickCheck-1.2.0.0 (it cannot be configured) > > excluding text-0.11.1.0 (it cannot be configured) > > excluding text-0.11.1.1 (it cannot be configured) > > excluding text-0.11.1.2 (it cannot be configured) > > excluding text-0.11.1.3 (it cannot be configured) > > excluding text-0.11.1.5 (it cannot be configured) > > excluding text-0.11.1.6 (it cannot be configured) > > excluding text-0.11.1.7 (it cannot be configured) > > excluding text-0.11.1.8 (it cannot be configured) > > excluding text-0.11.1.9 (it cannot be configured) > > excluding Cabal-1.4.0.0 (it cannot be configured) > > excluding Cabal-1.4.0.1 (it cannot be configured) > > excluding Cabal-1.4.0.2 (it cannot be configured) > > excluding network-2.2.1.8 (it cannot be configured) > > excluding network-2.2.1.9 (it cannot be configured) > > excluding network-2.2.1.10 (it cannot be configured) > > excluding network-2.2.3 (it cannot be configured) > > excluding network-2.2.3.1 (it cannot be configured) > > excluding network-2.3 (it cannot be configured) > > excluding network-2.3.0.1 (it cannot be configured) > > excluding network-2.3.0.2 (it cannot be configured) > > excluding network-2.3.0.3 (it cannot be configured) > > excluding network-2.3.0.4 (it cannot be configured) > > excluding network-2.3.0.5 (it cannot be configured) > > excluding network-2.3.0.6 (it cannot be configured) > > excluding network-2.3.0.7 (it cannot be configured) > > excluding HTTP-3001.1.3 (it cannot be configured) > > excluding HTTP-3001.1.4 (it cannot be configured) > > excluding HTTP-3001.1.5 (it cannot be configured) > > excluding HTTP-4000.0.8 (it cannot be configured) > > excluding HTTP-4000.0.9 (it cannot be configured) > > excluding HTTP-4000.0.10 (it cannot be configured) > > excluding HTTP-4000.1.0 (it cannot be configured) > > excluding HTTP-4000.1.1 (it cannot be configured) > > excluding HTTP-4000.1.2 (it cannot be configured) > > excluding HTTP-4000.2.0 (it cannot be configured) > > excluding HTTP-4000.2.1 (it cannot be configured) > > excluding split-0.1.3 (it cannot be configured) > > excluding split-0.1.4 (it cannot be configured) > > excluding split-0.1.4.1 (it cannot be configured) > > excluding zlib-0.2 (it cannot be configured) > > excluding cabal-install-0.5.0 (it cannot be configured) > > excluding cabal-install-0.5.1 (it cannot be configured) > > excluding cabal-install-0.5.2 (it cannot be configured) > > excluding cabal-install-0.6.0 (it cannot be configured) > > excluding cabal-install-0.6.2 (it cannot be configured) > > excluding cabal-install-0.6.4 (it cannot be configured) > > excluding special-functors-1.0 (it cannot be configured) > > excluding special-functors-1.0.0.1 (it cannot be configured) > > selecting cabal-install-0.10.2 (source) and discarding Cabal-1.1.6, > 1.2.1, > > 1.2.2.0, 1.2.3.0, 1.2.4.0, 1.6.0.1, 1.6.0.2, 1.6.0.3, 1.8.0.2, 1.8.0.4, > > 1.8.0.6, 1.10.0.0, 1.12.0, 1.14.0, HTTP-3000.0.0, 3001.0.0, 3001.0.1, > > 3001.0.2, 3001.0.3, 3001.0.4, 4000.0.0, 4000.0.1, array-0.4.0.0, > > cabal-install-0.4.0, 0.8.0, 0.8.2, 0.10.0, 0.14.0, filepath-1.3.0.0, > > old-time-1.1.0.0, pretty-1.1.0.0, 1.1.1.0, process-1.1.0.0, 1.1.0.1, > time-1.0, > > 1.3, 1.4, 1.4.0.1, unix-2.5.1.0 and zlib-0.3 > > selecting base-4.5.0.0 (installed) > > selecting ghc-prim-0.2.0.0 (installed) > > selecting integer-gmp-0.4.0.0 (installed) > > selecting rts-1.0 (installed) > > selecting zlib-0.5.3.3 (installed or source) and discarding zlib-0.4, > 0.4.0.1, > > 0.4.0.2, 0.4.0.3, 0.4.0.4, 0.5.0.0, 0.5.2.0, 0.5.3.1 and 0.5.3.2 > > selecting HTTP-4000.2.2 (installed or source) and discarding > HTTP-4000.0.2, > > 4000.0.3, 4000.0.4, 4000.0.5, 4000.0.6, 4000.0.7, 4000.2.3, mtl-1.0, > 1.1.0.0, > > 1.1.0.1, 1.1.0.2, 1.1.1.0, 1.1.1.1 and 2.1 > > selecting network-2.3.0.11 (installed or source) and discarding > network-2.0, > > 2.1.0.0, 2.2.0.0, 2.2.0.1, 2.2.1, 2.2.1.1, 2.2.1.2, 2.2.1.3, 2.2.1.4, > 2.2.1.5, > > 2.2.1.6, 2.2.1.7, 2.3.0.8, 2.3.0.9 and 2.3.0.10 > > selecting parsec-3.1.2 (installed or source) and discarding parsec-2.0, > > 2.1.0.0, 2.1.0.1, 3.0.0, 3.0.1, 3.1.0, 3.1.1 and text-0.1 > > selecting Cabal-1.10.2.0 (source) and discarding Cabal-1.10.1.0 > > selecting text-0.11.1.13 (installed or source) and discarding > deepseq-1.0.0.0, > > text-0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.7.0.1, 0.7.1.0, 0.7.2.1, 0.8.0.0, > > 0.8.1.0, 0.9.0.0, 0.9.0.1, 0.9.1.0, 0.10.0.0, 0.10.0.1, 0.10.0.2, > 0.11.0.0, > > 0.11.0.1, 0.11.0.2, 0.11.0.3, 0.11.0.4, 0.11.0.5, 0.11.0.6, 0.11.0.7, > > 0.11.0.8, 0.11.1.10, 0.11.1.11, 0.11.1.12 and 0.11.2.0 > > selecting mtl-2.0.1.0 (installed or source) and discarding mtl-2.0.0.0, > > transformers-0.0.0.0, 0.0.1.0, 0.1.0.0, 0.1.0.1, 0.1.1.0, 0.1.3.0, > 0.1.4.0 and > > 0.3.0.0 > > selecting transformers-0.2.2.0 (installed or source) and discarding > > transformers-0.2.0.0 and 0.2.1.0 > > selecting random-1.0.1.1 (installed or source) and discarding > random-1.0.0.0, > > 1.0.0.1, 1.0.0.2, 1.0.0.3 and 1.0.1.0 > > selecting time-1.2.0.5 (source) and discarding time-1.1.2.0, 1.1.2.1, > 1.1.2.2, > > 1.1.2.3, 1.1.2.4, 1.1.3, 1.1.4, 1.2, 1.2.0.1, 1.2.0.2, 1.2.0.3 and > 1.2.0.4 > > selecting process-1.0.1.5 (source) and discarding filepath-1.0, > > process-1.0.0.0, 1.0.1.1, 1.0.1.2, 1.0.1.3 and 1.0.1.4 > > selecting pretty-1.0.1.2 (source) and discarding pretty-1.0.0.0, 1.0.1.0 > and > > 1.0.1.1 > > selecting directory-1.1.0.2 (installed or source) and discarding > > directory-1.0.0.0 and 1.0.0.3 > > selecting unix-2.3.2.0 (source) and discarding unix-2.0, 2.2.0.0, > 2.3.0.0 and > > 2.3.1.0 > > selecting bytestring-0.9.2.1 (installed or source) and discarding > > bytestring-0.9, 0.9.0.1, 0.9.0.2, 0.9.0.3, 0.9.0.4, 0.9.1.0, 0.9.1.1, > 0.9.1.2, > > 0.9.1.3, 0.9.1.4, 0.9.1.5, 0.9.1.6, 0.9.1.7, 0.9.1.8, 0.9.1.9, 0.9.1.10 > and > > 0.9.2.0 > > selecting old-time-1.0.0.7 (source) and discarding old-time-1.0.0.0, > 1.0.0.2, > > 1.0.0.3, 1.0.0.4, 1.0.0.5 and 1.0.0.6 > > selecting old-locale-1.0.0.4 (installed or source) and discarding > > old-locale-1.0.0.0, 1.0.0.1, 1.0.0.2 and 1.0.0.3 > > selecting filepath-1.2.0.1 (installed or source) and discarding > > filepath-1.1.0.0, 1.1.0.1, 1.1.0.2, 1.1.0.3, 1.1.0.4 and 1.2.0.0 > > selecting containers-0.4.2.1 (installed or source) and discarding > > containers-0.1.0.0, 0.1.0.1, 0.2.0.0, 0.2.0.1, 0.3.0.0, 0.4.0.0, 0.4.1.0, > > 0.4.2.0, deepseq-1.1.0.0, 1.1.0.1 and 1.1.0.2 > > selecting deepseq-1.3.0.0 (installed or source) and discarding > deepseq-1.2.0.0 > > and 1.2.0.1 > > selecting array-0.3.0.3 (source) and discarding array-0.1.0.0, 0.2.0.0, > > 0.3.0.0, 0.3.0.1 and 0.3.0.2 > > In order, the following would be installed: > > array-0.3.0.3 (new version) > > deepseq-1.3.0.0 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 > > containers-0.4.2.1 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 > > old-time-1.0.0.7 (new version) > > pretty-1.0.1.2 (new version) > > text-0.11.1.13 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3 > > parsec-3.1.2 (reinstall) > > time-1.2.0.5 (new version) > > random-1.0.1.1 (reinstall) changes: time-1.4 -> 1.2.0.5 > > unix-2.3.2.0 (new version) > > directory-1.1.0.2 (reinstall) changes: filepath-1.3.0.0 -> 1.2.0.1, > > old-time-1.1.0.0 -> 1.0.0.7, unix-2.5.1.0 -> 2.3.2.0 > > network-2.3.0.11 (reinstall) changes: unix-2.5.1.0 -> 2.3.2.0 > > HTTP-4000.2.2 (reinstall) changes: array-0.4.0.0 -> 0.3.0.3, > old-time-1.1.0.0 > > -> 1.0.0.7 > > process-1.0.1.5 (new version) > > Cabal-1.10.2.0 (new version) > > cabal-install-0.10.2 -bytestring-in-base (new package) > > cabal: The install plan contains reinstalls which can break your GHC > > installation. You can try --solver=modular for the new modular solver > that > > chooses such reinstalls less often and also offers the --avoid-reinstalls > > option. You can also ghc-pkg unregister the affected packages and run > ghc-pkg > > check to see the effect on reverse dependencies. If you know what you are > > doing you can use the --force-reinstalls option to override this > reinstall > > check. > > > > $ ghc --version > > The Glorious Glasgow Haskell Compilation System, version 7.4.1 > > > > $ ghc-pkg list > > WARNING: there are broken packages. Run 'ghc-pkg check' for more > details. > > > /Library/Frameworks/GHC.framework/Versions/7.4.1-i386/usr/lib/ghc-7.4.1/package.conf.d > > Cabal-1.14.0 > > array-0.4.0.0 > > base-4.5.0.0 > > bin-package-db-0.0.0.0 > > binary-0.5.1.0 > > bytestring-0.9.2.1 > > containers-0.4.2.1 > > deepseq-1.3.0.0 > > directory-1.1.0.2 > > extensible-exceptions-0.1.1.4 > > filepath-1.3.0.0 > > ghc-7.4.1 > > ghc-prim-0.2.0.0 > > haskell2010-1.1.0.1 > > haskell98-2.0.0.1 > > hoopl-3.8.7.3 > > hpc-0.5.1.1 > > integer-gmp-0.4.0.0 > > old-locale-1.0.0.4 > > old-time-1.1.0.0 > > pretty-1.1.1.0 > > process-1.1.0.1 > > rts-1.0 > > template-haskell-2.7.0.0 > > time-1.4 > > unix-2.5.1.0 > > /Users/tibbe/.ghc/i386-darwin-7.4.1/package.conf.d > > ConfigFile-1.1.1 > > HTTP-4000.2.2 > > HUnit-1.2.4.2 > > MissingH-1.1.1.0 > > MonadCatchIO-transformers-0.2.2.3 > > PSQueue-1.1 > > QuickCheck-2.4.2 > > aeson-0.6.0.0 > > ansi-terminal-0.5.5 > > ansi-wl-pprint-0.6.4 > > attoparsec-0.9.1.2 > > attoparsec-0.10.1.1 > > attoparsec-0.10.2.0 > > attoparsec-enumerator-0.3 > > base-unicode-symbols-0.2.2.3 > > base16-bytestring-0.1.1.4 > > base64-bytestring-0.1.1.1 > > blaze-builder-0.3.1.0 > > blaze-builder-enumerator-0.2.0.3 > > bytestring-lexing-0.2.1 > > bytestring-mmap-0.2.2 > > bytestring-nums-0.3.5 > > cairo-0.12.3 > > case-insensitive-0.4.0.1 > > cmdargs-0.9.3 > > cmdlib-0.3.5 > > cpphs-1.13.3 > > criterion-0.6.0.1 > > darcs-2.9.1 > > dataenc-0.14.0.3 > > datetime-0.2.1 > > directory-1.1.0.2 > > directory-tree-0.10.0 > > dlist-0.5 > > enumerator-0.4.18 > > erf-2.0.0.0 > > filepath-1.2.0.1 > > ghc-events-0.4.0.0 > > ghc-paths-0.1.0.8 > > ghc-syb-utils-0.2.1.0 > > gio-0.12.3 > > glib-0.12.3 > > gtk-0.12.3 > > hashable-1.1.2.3 > > hashed-storage-0.5.9 > > hashmap-1.3.0.1 > > haskeline-0.6.4.6 > > haskell-src-exts-1.11.1 > > hastache-0.3.3 > > hlint-1.8.24 > > hostname-1.0 > > hscolour-1.19 > > hslogger-1.1.5 > > html-1.0.1.2 > > ieee754-0.7.3 > > io-choice-0.0.1 > > lifted-base-0.1.0.3 > > math-functions-0.1.1.1 > > mmap-0.5.7 > > monad-control-0.3.1 > > monad-par-0.1.0.3 > > mtl-2.0.1.0 > > murmur-hash-0.1.0.5 > > mwc-random-0.10.0.1 > > mwc-random-0.11.0.0 > > network-2.3.0.11 > > pango-0.12.3 > > parsec-3.1.2 > > primitive-0.4.1 > > random-1.0.1.1 > > regex-base-0.93.2 > > regex-compat-0.95.1 > > regex-posix-0.95.1 > > shake-0.2.8 > > snap-core-0.7.0.1 > > snap-core-0.8.0.1 > > snap-server-0.7.0.1 > > snap-server-0.8.0.1 > > split-0.1.4.2 > > statistics-0.10.1.0 > > stringsearch-0.3.6.3 > > syb-0.3.6 > > tar-0.3.2.0 > > terminfo-0.3.2.3 > > test-framework-0.5 > > test-framework-hunit-0.2.7 > > test-framework-quickcheck2-0.2.12 > > text-0.11.1.13 > > transformers-0.2.2.0 > > transformers-base-0.4.1 > > uniplate-1.6.6 > > unix-compat-0.3.0.1 > > unordered-containers-0.1.4.6 > > unordered-containers-0.2.0.0 > > utf8-string-0.3.7 > > vector-0.9.1 > > vector-algorithms-0.5.4 > > xml-1.3.12 > > zlib-0.5.3.3 > > zlib-bindings-0.0.3.2 > > zlib-enum-0.2.1 > > > > _______________________________________________ > > Haskell mailing list > > Haskell at haskell.org > > http://www.haskell.org/mailman/listinfo/haskell > > _______________________________________________ > Haskell mailing list > Haskell at haskell.org > http://www.haskell.org/mailman/listinfo/haskell > -------------- next part -------------- An HTML attachment was scrubbed... URL: From andres.loeh at googlemail.com Wed Apr 18 22:49:34 2012 From: andres.loeh at googlemail.com (=?ISO-8859-1?Q?Andres_L=F6h?=) Date: Wed, 18 Apr 2012 22:49:34 +0200 Subject: [Haskell] ANN: cabal-install-0.14.0 In-Reply-To: References: <20120417173234.GA4790@seas.upenn.edu> Message-ID: Hi Ryan. > It built fine for me. Glad to hear that. > I notice that it doesn't have the parallel build patches from the GSOC. That's right. > ?I've been using cabal with those patches for a while and was wondering what > this signifies for the future inclusion of them in a release? They will be included in a future release. In cabal-install-0.14.0, they currently couldn't be included, because in their current form they require some changes to the Cabal library, and it was one of the criteria for the release of cabal-install-0.14.0 that it must build with Cabal-1.14 as shipped with ghc-7.4.1. I also hope that the time between cabal-install releases will be somewhat shorter from now on :) Cheers, Andres From dstcruz at gmail.com Thu Apr 19 05:42:34 2012 From: dstcruz at gmail.com (Daniel Santa Cruz) Date: Wed, 18 Apr 2012 23:42:34 -0400 Subject: [Haskell] Haskell Weekly News: Issue 223 Message-ID: Welcome to issue 223 of the HWN, an issue covering crowd-sourced bits of information about Haskell from around the web. This issue covers the week of April 8 to 14, 2012. Quotes of the Week * merijn: I'm tempted to just do unsafePerformIO newEmptyMVar at the top level quicksilver: I can't really be expected to deal with your sinfulness. That's between you and your god. * acowley: Good haskell code is 20 LANGUAGE pragmas, 40 imports, then one line of perl. * deggis: oh. running GHC HEAD. must try that next week if coffee just someday isn't enough * dmwit: hGetContents does not close its handle. dmwit: hGetContents semicloses its handle. * monochrom: isTrue = (unsafeCoerce :: Either a b -> Bool) . (unsafeCoerce :: Maybe c -> Either a b) . (unsafeCoerce :: Bool -> Maybe c) * dmwit: For basically all good properties P, IEEE 754 is not P. * Cale: Little known fact: For any positive integer n, the infinite sequence of Project Euler problems has only finitely many elements whose solution is not divisible by n. Top Reddit Stories * Announcing Yesod 1.0 Domain: yesodweb.com, Score: 101, Comments: 42 On Reddit: [1] http://goo.gl/izD19 Original: [2] http://goo.gl/oTSto * Why reasoning about space usage in Haskell is hard Domain: ro-che.info, Score: 63, Comments: 14 On Reddit: [3] http://goo.gl/yIkI4 Original: [4] http://goo.gl/IAQtu * GHC HEAD now has type level natural number/ literals Domain: github.com, Score: 63, Comments: 18 On Reddit: [5] http://goo.gl/GfGbB Original: [6] http://goo.gl/Lkp6v * Working Together Domain: yesodweb.com, Score: 62, Comments: 31 On Reddit: [7] http://goo.gl/o3G85 Original: [8] http://goo.gl/jBdJA * How less is more : polymorphic types can improve safety even in monomorphic functions Domain: blog.malde.org, Score: 61, Comments: 13 On Reddit: [9] http://goo.gl/fzUlO Original: [10] http://goo.gl/WHE3A * A Hopefully Fair and Useful Comparison of Haskell Web Frameworks Domain: softwaresimply.blogspot.com, Score: 60, Comments: 30 On Reddit: [11] http://goo.gl/WuDuL Original: [12] http://goo.gl/DXBA8 * First impressions of Haskell: A review of my Haskell adventure Domain: binarysculpting.com, Score: 46, Comments: 36 On Reddit: [13] http://goo.gl/gG0fl Original: [14] http://goo.gl/ZqUT3 * A "radix tree" import syntax? Domain: self.haskell, Score: 41, Comments: 26 On Reddit: [15] http://goo.gl/kBOLZ Original: [16] http://goo.gl/kBOLZ * Using ContT to please the eye Domain: self.haskell, Score: 28, Comments: 15 On Reddit: [17] http://goo.gl/hbFrs Original: [18] http://goo.gl/hbFrs * Designing a DCPU-16 emulator in Haskell: on determinism and I/O Domain: jaspervdj.be, Score: 28, Comments: 6 On Reddit: [19] http://goo.gl/KHIgP Original: [20] http://goo.gl/NT89i Top StackOverflow Questions * What are type quantifiers? votes: 15, answers: 3 Read on SO: [21] http://goo.gl/d3hnH * Haskell: How does 'atomicModifyIORef' work? votes: 12, answers: 2 Read on SO: [22] http://goo.gl/3b5dK * Is there a runtime penalty associated with typeclasses? votes: 12, answers: 1 Read on SO: [23] http://goo.gl/Isw7k * Timing out pure functions votes: 11, answers: 1 Read on SO: [24] http://goo.gl/aTzVG * Haskell - simple constructor comparison (?) function votes: 11, answers: 3 Read on SO: [25] http://goo.gl/ZC6CC * Partial Application with Infix Functions votes: 10, answers: 3 Read on SO: [26] http://goo.gl/QvabF * Haskell: Why is there no type mismatch (and why does this compile)? votes: 9, answers: 2 Read on SO: [27] http://goo.gl/1gxFE * ?Dependent optional? data in Haskell votes: 9, answers: 4 Read on SO: [28] http://goo.gl/9K5Wx * How can I help SpecConstr in GHC? votes: 8, answers: 2 Read on SO: [29] http://goo.gl/PGa4C * How to get good performance when writing a list of integers from 1 to 10 million to a file? votes: 7, answers: 2 Read on SO: [30] http://goo.gl/Kym6r * Efficiently turn a ByteString into a hex representation votes: 7, answers: 1 Read on SO: [31] http://goo.gl/aq2ct Until next time, Daniel Santa Cruz References 1. http://www.yesodweb.com/blog/2012/04/announcing-yesod-1-0 2. http://www.reddit.com/r/haskell/comments/s0tr2/announcing_yesod_10/ 3. http://ro-che.info/articles/2012-04-08-space-usage-reasoning.html 4. http://www.reddit.com/r/haskell/comments/rzu8a/why_reasoning_about_space_usage_in_haskell_is_hard/ 5. https://github.com/ghc/packages-base/blob/b5b5ec18819fb85ebf1bdb6345ac031787e6fd54/GHC/TypeLits.hs 6. http://www.reddit.com/r/haskell/comments/s0vln/ghc_head_now_has_type_level_natural_number/ 7. http://www.yesodweb.com/blog/2012/04/working-together 8. http://www.reddit.com/r/haskell/comments/s2ei5/working_together/ 9. http://blog.malde.org/posts/polymorphic-types-are-safer.html 10. http://www.reddit.com/r/haskell/comments/s7q3b/how_less_is_more_polymorphic_types_can_improve/ 11. http://softwaresimply.blogspot.com/2012/04/hopefully-fair-and-useful-comparison-of.html 12. http://www.reddit.com/r/haskell/comments/s3pbm/a_hopefully_fair_and_useful_comparison_of_haskell/ 13. http://binarysculpting.com/2012/04/12/a-review-of-my-haskell-adventure/ 14. http://www.reddit.com/r/haskell/comments/s6okb/first_impressions_of_haskell_a_review_of_my/ 15. http://www.reddit.com/r/haskell/comments/s2o8p/a_radix_tree_import_syntax/ 16. http://www.reddit.com/r/haskell/comments/s2o8p/a_radix_tree_import_syntax/ 17. http://www.reddit.com/r/haskell/comments/s49kk/using_contt_to_please_the_eye/ 18. http://www.reddit.com/r/haskell/comments/s49kk/using_contt_to_please_the_eye/ 19. http://jaspervdj.be/posts/2012-04-12-st-io-dcpu-16.html 20. http://www.reddit.com/r/haskell/comments/s5xqb/designing_a_dcpu16_emulator_in_haskell_on/ 21. http://stackoverflow.com/questions/10062253/what-are-type-quantifiers 22. http://stackoverflow.com/questions/10102881/haskell-how-does-atomicmodifyioref-work 23. http://stackoverflow.com/questions/10148897/is-there-a-runtime-penalty-associated-with-typeclasses 24. http://stackoverflow.com/questions/10071560/timing-out-pure-functions 25. http://stackoverflow.com/questions/10112733/haskell-simple-constructor-comparison-function 26. http://stackoverflow.com/questions/10131300/partial-application-with-infix-functions 27. http://stackoverflow.com/questions/10091874/haskell-why-is-there-no-type-mismatch-and-why-does-this-compile 28. http://stackoverflow.com/questions/10136222/dependent-optional-data-in-haskell 29. http://stackoverflow.com/questions/10145954/how-can-i-help-specconstr-in-ghc 30. http://stackoverflow.com/questions/10080273/how-to-get-good-performance-when-writing-a-list-of-integers-from-1-to-10-million 31. http://stackoverflow.com/questions/10099921/efficiently-turn-a-bytestring-into-a-hex-representation From ivan.miljenovic at gmail.com Thu Apr 19 14:52:28 2012 From: ivan.miljenovic at gmail.com (Ivan Lazar Miljenovic) Date: Thu, 19 Apr 2012 22:52:28 +1000 Subject: [Haskell] ANNOUNCE: graphviz-2999.13.0.0 Message-ID: I'm hoping the second part of the version number isn't ominous, but I've just uploaded the latest release in my bindings for the Graphviz suite of graph visualisation tools. The changes in this release are: * Added support for the `osage` and `patchwork` visualisation tools, available as of Graphviz-2.28.0. * Updated attributes as of Graphviz-2.28.0: - `SVG` colors are now supported, and the support for different colors has been revamped. - `overlap=false` is now equivalent to `overlap=prism` and the `RemoveOverlaps` option has been removed. - `LabelScheme` and `Rotation` are new attributes for use with `sfdp`. - `Scale` is a new attribute for use with `twopi`. - Add new italics, bold, underline, superscript and subscript options for HTML-like labels. - `LHeight` and `LWidth` for getting the height and width of the root graph and clusters. * Updated attributes from the current development branch of Graphviz (i.e. 2.29.*). Please note that these will probably not work yet, but are implemented now for future-proofing. - A new style for edges: `Tapered`. - `XLabel` allows you to specify labels external to a node or edge. `ForceLabels` allow you to specify that these should be drawn even when they will cause overlaps. - `ImagePath` allows you to specify where to search for images. - HTML-like labels now support `ID` values as well as horizontal and vertical rules. - `BgColor` and `FillColor` now take a list of colors: this allows gradient fills for graphs, clusters and nodes. The `Radial` style and `GradientAngle` are also used for this purpose. - `FillColor` is now used by edges to set the color of any arrows. - [WebP](http://en.wikipedia.org/wiki/WebP) output support added. * Other attribute changes: - Use a specified data type for the `Ordering` attribute rather than an arbitrary `Text` value, and provide a documented wrapper in `Data.GraphViz.Attributes`. - `Bb` has been renamed `BoundingBox`. - `ID` now only takes `EscString` (a type alias for `Text`) values rather than arbitrary `Label`s. - The `Data.GraphViz.Attributes.HTML` module has had all values re-named and is now meant to be imported qualified. It is also no longer re-exported from `Data.GraphViz.Attributes.Complete`. * The `ToGraphID` class provides a common wrapper to help create cluster identifiers, etc. * Cabal's `Test-Suite` functionality is now used. As part of this, the `Data.GraphViz.Testing` module and sub-modules are no longer exported by the library. * The new `Benchmark` support in Cabal-1.14 is now used for the benchmark script. * Dropped support for base-3. * The `Data.GraphViz.State` module is no longer exposed, as there's no need for users to use it. * Bugfixes: - Some corner cases in canonicalisation prevented it from being idempotent. - The `TestParsing` script will no longer crash and refuse to continue if an IO-based error (e.g. unable to successfully call `dot`) occurs. - A typo was spotted by **Gabor Greif**. -- Ivan Lazar Miljenovic Ivan.Miljenovic at gmail.com http://IvanMiljenovic.wordpress.com From ivan.miljenovic at gmail.com Thu Apr 19 16:10:44 2012 From: ivan.miljenovic at gmail.com (Ivan Lazar Miljenovic) Date: Fri, 20 Apr 2012 00:10:44 +1000 Subject: [Haskell] ANNOUNCE: graphviz-2999.13.0.0 In-Reply-To: References: Message-ID: I should have pointed out that for most people, there should be minimal to no API change with this release; the only change I needed to make in my own code was that a type-class I had defined in Graphalyze was removed as it provided the impetus for the ToGraphID class mentioned below. On 19 April 2012 22:52, Ivan Lazar Miljenovic wrote: > I'm hoping the second part of the version number isn't ominous, but > I've just uploaded the latest release in my bindings for the Graphviz > suite of graph visualisation tools. > > The changes in this release are: > > * Added support for the `osage` and `patchwork` visualisation tools, > ?available as of Graphviz-2.28.0. > > * Updated attributes as of Graphviz-2.28.0: > > ? ?- `SVG` colors are now supported, and the support for different > ? ? ?colors has been revamped. > > ? ?- `overlap=false` is now equivalent to `overlap=prism` and the > ? ? ?`RemoveOverlaps` option has been removed. > > ? ?- `LabelScheme` and `Rotation` are new attributes for use with > ? ? ?`sfdp`. > > ? ?- `Scale` is a new attribute for use with `twopi`. > > ? ?- Add new italics, bold, underline, superscript and subscript > ? ? ?options for HTML-like labels. > > ? ?- `LHeight` and `LWidth` for getting the height and width of the > ? ? ?root graph and clusters. > > * Updated attributes from the current development branch of Graphviz > ?(i.e. 2.29.*). ?Please note that these will probably not work yet, > ?but are implemented now for future-proofing. > > ? ?- A new style for edges: `Tapered`. > > ? ?- `XLabel` allows you to specify labels external to a node or > ? ? ?edge. ?`ForceLabels` allow you to specify that these should be > ? ? ?drawn even when they will cause overlaps. > > ? ?- `ImagePath` allows you to specify where to search for images. > > ? ?- HTML-like labels now support `ID` values as well as horizontal > ? ? ?and vertical rules. > > ? ?- `BgColor` and `FillColor` now take a list of colors: this allows > ? ? ?gradient fills for graphs, clusters and nodes. ?The `Radial` > ? ? ?style and `GradientAngle` are also used for this purpose. > > ? ?- `FillColor` is now used by edges to set the color of any arrows. > > ? ?- [WebP](http://en.wikipedia.org/wiki/WebP) output support added. > > * Other attribute changes: > > ? ?- Use a specified data type for the `Ordering` attribute rather > ? ? ?than an arbitrary `Text` value, and provide a documented wrapper > ? ? ?in `Data.GraphViz.Attributes`. > > ? ?- `Bb` has been renamed `BoundingBox`. > > ? ?- `ID` now only takes `EscString` (a type alias for `Text`) values > ? ? ?rather than arbitrary `Label`s. > > ? ?- The `Data.GraphViz.Attributes.HTML` module has had all values > ? ? ?re-named and is now meant to be imported qualified. ?It is also > ? ? ?no longer re-exported from `Data.GraphViz.Attributes.Complete`. > > * The `ToGraphID` class provides a common wrapper to help create > ?cluster identifiers, etc. > > * Cabal's `Test-Suite` functionality is now used. ?As part of this, > ?the `Data.GraphViz.Testing` module and sub-modules are no longer > ?exported by the library. > > * The new `Benchmark` support in Cabal-1.14 is now used for the > ?benchmark script. > > * Dropped support for base-3. > > * The `Data.GraphViz.State` module is no longer exposed, as there's no > ?need for users to use it. > > * Bugfixes: > > ? ?- Some corner cases in canonicalisation prevented it from being > ? ? ?idempotent. > > ? ?- The `TestParsing` script will no longer crash and refuse to > ? ? ?continue if an IO-based error (e.g. unable to successfully call > ? ? ?`dot`) occurs. > > ? ?- A typo was spotted by **Gabor Greif**. > > -- > Ivan Lazar Miljenovic > Ivan.Miljenovic at gmail.com > http://IvanMiljenovic.wordpress.com -- Ivan Lazar Miljenovic Ivan.Miljenovic at gmail.com http://IvanMiljenovic.wordpress.com From strake888 at gmail.com Thu Apr 19 22:32:06 2012 From: strake888 at gmail.com (Strake) Date: Thu, 19 Apr 2012 15:32:06 -0500 Subject: [Haskell] ANNOUNCE: curlhs-0.0.1, bindings to libcurl In-Reply-To: References: Message-ID: On 16/04/2012, Krzysztof Kardzis wrote: > In regard to the 'easy of use', I think it is just the opposite (of > course we talk about the module 'Network.Curlhs.Core', not 'Base' - > this is another story). But my opinion is not important here, and for > that reason I don't want to compare these two packages by myself. If > you are satisfied with the curl package, just stay with it, I've no > arguments to convince you or anyone. Neverthless, thanks for your > opinion. Fair. I meant not to bash your work; I just wondered what property of old curl binds you found suboptimal. > Ok, why another bindings? There is no one big reason, only a few small > ones. Overall, I think that these bindings could be done better, and I > think that it will be easier to do that from scratch. If it succeeds, > fine, if not... there is no such an option ;) Here is the first > attempt. > > As I wrote earlier, I would like to create a mid-level interface to > libcurl. The API should be fairly easy to use, fairly complete and > close to the original. I would like to avoid too much interpretation > of the libcurl's API (this could be done at the higher level). Thanks > to that it will be possible among others to take advantage of the > existing documentation, tutorials, examples etc. Ah. If I read that right, you mean that old curl binds are not true enough to the original curl interface. Cheers, strake From rjmh at chalmers.se Fri Apr 20 11:38:33 2012 From: rjmh at chalmers.se (John Hughes) Date: Fri, 20 Apr 2012 09:38:33 +0000 Subject: [Haskell] Erlang workshop call for papers Message-ID: Why not adapt some cool Haskell ideas to Erlang too? Six weeks to go... John Hughes [http://www.erlang.org/workshop/2011/erlang090.gif] CALL FOR PAPERS Eleventh ACM SIGPLAN Erlang Workshop Copenhagen, Denmark Friday, September 14, 2012 [http://www.erlang.org/workshop/2011/acm_logo_wordmark.gif] A satellite event of the 17th ACM SIGPLAN International Conference on Functional Programming (ICFP 2012). Erlang is a concurrent, distributed functional programming language aimed at systems with requirements on massive concurrency, soft real time response, fault tolerance, and high availability. It has been available as open source for over a decade, creating a community that actively contributes to its already existing rich set of libraries and applications. Originally created for telecom applications, its usage has spread to other domains including e-commerce, banking, databases, and computer telephony and messaging. Erlang programs are today among the largest applications written in any functional programming language. These applications offer new opportunities to evaluate functional programming and functional programming methods on a very large scale and suggest new problems for the research community to solve. This workshop will bring together the open source, academic, and industrial programming communities of Erlang. It will enable participants to familiarize themselves with recent developments on new techniques and tools tailored to Erlang, novel applications, draw lessons from users' experiences and identify research problems and common areas relevant to the practice of Erlang and functional programming. We invite three sorts of submissions. * Technical papers describing language extensions, critical discussions of the status quo, formal semantics of language constructs, program analysis and transformation, virtual machine extensions and compilation techniques, implementations and interfaces of Erlang in/with other languages, and new tools (profilers, tracers, debuggers, testing frameworks, etc.). The maximum length for technical papers is restricted to 12 pages. * Practice and application papers describing uses of Erlang in the "real-world", Erlang libraries for specific tasks, experiences from using Erlang in specific application domains, reusable programming idioms and elegant new ways of using Erlang to approach or solve a particular problem. The maximum length for the practice and application papers is restricted to 12 pages. Note that this is a maximum length: we welcome shorter papers also; the program committee will evaluate all papers on an equal basis independent of their lengths. * Poster presentations describing topics related to the workshop goals. Each of them includes max 2 pages of the abstract and summary. Presentations in this category will be given an hour of shared simultaneous demonstration time. Workshop Chair * Torben Hoffmann, Issuu, Denmark Program Chair * John Hughes, Chalmers University of Technology/Quviq AB, Gothenburg, Sweden Program Committee (Note: the Workshop and Program Chairs are also committee members) * Clara Benac Earle, Technical University of Madrid, Madrid, Spain * Scott Lystig Fritchie, Basho Technologies, USA * Simon Peyton Jones, Microsoft Research, Cambridge, England * Tamas Kozsik, E?tv?s Lor?nd University, Budapest, Hungary * Kenneth Lundin, Ericsson AB, Stockholm, Sweden * Kostis Sagonas, Uppsala University, Uppsala, Sweden * Erik Stenman, Klarna AB, Stockholm, Sweden * Kresten Krab Thorup, Trifork A/S, Aarhus, Denmark * Steve Vinoski, Basho Technologies, USA Important Dates * Submission deadline: Sunday, June 3, 2012 * Author notification: Wednesday, June 27, 2012 * Final submission for the publisher: Tuesday, July 10, 2012 * Workshop date: Friday, September 14, 2012 Instructions to authors Papers must be submitted online via EasyChair (via the "Erlang2012" event). The submission page is https://www.easychair.org/conferences/?conf=erlang2012. Submitted papers should be in portable document format (PDF), formatted using the ACM SIGPLAN style guidelines. Each submission must adhere to SIGPLAN's republication policy. Violation risks summary rejection of the offending submission. Accepted papers will be published by the ACM and will appear in the ACM Digital Library. Paper submissions will be considered for poster submission in the case that they are not accepted as full papers. Venue & Registration Details For registration, please see the ICFP 2012 web site. Related Links * ICFP 2012 web site: http://www.icfpconference.org/icfp2012/ * Past ACM SIGPLAN Erlang workshops: http://www.erlang.org/workshop/ * Open Source Erlang: http://www.erlang.org/ * EasyChair submission site: https://www.easychair.org/account/signin.cgi?conf=erlang2012 * Author Information for SIGPLAN Conferences: http://www.sigplan.org/authorInformation.htm -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.gif Type: image/gif Size: 7672 bytes Desc: image001.gif URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.gif Type: image/gif Size: 7824 bytes Desc: image002.gif URL: From andreas.abel at ifi.lmu.de Sat Apr 21 11:51:40 2012 From: andreas.abel at ifi.lmu.de (Andreas Abel) Date: Sat, 21 Apr 2012 11:51:40 +0200 Subject: [Haskell] Types of when and unless in Control.Monad Message-ID: <4F92832C.5040301@ifi.lmu.de> In Control.Monad, when has type when :: Monad m => Bool -> m () -> m () I think this type should be generalized to when :: Monad m => Bool -> m a -> m () to avoid silly "return ()" statements like in when cond $ do monadicComputationWhoseResultIWantToDiscard return () Cheers, Andreas P.S.: A more systematic solution would be to change the Haskell language by either introducing a Top type which is the supertype of everything and use it instead of (). Alternatively, make () the top type and interpret matching against the empty tuple as just computing the weak head normal form and then discarding the result. The latter is needed to preserve the current behavior of (\ () -> bla) (error "raised") vs. (\ _ -> bla) (error "not raised") -- Andreas Abel <>< Du bist der geliebte Mensch. Theoretical Computer Science, University of Munich Oettingenstr. 67, D-80538 Munich, GERMANY andreas.abel at ifi.lmu.de http://www2.tcs.ifi.lmu.de/~abel/ From wagnerdm at seas.upenn.edu Sat Apr 21 21:27:31 2012 From: wagnerdm at seas.upenn.edu (wagnerdm at seas.upenn.edu) Date: Sat, 21 Apr 2012 15:27:31 -0400 Subject: [Haskell] ANN: yeganesh-2.5 Message-ID: <20120421152731.483560uydjsytd7n@webmail.seas.upenn.edu> Today heralds the release of version 2.5 of the venerable yeganesh[1] menu. The suckless team produces a small program named dmenu[2] which acts like a normal Unix pipe program, accepting input on stdin and producing output on stdout, with the one caveat that it sticks the user in between. It launches a very small menu, presenting the user with each of the lines of stdin as choices, and prints the chosen text as a single line to stdout. This is very convenient for lightweight, GUI-less programs and scripts that need some minimal interaction; however, it is completely memoryless. Yeganesh wraps dmenu to add some memory: it records which choices the user has made in the past, and promotes popular choices to the front of the menu on future runs. See the website[1] for screenshots. New in this release: * Switching away from Read as the cache file parser reduced startup time by a factor of eight. (Caches in the old format will be transparently upgraded.) * When running in --executables mode, broken symlinks no longer sabotage their siblings in the filesystem tree. * Minor change to command-line parsing to preserve consistency with GNU-style command lines. (Any command line that used to work will still work, and will behave the same; however, some lines that were rejected before are now accepted and passed on to dmenu.) To try it out: 1. Install dmenu via your package manager, or from source (it's quite small!). wget http://dl.suckless.org/tools/dmenu-4.5.tar.gz tar xf dmenu-4.5.tar.gz cd dmenu-4.5 make install 2. Install yeganesh from Hackage. cabal install yeganesh 3. Run yeganesh; for example, to choose a file in your current directory, then see that file float to the top of your choices, try ls | yeganesh ls | yeganesh Features: * One common use case for choosing an executable from your $PATH to launch; yeganesh will scan your $PATH for you when launched in the --executables mode. * Multiple popularity profiles allow separate dmenu consumers to have separate memories. (For example, I have separate profiles for launching GUI and shell programs.) * Sometimes you say something embarassing; use the --filter mode to forget it. Enjoy! ~d [1] http://dmwit.com/yeganesh [2] http://tools.suckless.org/dmenu/ From jv at informatik.uni-bonn.de Sat Apr 21 22:41:54 2012 From: jv at informatik.uni-bonn.de (=?ISO-8859-15?Q?Janis_Voigtl=E4nder?=) Date: Sat, 21 Apr 2012 22:41:54 +0200 Subject: [Haskell] Call for Papers - Haskell Symposium 2012 - six weeks to go Message-ID: <4F931B92.3010303@informatik.uni-bonn.de> ======================================================================== "Haskell 2012" ACM SIGPLAN Haskell Symposium 2012 Copenhagen, Denmark 13th September, 2012 (directly after ICFP) CALL FOR PAPERS http://www.haskell.org/haskell-symposium/2012/ ======================================================================== The ACM SIGPLAN Haskell Symposium 2012 will be co-located with the 2012 International Conference on Functional Programming (ICFP), in Copenhagen, Denmark. The purpose of the Haskell Symposium is to discuss experiences with Haskell and future developments for the language. 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, testing tools, and suchlike; * Applications, using Haskell for scientific and symbolic computing, database, multimedia, telecom and web applications, and so forth; * Functional Pearls, being elegant, instructive examples of using Haskell; * Experience Reports, general practice and experience with Haskell, e.g., in an education or industry context. Papers in the latter three 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. (Links with more advice appear on the symposium web page.) 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! Regular papers should explain their research contributions in both general and technical terms, identifying what has been accomplished, explaining why it is significant, and relating it to previous work (also for other languages where appropriate). In addition, we solicit proposals for system demonstrations, based on running (perhaps prototype) software rather than necessarily on novel research results. Such short demo proposals should explain why a demonstration would be of interest to the Haskell community. Travel Support: =============== Student attendees with accepted papers can apply for a SIGPLAN PAC grant to help cover travel expenses. PAC also offers other support, such as for child-care expenses during the meeting or for travel costs for companions of SIGPLAN members with physical disabilities, as well as for travel from locations outside of North America and Europe. For details on the PAC programme, see its web page (http://www.sigplan.org/PAC.htm). Proceedings: ============ There will be formal proceedings published by ACM Press. In addition to printed proceedings, accepted papers will be included in the ACM Digital Library. Authors must transfer copyright to ACM upon acceptance (for government work, to the extent transferable), but retain various rights (http://www.acm.org/publications/policies/copyright_policy). Authors are encouraged to publish auxiliary material with their paper (source code, test data, etc.); they retain copyright of auxiliary material. Accepted demo proposals, assessed for relevance by the PC, will be published on the symposium web page, but not formally published in the proceedings. Submission Details: =================== * Abstract Submission: Thu 31st May 2012 * Submission Deadline: Sun 3rd June 2012, 11:00 am, UTC * Author Notification: Wed 27th June 2012 * Final Papers Due : Tue 10th July 2012 Submitted papers should be in portable document format (PDF), formatted using the ACM SIGPLAN style guidelines (9pt format, more details appear on the symposium web page). The length is restricted to 12 pages, except for "Experience Report" papers, which are restricted to 6 pages. Each paper submission must adhere to SIGPLAN's republication policy, as explained on the web. Demo proposals are limited to 2-page abstracts, in the same format. "Functional Pearls", "Experience Reports", and "Demo Proposals" should be marked as such with those words in the title at time of submission. The paper submission deadline and length limitations are firm. There will be no extensions, and papers violating the length limitations will be summarily rejected. Submission is via EasyChair: https://www.easychair.org/conferences/?conf=haskell2012 Programme Committee: ==================== * Amal Ahmed, Northeastern University * Jost Berthold, University of Copenhagen * Nils Anders Danielsson, University of Gothenburg * Iavor Diatchki, Galois Inc. * Jeremy Gibbons, University of Oxford * Jurriaan Hage, Utrecht University * Zhenjiang Hu, National Institute of Informatics Tokyo * Daan Leijen, Microsoft Research * Ben Lippmeier, University of New South Wales * Simon Peyton Jones, Microsoft Research * Colin Runciman, University of York * Eijiro Sumii, Tohoku University * Janis Voigtl?nder (chair), University of Bonn * Brent Yorgey, University of Pennsylvania Links: ====== * http://www.haskell.org/haskell-symposium (the permanent web page of the Haskell Symposium) * http://www.haskell.org/haskell-symposium/2012 (the 2012 Haskell Symposium web page) * http://www.icfpconference.org/icfp2012 (the ICFP 2012 web page) -- Jun.-Prof. Dr. Janis Voigtl?nder http://www.iai.uni-bonn.de/~jv/ mailto:jv at iai.uni-bonn.de From john at repetae.net Sun Apr 22 00:48:45 2012 From: john at repetae.net (John Meacham) Date: Sat, 21 Apr 2012 15:48:45 -0700 Subject: [Haskell] Types of when and unless in Control.Monad In-Reply-To: <4F92832C.5040301@ifi.lmu.de> References: <4F92832C.5040301@ifi.lmu.de> Message-ID: Yes, this has always bothered me too. John On Sat, Apr 21, 2012 at 2:51 AM, Andreas Abel wrote: > In Control.Monad, when has type > > ?when :: Monad m => Bool -> m () -> m () > > I think this type should be generalized to > > ?when :: Monad m => Bool -> m a -> m () > > to avoid silly "return ()" statements like in > > ?when cond $ do > ? ?monadicComputationWhoseResultIWantToDiscard > ? ?return () > > Cheers, > Andreas > > P.S.: ?A more systematic solution would be to change the Haskell language by > either introducing a Top type which is the supertype of everything and use > it instead of (). > > Alternatively, make () the top type and interpret matching against the empty > tuple as just computing the weak head normal form and then discarding the > result. ?The latter is needed to preserve the current behavior of > > ?(\ () -> bla) (error "raised") > > vs. > > ?(\ _ -> bla) (error "not raised") > > > -- > Andreas Abel ?<>< ? ? ?Du bist der geliebte Mensch. > > Theoretical Computer Science, University of Munich > Oettingenstr. 67, D-80538 Munich, GERMANY > > andreas.abel at ifi.lmu.de > http://www2.tcs.ifi.lmu.de/~abel/ > > _______________________________________________ > Haskell mailing list > Haskell at haskell.org > http://www.haskell.org/mailman/listinfo/haskell From strake888 at gmail.com Sun Apr 22 03:28:27 2012 From: strake888 at gmail.com (Strake) Date: Sat, 21 Apr 2012 20:28:27 -0500 Subject: [Haskell] Types of when and unless in Control.Monad In-Reply-To: <4F92832C.5040301@ifi.lmu.de> References: <4F92832C.5040301@ifi.lmu.de> Message-ID: On 21/04/2012, Andreas Abel wrote: > to avoid silly "return ()" statements like in > > when cond $ do > monadicComputationWhoseResultIWantToDiscard > return () (when cond ? void) monadicComputationWhoseResultIWantToDiscard or when cond $ () <$ monadicComputationWhoseResultIWantToDiscard From julian at d-and-j.net Sun Apr 22 09:19:11 2012 From: julian at d-and-j.net (Julian Gilbey) Date: Sun, 22 Apr 2012 08:19:11 +0100 Subject: [Haskell] Types of when and unless in Control.Monad In-Reply-To: References: <4F92832C.5040301@ifi.lmu.de> Message-ID: <20120422071911.GA25622@d-and-j.net> On Sat, Apr 21, 2012 at 08:28:27PM -0500, Strake wrote: > On 21/04/2012, Andreas Abel wrote: > > to avoid silly "return ()" statements like in > > > > when cond $ do > > monadicComputationWhoseResultIWantToDiscard > > return () > > (when cond ? void) monadicComputationWhoseResultIWantToDiscard > or > when cond $ () <$ monadicComputationWhoseResultIWantToDiscard How is that simpler than when cond monadicComputationWhoseResultIWantToDiscard which it would be with the suggested new type? Julian From choener at tbi.univie.ac.at Sun Apr 22 13:39:18 2012 From: choener at tbi.univie.ac.at (Christian =?iso-8859-1?Q?H=F6ner?= zu Siederdissen) Date: Sun, 22 Apr 2012 13:39:18 +0200 Subject: [Haskell] Types of when and unless in Control.Monad In-Reply-To: <20120422071911.GA25622@d-and-j.net> References: <4F92832C.5040301@ifi.lmu.de> <20120422071911.GA25622@d-and-j.net> Message-ID: <20120422113918.GA1234@totalegal.fritz.box> * Julian Gilbey [22.04.2012 09:22]: > On Sat, Apr 21, 2012 at 08:28:27PM -0500, Strake wrote: > > On 21/04/2012, Andreas Abel wrote: > > > to avoid silly "return ()" statements like in > > > > > > when cond $ do > > > monadicComputationWhoseResultIWantToDiscard > > > return () > > > > (when cond ? void) monadicComputationWhoseResultIWantToDiscard > > or > > when cond $ () <$ monadicComputationWhoseResultIWantToDiscard > > How is that simpler than > > when cond monadicComputationWhoseResultIWantToDiscard > > which it would be with the suggested new type? > > Julian Wouldn't "when_" and "unless_" or similar be better? I'd probably like to have the compiler annoy me, since it is not clear that I want to discard the result. If I really want to discard, I should have to make it clear as there is probably a good reason for the inner function to return a result in the first place? Gruss, Christian -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: not available URL: From ivan.miljenovic at gmail.com Sun Apr 22 13:49:52 2012 From: ivan.miljenovic at gmail.com (Ivan Lazar Miljenovic) Date: Sun, 22 Apr 2012 21:49:52 +1000 Subject: [Haskell] Types of when and unless in Control.Monad In-Reply-To: <20120422113918.GA1234@totalegal.fritz.box> References: <4F92832C.5040301@ifi.lmu.de> <20120422071911.GA25622@d-and-j.net> <20120422113918.GA1234@totalegal.fritz.box> Message-ID: On 22 April 2012 21:39, Christian H?ner zu Siederdissen wrote: > * Julian Gilbey [22.04.2012 09:22]: >> On Sat, Apr 21, 2012 at 08:28:27PM -0500, Strake wrote: >> > On 21/04/2012, Andreas Abel wrote: >> > > to avoid silly "return ()" statements like in >> > > >> > > ? ?when cond $ do >> > > ? ? ?monadicComputationWhoseResultIWantToDiscard >> > > ? ? ?return () >> > >> > (when cond ? void) monadicComputationWhoseResultIWantToDiscard >> > or >> > when cond $ () <$ monadicComputationWhoseResultIWantToDiscard >> >> How is that simpler than >> >> ? when cond monadicComputationWhoseResultIWantToDiscard >> >> which it would be with the suggested new type? >> >> ? ?Julian > > Wouldn't "when_" and "unless_" or similar be better? I'd probably like > to have the compiler annoy me, since it is not clear that I want to > discard the result. If I really want to discard, I should have to make > it clear as there is probably a good reason for the inner function to > return a result in the first place? Agreed; I'm not sure if I agree with having such functionality (Henning makes some good points), but if people deem it desirable then I think it would be better to have them with new names for the reasons you state. -- Ivan Lazar Miljenovic Ivan.Miljenovic at gmail.com http://IvanMiljenovic.wordpress.com From ggrov at staffmail.ed.ac.uk Mon Apr 23 11:05:41 2012 From: ggrov at staffmail.ed.ac.uk (Gudmund Grov) Date: Mon, 23 Apr 2012 10:05:41 +0100 Subject: [Haskell] WING 2012: Call for Presentations Message-ID: [Please post - apologies for multiple copies.] ---------------------------------------------------- WING 2012 - 4th International Workshop on INvariant Generation http://cs.nyu.edu/acsys/wing2012/ June 30, 2012 Manchester, UK (a satellite Workshop of IJCAR 2012) ---------------------------------------------------- --- Call for Presentations --- General ------- The ability to automatically extract and synthesize auxiliary properties of programs has had a profound effect on program analysis, testing, and verification over the last several decades. A key impediment for program verification is the overhead associated with providing, debugging, and verifying auxiliary invariant annotations. This workshop aims to bring together researchers from the diverse field of invariant generation to discuss recent developments. Scope ----- We encourage ONE-PAGE ABSTRACT submissions on work in progress, new ideas, tools under development, as well as work by PhD students, to be presented at WING 2012. Relevant topics include (but are not limited to) the following: * Program analysis and verification * Inductive Assertion Generation * Inductive Proofs for Reasoning about Loops * Applications to Assertion Generation using the following tools: - Abstract Interpretation, - Static Analysis, - Model Checking, - Theorem Proving, - Theory Formation, - Algebraic Techniques * Tools for inductive assertion generation and verification * Alternative techniques for reasoning about loops Submission ---------- Submissions need not be original. Extended versions of submissions may have been published previously, or submitted concurrently with or after WING 2012 to another workshop, conference or a journal. Submission is by email to: wing2012 at easychair.org Please submit a ONE-PAGE abstract in PDF. Important Dates --------------- Submission deadline: May 15, 2012 Notification of acceptance: May 18, 2012 Workshop: June 30, 2012 Invited Speakers ---------------- * Aditya Nori (Microsoft Research) Committee ----------------- Program Chairs: * Gudmund Grov (University of Edinburgh, UK) * Thomas Wies (New York University, USA) Program Committee: * Clark Barrett (New York University, USA) * Nikolaj Bjorner (Microsoft Research, USA) * Gudmund Grov (University of Edinburgh, UK) * Ashutosh Gupta (IST Austria) * Bart Jacobs (Katholieke Universiteit Leuven, Belgium) * Moa Johansson (Chalmers University of Technology, Sweden) * Laura Kovacs (Vienna University of Technology, Austria) * David Monniaux (VERIMAG, France) * Enric Rodriguez Carbonell (Technical University of Catalonia, Spain) * Helmut Veith (Vienna University of Technology, Austria) * Thomas Wies (New York University, USA) Student Support ---------------- Students will pay a reduced fee, and the difference will be reimbursed after the workshop. Publication ----------- Extended versions of accepted contributions may be submitted later to a special issue of the Journal of Science of Computer Programming. -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. From lemming at henning-thielemann.de Mon Apr 23 17:18:15 2012 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Mon, 23 Apr 2012 17:18:15 +0200 Subject: [Haskell] HaL-7, 2012-07-13, Call for submissions Message-ID: <4F9572B7.5060800@henning-thielemann.de> Call for submissions and Save the date for our local Haskell Workshop in Halle/Saale, Germany. Tutorials, talks, demonstrations ... everything welcome. Workshop language is German (mainly), and English (by request). Submission deadline: May, 21, Workshop date: June, 22 Workshop homepage: http://iba-cg.de/hal7.html The complete call in German: ------------------------------------------------- Aufruf zum Einreichen von Beitr?gen und Hinweis zum Vormerken des Termins Was: Haskell-Treffen HaL-7 Wann: Freitag, 13.07.2012 Wo: Institut f?r Informatik an der Martin-Luther-Universit?t in Halle an der Saale Wir suchen Vortr?ge zu Haskell im Besonderen und der funktionalen Programmierung im Allgemeinen, zum Beispiel zu den Themen * Neues von Sprache, Bibliotheken, Werkzeugen, * Anwendungen von Kunst bis Industrie, * Lehre an Schulen und Hochschulen, gerne aber auch zu anderen Themen. Die Beitr?ge k?nnen pr?sentiert werden als * Tutorium (60 .. 90 min) * Vortrag (30 min) * Demonstration, k?nstlerische Auff?hrung Die Veranstaltungssprache ist Deutsch, in begr?ndeten Ausnahmen Englisch. Presentations will be given in German but we can switch to English if requested. Bitte reichen Sie Kurzfassungen der Beitr?ge ein (2 bis 4 Seiten), die dem Programmkomitee eine Einsch?tzung erm?glichen. Die Kurzfassung soll mit einer Zusammenfassung (10 Zeilen) beginnen und einem Literaturverzeichnis enden. Teilnehmer des Workshops sind Interessenten (keine Erfahrung mit Haskell/FP), Anf?nger (wenig Erfahrung) und Experten. Wir bitten die Vortragenden, die Zielgruppe des Beitrags anzugeben und die n?tigen Vorkenntnisse zu beschreiben. Bei Tutorien sollen Teilnehmer auf eigenen Rechnern arbeiten. Bitte beschreiben Sie dazu die vorher zu installierende Software. Schicken Sie Beitragsvorschl?ge als PDF-Dokument bis zum 21.05.2012 per Mail an hal-committee at iba-cg punkt de oder an ein Mitglied des Programmkomitees. Programmkomitee * Henning Thielemann - Univ. Halle (Vorsitzender), * Petra Hofstedt - BTU Cottbus, * Alf Richter - iba CG Leipzig, * Uwe Schmidt - FH Wedel, * Janis Voigtl?nder - Univ. Bonn, * Johannes Waldmann - HTWK Leipzig. Mit besten Gr??en Henning Thielemann From lemming at henning-thielemann.de Mon Apr 23 17:19:41 2012 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Mon, 23 Apr 2012 17:19:41 +0200 (CEST) Subject: [Haskell] HaL-7, 2012-07-13, Call for submissions In-Reply-To: <4F9572B7.5060800@henning-thielemann.de> References: <4F9572B7.5060800@henning-thielemann.de> Message-ID: On Mon, 23 Apr 2012, Henning Thielemann wrote: > Call for submissions and Save the date > > for our local Haskell Workshop in Halle/Saale, Germany. > > Tutorials, talks, demonstrations ... everything welcome. > > Workshop language is German (mainly), and English (by request). > > Submission deadline: May, 21, Arrg, this was the wrong date: > Workshop date: June, 22 The correct one is July, 13 ! > Workshop homepage: http://iba-cg.de/hal7.html > > > The complete call in German: > > ------------------------------------------------- > > Aufruf zum Einreichen von Beitr?gen > und Hinweis zum Vormerken des Termins > > Was: Haskell-Treffen HaL-7 > Wann: Freitag, 13.07.2012 > Wo: Institut f?r Informatik an der Martin-Luther-Universit?t in Halle an > der Saale > > Wir suchen Vortr?ge zu Haskell im Besonderen und der funktionalen > Programmierung im Allgemeinen, zum Beispiel zu den Themen > > * Neues von Sprache, Bibliotheken, Werkzeugen, > * Anwendungen von Kunst bis Industrie, > * Lehre an Schulen und Hochschulen, > > gerne aber auch zu anderen Themen. > > Die Beitr?ge k?nnen pr?sentiert werden als > > * Tutorium (60 .. 90 min) > * Vortrag (30 min) > * Demonstration, k?nstlerische Auff?hrung > > Die Veranstaltungssprache ist Deutsch, in begr?ndeten Ausnahmen > Englisch. Presentations will be given in German but we can switch to > English if requested. > > Bitte reichen Sie Kurzfassungen der Beitr?ge ein (2 bis 4 Seiten), die > dem Programmkomitee eine Einsch?tzung erm?glichen. Die Kurzfassung soll > mit einer Zusammenfassung (10 Zeilen) beginnen und einem > Literaturverzeichnis enden. > > Teilnehmer des Workshops sind Interessenten (keine Erfahrung mit > Haskell/FP), Anf?nger (wenig Erfahrung) und Experten. Wir bitten die > Vortragenden, die Zielgruppe des Beitrags anzugeben und die n?tigen > Vorkenntnisse zu beschreiben. Bei Tutorien sollen Teilnehmer auf eigenen > Rechnern arbeiten. Bitte beschreiben Sie dazu die vorher zu > installierende Software. > > Schicken Sie Beitragsvorschl?ge als PDF-Dokument bis zum > > 21.05.2012 > > per Mail an hal-committee at iba-cg punkt de oder an ein Mitglied des > Programmkomitees. > > > Programmkomitee > > * Henning Thielemann - Univ. Halle (Vorsitzender), > > * Petra Hofstedt - BTU Cottbus, > * Alf Richter - iba CG Leipzig, > * Uwe Schmidt - FH Wedel, > * Janis Voigtl?nder - Univ. Bonn, > * Johannes Waldmann - HTWK Leipzig. > > > > Mit besten Gr??en > Henning Thielemann > > From Jon.Sneyers at CS.KULEUVEN.BE Wed Apr 25 08:45:59 2012 From: Jon.Sneyers at CS.KULEUVEN.BE (Jon Sneyers) Date: Wed, 25 Apr 2012 08:45:59 +0200 Subject: [Haskell] PPDP 2012: 2nd Call for papers Message-ID: ===================================================================== Call for papers 14th International Symposium on Principles and Practice of Declarative Programming PPDP 2012 Special Issue of Science of Computer Programming (SCP) Leuven, Belgium, September 18-20, 2012 (co-located with LOPSTR 2012) ====================================================================== PPDP 2012 is a forum that brings together researchers from the declarative programming communities, including those working in the logic, constraint and functional programming paradigms, but also embracing a variety of other paradigms such as visual programming, executable specification languages, database languages, and knowledge representation languages. The goal is to stimulate research in the use of logical formalisms and methods for specifying, performing, and analysing computations, including mechanisms for mobility, modularity, concurrency, object-orientation, security, verification and static analysis. Papers related to the use of declarative paradigms and tools in industry and education are especially solicited. Topics of interest include, but are not limited to: * Functional programming * Logic programming * Answer-set programming * Functional-logic programming * Declarative visual languages * Constraint Handling Rules * Parallel implementation and concurrency * Monads, type classes and dependent type systems * Declarative domain-specific languages * Termination, resource analysis and the verification of declarative programs * Transformation and partial evaluation of declarative languages * Language extensions for security and tabulation * Probabilistic modelling in a declarative language and modelling reactivity * Memory management and the implementation of declarative systems * Practical experiences and industrial application This year the conference will be co-located with the 22nd International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2012) and held in cooperation with ACM SIGPLAN. The conference will be held in Leuven, Belgium. Previous symposia were held at Odense (Denmark), Hagenberg (Austria), Coimbra (Portugal), Valencia (Spain), Wroclaw (Poland), Venice (Italy), Lisboa (Portugal), Verona (Italy), Uppsala (Sweden), Pittsburgh (USA), Florence (Italy), Montreal (Canada), and Paris (France). 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, conference, or workshop with refereed proceedings. Work that already appeared in unpublished or informally published workshop proceedings may be submitted (please contact the PC chair in case of questions). Proceedings will be published by ACM Press* After the symposium, a selection of the best papers will be invited to extend their submissions in the light of the feedback solicited at the symposium. The papers are expected to include at least 25% extra material over and above the PPDP version. Then, after another round of reviewing, these revised papers will be published in a special issue of SCP with a target publication date by Elsevier of 2013. Important Dates: Abstract Submission: May 28, 2012 Paper submission: May 31, 2012 Notification: July 6, 2012 Camera-ready: July 18, 2012 Symposium: September 19-21, 2012 Invites for SCP: September 26, 2012 Submission of SCP: December 12, 2012 Notification from SCP: February 7, 2013 Camera-ready for SCP: March 7, 2013 Authors should submit an electronic copy of the paper (written in English) in PDF. Each submission must include on its first page the paper title; authors and their affiliations; abstract; and three to four keywords. The keywords will be used to assist us in selecting appropriate reviewers for the paper. Papers should consist of no more than 12 pages, formatted following the ACM SIG proceedings template (option 1). The 12 page limit must include references but excludes well-marked appendices not intended for publication. Referees are not required to read the appendices, and thus papers should be intelligible without them. Invited speakers: Torsten Schaub, University of Potsdam, Germany Juergen Giesl, RWTH Aachen, Germany (shared with LOPSTR) Program Committee: Slim Abdennadher German University in Cairo, Egypt Puri Arenas Complutense University of Madrid, Spain Marcello Balduccini Kodak Research Labs, USA Amir Ben-Amram Tel-Aviv Academic College, Israel Philip Cox Dalhousie University, Canada Marina De Vos University of Bath, UK Martin Erwig Oregon State University, USA Martin Gebser University of Potsdam, Germany Jacob Howe City University London, UK Joxan Jaffar National University of Singapore, Singapore Gabriele Keller University of New South Wales, Australia Andy King University of Kent, UK Julia Lawall INRIA Paris, France Rita Loogen Philipps-Universitat Marburg, Germany Greg Michaelson Heriot-Watt University, UK Matthew Might University of Utah, USA Henrik Nilsson University of Nottingham, UK Catuscia Palamidessi INRIA Saclay and Ecole Polytechnique, France Kostis Sagonas Uppsala University, Sweden and NTUA, Greece Taisuke Sato Tokyo Institute of Technology, Japan Peter Schneider-Kamp University of Southern Denmark, Denmark Tom Schrijvers University of Ghent, Belgium Terrance Swift Universidade Nova de Lisboa, USA Mirek Truszczynski University of Kentucky, USA Stephanie Weirich University of Pennsylvania, USA Program Chair: Andy King School of Computing, University of Kent Canterbury, CT2 7NF, UK General Co-Chairs: Daniel De Schreye and Gerda Janssens Department of Computer Science K.U.Leuven, Celestijnenlaan 200 A, B-3001 Heverlee, Belgium * Confirmation pending From nicolas.godbout at gmail.com Wed Apr 25 20:55:46 2012 From: nicolas.godbout at gmail.com (Nicolas Godbout) Date: Wed, 25 Apr 2012 14:55:46 -0400 Subject: [Haskell] ANN: Language module for the BBEdit text editor Message-ID: <19827B6C-2776-437B-8AE5-F6A1E5249B8E@gmail.com> I am pleased to announce the first release of a language module for editing Haskell source code from within the BBEdit text editor, available at http://code.google.com/p/bbedit-haskell/ The module implements these features: * color highlighting of keywords and comment, including nested comments * color syntax for characters and strings, including multi-line strings * scanning of function names; they appear in a drop-down menu in the editing window * automatic detection of .hs suffix * support for Un/Comment command available in BBEdit 10.1 and above BBEdit is a commercial text editor available for the MacOS X platform. Nicolas Godbout. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhenahan at uvm.edu Wed Apr 25 21:19:57 2012 From: jhenahan at uvm.edu (Jack Henahan) Date: Wed, 25 Apr 2012 15:19:57 -0400 Subject: [Haskell] ANN: Language module for the BBEdit text editor In-Reply-To: <19827B6C-2776-437B-8AE5-F6A1E5249B8E@gmail.com> References: <19827B6C-2776-437B-8AE5-F6A1E5249B8E@gmail.com> Message-ID: Glad to see this. The existing Haskell module was way out of date, last I used BB. Maybe I'll give it another shot if I take a break from Emacs. On Apr 25, 2012, at 2:55 PM, Nicolas Godbout wrote: > > I am pleased to announce the first release of a language module for editing Haskell source code from within the BBEdit text editor, available at > http://code.google.com/p/bbedit-haskell/ > > The module implements these features: > > * color highlighting of keywords and comment, including nested comments > * color syntax for characters and strings, including multi-line strings > * scanning of function names; they appear in a drop-down menu in the editing window > * automatic detection of .hs suffix > * support for Un/Comment command available in BBEdit 10.1 and above > > BBEdit is a commercial text editor available for the MacOS X platform. > > Nicolas Godbout. > _______________________________________________ > Haskell mailing list > Haskell at haskell.org > http://www.haskell.org/mailman/listinfo/haskell -------------- next part -------------- An HTML attachment was scrubbed... URL: From dstcruz at gmail.com Thu Apr 26 04:14:05 2012 From: dstcruz at gmail.com (Daniel Santa Cruz) Date: Wed, 25 Apr 2012 22:14:05 -0400 Subject: [Haskell] Haskell Weekly News: Issue 224 Message-ID: Welcome to issue 224 of the HWN, an issue covering crowd-sourced bits of information about Haskell from around the web. This issue covers the week of April 15 to 21, 2012. Announcements Some of these announcements are a bit behind, for which I apologize. Better late than never... The long awaited version of cabal-install is out! [1] http://goo.gl/LlO7s Janis Voigtlander is looking for contributors for the May 2012 edition of the Haskell Comunities and Activities Report. If you have anything Haskell related that you have been working on, make sure to send Janis a note. The deadline is May 1st. [2] http://goo.gl/AW3gR Jeremy O'Donoghue announced the release of wxHaskell 0.90. "his release represents a significant milestone for us as it includes support for wxWidgets 2.9.x." [3] http://goo.gl/vTYTp Janis Voigtlander also issued a call for papers for the Haskell Symposium 2012, Copenhagen, Denmark on 13th September, 2012, directly after ICFP. [4] http://goo.gl/fR2hB Eric Kow released the 9th edition of the Parallel Haskell Digest. [5] http://goo.gl/gBIhK Quotes of the Week * TSC: The type families might have little type children * mm_freak: i'd love to have an embeddable Agda type checker and evaluator mm_freak: that would make a great scripting language for haskell programs * shachaf: You can't spell "-funsafe" without "fun" and "safe". * elliott: By the way, I find the inclusion of a package named "colour" in a section titled "Color" offensive :) * elliott: I don't think Haskell can ever hope to enter the enterprise if we can't model non-standard colourblind observers with it. * danharaj:oh hey this looks nice. Mathnerd314: every open-source math library under the sun glued together into a Python framework danharaj: nevermind o_o * elliott: What do we do with people who paste code blocks on IRC? We yell at them. * acowley: I am a bull in a math shop * elliott: I like how edwardk's answer to every question always goes "most abstract solution to the problem possible --> microoptimisation details". elliott: I swear I've seen him go from category theory to unboxed types and unsafeCoerce in a single line of IRC. * shachaf: It is a sobering thought that by the time Galois was my age, he had been dead for almost two months. Top Reddit Stories * Why do Monads Matter? (or it's Monad tutorial season again) Domain: cdsmith.wordpress.com, Score: 64, Comments: 27 On Reddit: [6] http://goo.gl/DCJYV Original: [7] http://goo.gl/8glhF * Ur/Web records: can we apply lessons from them to Haskell? Domain: blog.ezyang.com, Score: 53, Comments: On Reddit: [8] http://goo.gl/9m3Sw Original: [9] http://goo.gl/dNcET * Blank Canvas - a new Haskell graphics library based on HTML5 and Domain: ittc.ku.edu, Score: 42, Comments: 10 On Reddit: [10] http://goo.gl/H3SMB Original: [11] http://goo.gl/if7kG * Client Side Yesod, an FRP-inspired approach Domain: yesodweb.com, Score: 41, Comments: 44 On Reddit: [12] http://goo.gl/gECTq Original: [13] http://goo.gl/Rn0LS * Understanding Haskell Kinds Domain: softwaresimply.blogspot.com, Score: 38, Comments: 18 On Reddit: [14] http://goo.gl/XxiwQ Original: [15] http://goo.gl/xaqDM * Adding SIMD Support to Data Parallel Haskell Domain: ghc-simd.blogspot.co.uk, Score: 35, Comments: 8 On Reddit: [16] http://goo.gl/R8M9L Original: [17] http://goo.gl/ZeJ7e * Working With HTML In Haskell Domain: adit.io, Score: 31, Comments: 24 On Reddit: [18] http://goo.gl/4NMBc Original: [19] http://goo.gl/EOvM1 * Descending the level ladder Domain: monoidal.blogspot.com, Score: 26, Comments: 13 On Reddit: [20] http://goo.gl/9IYZL Original: [21] http://goo.gl/TJm0D * Why is Haskell so large? Domain: self.haskell, Score: 25, Comments: 29 On Reddit: [22] http://goo.gl/KQnbj Original: [23] http://goo.gl/KQnbj * Parallel Haskell Digest 9: GSoC, STM, SIMD, and the Downfall of Imperative Programming? Domain: well-typed.com, Score: 25, Comments: 1 On Reddit: [24] http://goo.gl/Z5bF3 Original: [25] http://goo.gl/eLnVs * blaze-html 0.5 released Domain: jaspervdj.be, Score: 25, Comments: 3 On Reddit: [26] http://goo.gl/7XtMD Original: [27] http://goo.gl/RkbR7 * Four Tips for New Haskell Programmers Domain: softwaresimply.blogspot.com, Score: 22, Comments: 72 On Reddit: [28] http://goo.gl/GQ4O1 Original: [29] http://goo.gl/Ye57L * Check for interest - an argument/option parser using type level strings Domain: self.haskell, Score: 22, Comments: 13 On Reddit: [30] http://goo.gl/eOtE5 Original: [31] http://goo.gl/eOtE5 * New Cabal feature: cabal bench Domain: blog.johantibell.com, Score: 22, Comments: 3 On Reddit: [32] http://goo.gl/ClkjJ Original: [33] http://goo.gl/sA3aD Top StackOverflow Questions * The Pause monad votes: 20, answers: 5 Read on SO: [34] http://goo.gl/DNIo1 * To what extent are macros ?functions in reverse?? votes: 15, answers: 6 Read on SO: [35] http://goo.gl/ZoEht * Curry-Howard isomorphism votes: 13, answers: 3 Read on SO: [36] http://goo.gl/1pzKd * How does Djinn work? votes: 12, answers: 3 Read on SO: [37] http://goo.gl/RnEny * How is co-recursion handled? votes: 12, answers: 2 Read on SO: [38] http://goo.gl/DXtj1 * Distinction between typeclasses MonadPlus, Alternative, and Monoid? votes: 11, answers: 1 Read on SO: [39] http://goo.gl/4LZd7 * Why can't Existential Types use record syntax? votes: 11, answers: 2 Read on SO: [40] http://goo.gl/4Gn96 * Given a Haskell type signature, is it possible to generate the code automatically? votes: 11, answers: 4 Read on SO: [41] http://goo.gl/7Xff3 * Is it possible to force a type to a class in Haskell? votes: 10, answers: 6 Read on SO: [42] http://goo.gl/SeFpb * Haskell concurrency - is forkIO really nondeterministic? votes: 10, answers: 2 Read on SO: [43] http://goo.gl/z2q9Y * Where to find programming exercises for applicative functors? votes: 9, answers: 4 Read on SO: [44] http://goo.gl/CXOYU Until next time, Daniel Santa Cruz References 1. http://permalink.gmane.org/gmane.comp.lang.haskell.general/19239 2. http://www.haskell.org/pipermail/haskell/2012-April/023244.html 3. http://permalink.gmane.org/gmane.comp.lang.haskell.wxhaskell.general/1178 4. http://permalink.gmane.org/gmane.comp.science.types.announce/2949 5. http://permalink.gmane.org/gmane.comp.lang.haskell.cafe/97851 6. http://cdsmith.wordpress.com/2012/04/18/why-do-monads-matter/ 7. http://www.reddit.com/r/haskell/comments/sfvbu/why_do_monads_matter_or_its_monad_tutorial_season/ 8. http://blog.ezyang.com/2012/04/how-urweb-records-work-and-what-it-might-mean-for-haskell/ 9. http://www.reddit.com/r/haskell/comments/sjoh5/urweb_records_can_we_apply_lessons_from_them_to/ 10. http://ittc.ku.edu/csdl/fpg/Tools/BlankCanvas 11. http://www.reddit.com/r/haskell/comments/seppr/blank_canvas_a_new_haskell_graphics_library_based/ 12. http://www.yesodweb.com/blog/2012/04/client-side 13. http://www.reddit.com/r/haskell/comments/sm72n/client_side_yesod_an_frpinspired_approach/ 14. http://softwaresimply.blogspot.com/2012/04/less-travelled-monad-tutorial-part-1.html 15. http://www.reddit.com/r/haskell/comments/scagx/understanding_haskell_kinds/ 16. http://ghc-simd.blogspot.co.uk/2012/04/adding-simd-support-to-data-parallel.html 17. http://www.reddit.com/r/haskell/comments/sfxck/adding_simd_support_to_data_parallel_haskell/ 18. http://adit.io/posts/2012-04-14-working_with_HTML_in_haskell.html 19. http://www.reddit.com/r/haskell/comments/sbxhb/working_with_html_in_haskell/ 20. http://monoidal.blogspot.com/2012/04/descending-level-ladder.html 21. http://www.reddit.com/r/haskell/comments/scq1q/descending_the_level_ladder/ 22. http://www.reddit.com/r/haskell/comments/sb80y/why_is_haskell_so_large/ 23. http://www.reddit.com/r/haskell/comments/sb80y/why_is_haskell_so_large/ 24. http://www.well-typed.com/blog/65 25. http://www.reddit.com/r/haskell/comments/sjbgv/parallel_haskell_digest_9_gsoc_stm_simd_and_the/ 26. http://jaspervdj.be/posts/2012-04-21-blaze-html-0.5.html 27. http://www.reddit.com/r/haskell/comments/sl6ps/blazehtml_05_released/ 28. http://softwaresimply.blogspot.com/2012/04/four-tips-for-new-haskell-programmers.html 29. http://www.reddit.com/r/haskell/comments/sarkz/four_tips_for_new_haskell_programmers/ 30. http://www.reddit.com/r/haskell/comments/sbpmz/check_for_interest_an_argumentoption_parser_using/ 31. http://www.reddit.com/r/haskell/comments/sbpmz/check_for_interest_an_argumentoption_parser_using/ 32. http://blog.johantibell.com/2012/04/cabal-bench.html 33. http://www.reddit.com/r/haskell/comments/sfhv3/new_cabal_feature_cabal_bench/ 34. http://stackoverflow.com/questions/10236953/the-pause-monad 35. http://stackoverflow.com/questions/10249110/to-what-extent-are-macros-functions-in-reverse 36. http://stackoverflow.com/questions/10212660/curry-howard-isomorphism 37. http://stackoverflow.com/questions/10217931/how-does-djinn-work 38. http://stackoverflow.com/questions/10257326/how-is-co-recursion-handled 39. http://stackoverflow.com/questions/10167879/distinction-between-typeclasses-monadplus-alternative-and-monoid 40. http://stackoverflow.com/questions/10192663/why-cant-existential-types-use-record-syntax 41. http://stackoverflow.com/questions/10205793/given-a-haskell-type-signature-is-it-possible-to-generate-the-code-automaticall 42. http://stackoverflow.com/questions/10211664/is-it-possible-to-force-a-type-to-a-class-in-haskell 43. http://stackoverflow.com/questions/10247555/haskell-concurrency-is-forkio-really-nondeterministic 44. http://stackoverflow.com/questions/10239630/where-to-find-programming-exercises-for-applicative-functors From carl.baatz at erudify.ch Thu Apr 26 15:49:57 2012 From: carl.baatz at erudify.ch (Carl Baatz) Date: Thu, 26 Apr 2012 15:49:57 +0200 Subject: [Haskell] Full-time Haskell position Message-ID: <4F995285.6010108@erudify.ch> Erudify is an early-stage technology firm building tools that help individuals learn. We are based in Zurich, funded, not yet seeking publicity, and intent on solving this the right way. On the Haskell side, our team consists of two full-time programmers, both with 5+ years of Haskell experience. The team is growing, and we are looking for the right person to come and join us. We have a range of interesting problems to work on and are keen to speak with programmers with expertise and experience in any of a number of fields. In addition to being a productive Haskell programmer, we will look for the following in applicants: - Focus - Grit - Rationality - Curiosity - Intelligence To apply, please email us at jobs at erudify.ch with - a short description of what you think matters in life - why you program - your view about the world today (what scares you? what excites you?) - a CV / the inline equivalent We look forward to hearing from you soon. Carl Baatz Erudify AG From rasfar at gmail.com Thu Apr 26 22:05:03 2012 From: rasfar at gmail.com (Andrew Seniuk) Date: Thu, 26 Apr 2012 16:05:03 -0400 Subject: [Haskell] ANN: Portackage - a hackage portal Message-ID: Hello, This is to announce a provisional webpage to summarise hackage.haskell.org. http://www.fremissant.net/portackage It is a lot of data, so will be a bit slow to load. Columns can be sorted by clicking the headers, but this will also take some seconds on a typical client. The initial sort is by module name. Clicking a table row links to the project page on hackage. Although I believe this is a complete list of all packages/modules in hackage, it is probably still buggy, so if you see anything amiss please let me know. Also, a subsequent version in the near future will update automatically based on the http://hackage.haskell.org/packages/archive/recent.rss RSS feed, but for now it's based on a recent snapshot. Haskell code which prepares the page will be released after a few more days testing and refinement. Some previous work [1] provided a list of all modules, but is not being maintained, and I was unable to rearouse the author's interest. Feature requests and suggestions are welcome! Kind Reg'ds, Andrew Seniuk [1] http://folk.ntnu.no/hammar/explore-hackage/ From rasfar at gmail.com Thu Apr 26 22:23:33 2012 From: rasfar at gmail.com (Andrew Seniuk) Date: Thu, 26 Apr 2012 16:23:33 -0400 Subject: [Haskell] ANN: Portackage - a hackage portal In-Reply-To: <20120426201302.GC17974@galois.com> References: <20120426201302.GC17974@galois.com> Message-ID: Jonathan, On Thu, Apr 26, 2012 at 4:13 PM, Jonathan Daugherty wrote: >> Although I believe this is a complete list of all packages/modules in >> hackage, it is probably still buggy, so if you see anything amiss >> please let me know. > > It might not be showing the most recent releases of everything. ?As an > example, it shows a much older version of my vty-ui library (1.0) and > its metadata, instead of the latest version, 1.5. ?As a result the > version, module list, description, homepage, etc., are not current. Thank-you, I'd realised this issue but forgot to address it. It is due to a false assumption on my part that the .cabal entries in the 00-index.tar file were in increasing version order. I'll address this problem today. Cheers, Andrew From rasfar at gmail.com Thu Apr 26 22:58:37 2012 From: rasfar at gmail.com (Andrew Seniuk) Date: Thu, 26 Apr 2012 16:58:37 -0400 Subject: [Haskell] ANN: Portackage - a hackage portal In-Reply-To: References: <20120426201302.GC17974@galois.com> Message-ID: Should be fixed in that respect now, thanks again for pointing it out. On Thu, Apr 26, 2012 at 4:23 PM, Andrew Seniuk wrote: > Jonathan, > > On Thu, Apr 26, 2012 at 4:13 PM, Jonathan Daugherty wrote: >>> Although I believe this is a complete list of all packages/modules in >>> hackage, it is probably still buggy, so if you see anything amiss >>> please let me know. >> >> It might not be showing the most recent releases of everything. ?As an >> example, it shows a much older version of my vty-ui library (1.0) and >> its metadata, instead of the latest version, 1.5. ?As a result the >> version, module list, description, homepage, etc., are not current. > > Thank-you, I'd realised this issue but forgot to address it. It is > due to a false assumption on my part that the .cabal entries in the > 00-index.tar file were in increasing version order. > > I'll address this problem today. > > Cheers, > Andrew From rasfar at gmail.com Fri Apr 27 05:52:47 2012 From: rasfar at gmail.com (Andrew Seniuk) Date: Thu, 26 Apr 2012 23:52:47 -0400 Subject: [Haskell] ANN: Portackage - a hackage portal In-Reply-To: References: Message-ID: Somewhat lighter, using summarised module lists. A more sophistocated UI with per-column filtering is in the works. I invite your comments. Andrew On Thu, Apr 26, 2012 at 4:05 PM, Andrew Seniuk wrote: > Hello, > > This is to announce a provisional webpage to summarise hackage.haskell.org. > > http://www.fremissant.net/portackage > > It is a lot of data, so will be a bit slow to load. Columns can be > sorted by clicking the headers, but this will also take some seconds > on a typical client. The initial sort is by module name. ?Clicking a > table row links to the project page on hackage. > > Although I believe this is a complete list of all packages/modules in > hackage, it is probably still buggy, so if you see anything amiss > please let me know. Also, a subsequent version in the near future will > update automatically based on the > http://hackage.haskell.org/packages/archive/recent.rss RSS feed, but > for now it's based on a recent snapshot. Haskell code which prepares > the page will be released after a few more days testing and > refinement. > > Some previous work [1] provided a list of all modules, but is not > being maintained, and I was unable to rearouse the author's interest. > > Feature requests and suggestions are welcome! > > Kind Reg'ds, > Andrew Seniuk > > [1] http://folk.ntnu.no/hammar/explore-hackage/ From briand at aracnet.com Fri Apr 27 07:16:11 2012 From: briand at aracnet.com (briand at aracnet.com) Date: Thu, 26 Apr 2012 22:16:11 -0700 Subject: [Haskell] ANN: Portackage - a hackage portal In-Reply-To: References: Message-ID: <20120426221611.5cec9092@windy.deldotd.com> On Thu, 26 Apr 2012 23:52:47 -0400 Andrew Seniuk wrote: > Somewhat lighter, using summarised module lists. A more sophistocated > UI with per-column filtering is in the works. I invite your comments. > > Andrew > > On Thu, Apr 26, 2012 at 4:05 PM, Andrew Seniuk wrote: > > Hello, > > > > This is to announce a provisional webpage to summarise hackage.haskell.org. > > > > http://www.fremissant.net/portackage > > > > It is a lot of data, so will be a bit slow to load. Columns can be > > sorted by clicking the headers, but this will also take some seconds > > on a typical client. The initial sort is by module name. ?Clicking a > > table row links to the project page on hackage. > > > > Although I believe this is a complete list of all packages/modules in > > hackage, it is probably still buggy, so if you see anything amiss > > please let me know. Also, a subsequent version in the near future will > > update automatically based on the > > http://hackage.haskell.org/packages/archive/recent.rss RSS feed, but > > for now it's based on a recent snapshot. Haskell code which prepares > > the page will be released after a few more days testing and > > refinement. > > > > Some previous work [1] provided a list of all modules, but is not > > being maintained, and I was unable to rearouse the author's interest. > > > > Feature requests and suggestions are welcome! > > Great idea. Maybe the format can start as compactly as possible, i.e. 1 entry per line to make it easy to browse as many entries as possible in one page. It looks as though disabling just the dependencies would go a long way to accomplish that. I'd like to vote to make the synopsis to be the second column. will each column type have an enable/disable ? it's probably best if a click on a specific target, say the actual name of the package, sends you to the hackage entry instead of a click anywhere on the row. I find myself clicking on the page by accident and it sending me off to some random hackage entry. I really like the idea - makes your hackage surfing much more enjoyable ! Brian From Jon.Sneyers at CS.KULEUVEN.BE Fri Apr 27 08:54:23 2012 From: Jon.Sneyers at CS.KULEUVEN.BE (Jon Sneyers) Date: Fri, 27 Apr 2012 08:54:23 +0200 Subject: [Haskell] CHR 2012: Call for Papers Message-ID: ========================================================================= Call for Papers Ninth International Workshop on Constraint Handling Rules CHR 2012 http://dtai.cs.kuleuven.be/CHR/CHR2012/ Budapest (Hungary), September 4th, 2012 (co-located with ICLP 2012) ========================================================================= Introduction The CHR 2012 Workshop will be held on September 4th, 2012 in Budapest, Hungary, at the occasion of the 28th International Conference on Logic Programming (ICLP 2010), the premier international venue for presenting research in logic programming. More information on the venue and the co-located conference and workshops can be found on the ICLP website (http://www.cs.bme.hu/iclp2012/). 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://dtai.cs.kuleuven.be/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 (Portugal) at ICLP, in 2008 in Hagen- berg (Austria) at RTA, in 2009 in Pasadena (California, US) at ICLP, in 2010 in Edinburgh (Scotland, UK) at ICLP, and in 2011 in Cairo (Egypt), at the 2nd CHR summer school. Topics of Interest The workshop calls for full papers and short papers describing ongoing work on any aspect of CHR and related approaches. The following topics are relevant (this list is non-exhaustive): - (Logical) Algorithms - Applications - Comparisons with Related Approaches - Constraint Solvers - Critical Assessment - Expressiveness and Complexity - Implementations and Optimization - Language Extensions (Types, Modules,...) - Program Analysis - Program Transformation and Generation - Programming Environments (Debugging) - Programming Pearls - Programming Tools - Retractable Constraints - Semantics - System Descriptions Important dates - Paper submission deadline: July 2nd, 2012 - Notification of acceptance: August 1st, 2012 - Final version due: August 17, 2012 (tentative) - Workshop date: September 4th, 2012 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, emphasising 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 8 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=chr2012 Programme Committee - Henning Christiansen, Roskilde University, Denmark - Veronica Dahl, Simon Fraser University, Canada - Fran?ois Fages, INRIA Paris-Rocquencourt, France - Thom Fr?hwirth, Ulm University, Germany (co-chair) - Maurizio Gabbrielli, Universita' di Bologna, Italy - R?my Haemmerl?, Universidad Politecnica de Madrid, Spain - Thierry Martinez, INRIA Paris-Rocquencourt, France - Eric Monfroy, Universit? de Nantes, France - Tom Schrijvers, University of Ghent, Belgium - Jon Sneyers, KU Leuven, Belgium (co-chair) - Armin Wolf, Fraunhofer FIRST, Germany Workshop Coordinators Contact: chr2012 at easychair.org Jon Sneyers Department of Computer Science, KU Leuven Leuven, Belgium http://people.cs.kuleuven.be/~jon.sneyers/ Thom Fr?hwirth Programmiermethodik und Compilerbau, Ulm University Ulm, Germany http://www.informatik.uni-ulm.de/pm/mitarbeiter/fruehwirth/ From chbreitkopf at googlemail.com Fri Apr 27 10:12:58 2012 From: chbreitkopf at googlemail.com (Christoph Breitkopf) Date: Fri, 27 Apr 2012 10:12:58 +0200 Subject: [Haskell] ANN: Portackage - a hackage portal In-Reply-To: <20120426221611.5cec9092@windy.deldotd.com> References: <20120426221611.5cec9092@windy.deldotd.com> Message-ID: Hi Andrew, this already looks great. So here's my wish-list, in case you have too much time on yours hands ;-) On Fri, Apr 27, 2012 at 7:16 AM, wrote: > it's probably best if a click on a specific target, say the actual name of > the package, sends you to the hackage entry instead of a click anywhere on > the row. I find myself clicking on the page by accident and it sending me > off to some random hackage entry. > And make the homepage URL into a link - clicking on that address and finding oneself on hackage is confusing. Quality/popularity indicators (I'm aware that some of these are real work and better provided by hackage itself): - used by how many other packages (number of edges to that package in the dependency graph of all packages) - haddock coverage, test coverage, etc. - like, +1, whatnot button - link to issue tracker, if there is one Chris -------------- next part -------------- An HTML attachment was scrubbed... URL: From rasfar at gmail.com Fri Apr 27 20:32:42 2012 From: rasfar at gmail.com (Andrew Seniuk) Date: Fri, 27 Apr 2012 14:32:42 -0400 Subject: [Haskell] ANN: Portackage - a hackage portal In-Reply-To: References: <20120426221611.5cec9092@windy.deldotd.com> Message-ID: Excuse the delay, I have no home internet. > On Fri, Apr 27, 2012 at 1:16 AM, wrote: > Great idea. Maybe the format can start as compactly as possible, > i.e. 1 entry per line to make it easy to browse as many entries > as possible in one page. > > It looks as though disabling just the dependencies would go a > long way to accomplish that. Yep, and in fact the version I uploaded while reading your message has the deps column elided (and one or two others). Enforcing single-line rows is a but a few tweaks away. The thing is, the module namespace was the main motivator for this project, so I'm also seeing whether I can get away with a single view, package-oriented as presently, and still give good focus to the modules names. Soon I hope to include "accordion" views of the module namespace, with cookie-based (?) persistent state so user's collapse/expand tree state is preserved. > I'd like to vote to make the synopsis to be the second column. > > will each column type have an enable/disable ? I like the idea (although that one wasn't in the upload). Hopefully when I explore the JavaScript UI tools a bit more, the columns (key structure) will be totally configurable by drag-and-drop, with columns sizable, and keys selected from a listbox. (?) stuff like that > it's probably best if a click on a specific target, say the actual > name of the package, sends you to the hackage entry instead of a > click anywhere on the row. I find myself clicking on the page > by accident and it sending me off to some random hackage entry. :) That's a feature! But seriously, you're right, and as a bonus the links can be specific to the columns (package -> hackage, modules -> API pages, homepages -> hps, maintainer -> sendto [1]). (A 2-finger or Mod- click anywhere on a row might still be nice, but a bare tap is admittedly way too accident prone with touch input.) > I really like the idea - makes your hackage surfing > much more enjoyable ! > > Brian And thank-you for sharing your thoughts! I'm committed to improving it, until the ideas run out. > On Fri, Apr 27, 2012 at 4:12 AM, Christoph Breitkopf wrote: > this already looks great. So here's my wish-list, in case you have > too much time on yours hands ;-) Thanks! Yes I suppose I do have too much time on my hands, but the pain of that is conterbalanced by all the excitement. > Quality/popularity indicators (I'm aware that some of these are > real work and better provided by hackage itself): > - used by how many other packages (number of edges to that package > in the dependency graph of all packages) > - haddock coverage, test coverage, etc. > - like, +1, whatnot button > - link to issue tracker, if there is one If there's interest, this could become integrated with hackage at some point in the future. Next thing is to get a "last upload" field which can replace the version field. The codependency graph :) would be a nice metric to add, I'll look into it. I remember seeing a package that does this someplace on hackage. The +1 button is a good one! In short I'll try to implement all these ideas, thanks to you both for the encouraging comments. -Andrew [1] I omitted the maintainer column, thinking its inclusion might be harmful, making the emails so easy for a bot to collect. From rasfar at gmail.com Sat Apr 28 00:17:00 2012 From: rasfar at gmail.com (Andrew Seniuk) Date: Fri, 27 Apr 2012 18:17:00 -0400 Subject: [Haskell] ANN: Portackage - a hackage portal In-Reply-To: References: <20120426221611.5cec9092@windy.deldotd.com> Message-ID: Hi Derek, Thanks for your comments. Yes, I am probably going to focus on making it work as a web service and stay away from platform-specific mobile apps. Not been thinking mobile much at all, since the quantities of data are taxing even to my laptop, and also I'm inclined to believe people are mostly at a laptop or desktop when coding Haskell. However, I'm planning to try server-side sorting and filtering, and compare performance. No DB is used on the server yet, but it would be simple enough I suppose -- all this is quite new territory for me. Also my shared hosting resource limits may become a problem if this gets a lot of use. On the other hand, was planning to use persistence (cookies i guess?) to save the data on the client, so that patches based on Hackage RSS could be applied incrementally. Also, I think the sorting could be faster by sending per-column lists of indices. But maybe it is just the browser rendering which is taking all the time? I'll take this opportunity to announce a few improvements: - shift-click a row to see the Hackage page (bare click does nothing) - per-column filtering widgets Presently working on getting the "last updated" column, this information is not in a .cabal file but I'm hoping it is in the TAR metadata... The link again: http://www.fremissant.net/portackage A. From ivan.miljenovic at gmail.com Sat Apr 28 01:07:06 2012 From: ivan.miljenovic at gmail.com (Ivan Lazar Miljenovic) Date: Sat, 28 Apr 2012 09:07:06 +1000 Subject: [Haskell] ANNOUNCE: planar-graph-1.0 Message-ID: I uploaded this [1] yesterday, posted the blog article [2] about it... but forgot to send a message to the lists! [1]: http://hackage.haskell.org/package/planar-graph [2]: http://ivanmiljenovic.wordpress.com/2012/04/27/announcing-planar-graph/ planar-graph is an implementation of, strangely enough, planar graphs (that is, a graph that contains an embedding on a surface, can be drawn with no edge crossings and has a specific ordering of edges). It handles graphs on planes and spheres, but I'm not sure about other surfaces (and there seems to be little demand for such). This probably won't be of many use to people, but as I described in the blog post, I've been using this as a test bed for graph library design (specifically usage of abstract node/edge identifiers, using half-edges and the serialisation/encoding setup). -- Ivan Lazar Miljenovic Ivan.Miljenovic at gmail.com http://IvanMiljenovic.wordpress.com From thomas.dubuisson at gmail.com Sat Apr 28 01:13:49 2012 From: thomas.dubuisson at gmail.com (Thomas DuBuisson) Date: Fri, 27 Apr 2012 16:13:49 -0700 Subject: [Haskell] [Haskell-cafe] ANNOUNCE: planar-graph-1.0 In-Reply-To: References: Message-ID: Good work, Ivan. Despite your numerous previous pointers, I still haven't look at this API. I'm glad to see this release, it's great motivation and I'll probably look through it this weekend. Thanks for all the graph library work you do, Thomas On Fri, Apr 27, 2012 at 4:07 PM, Ivan Lazar Miljenovic wrote: > I uploaded this [1] yesterday, posted the blog article [2] about it... > but forgot to send a message to the lists! > > [1]: http://hackage.haskell.org/package/planar-graph > [2]: http://ivanmiljenovic.wordpress.com/2012/04/27/announcing-planar-graph/ > > planar-graph is an implementation of, strangely enough, planar graphs > (that is, a graph that contains an embedding on a surface, can be > drawn with no edge crossings and has a specific ordering of edges). > It handles graphs on planes and spheres, but I'm not sure about other > surfaces (and there seems to be little demand for such). > > This probably won't be of many use to people, but as I described in > the blog post, I've been using this as a test bed for graph library > design (specifically usage of abstract node/edge identifiers, using > half-edges and the serialisation/encoding setup). > > -- > Ivan Lazar Miljenovic > Ivan.Miljenovic at gmail.com > http://IvanMiljenovic.wordpress.com > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe at haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe From choener at tbi.univie.ac.at Sat Apr 28 03:34:33 2012 From: choener at tbi.univie.ac.at (Christian =?iso-8859-1?Q?H=F6ner?= zu Siederdissen) Date: Sat, 28 Apr 2012 03:34:33 +0200 Subject: [Haskell] ANNOUNCE: planar-graph-1.0 In-Reply-To: References: Message-ID: <20120428013433.GA3306@totalegal.fritz.box> Hi, one minor correction: > This probably won't be of many use to people for bioinformatics I'd disagree ;-) I'll take a look at your library. (for example, RNA /secondary/ structure forms a planar graph) Gruss, Christian * Ivan Lazar Miljenovic [28.04.2012 01:08]: > I uploaded this [1] yesterday, posted the blog article [2] about it... > but forgot to send a message to the lists! > > [1]: http://hackage.haskell.org/package/planar-graph > [2]: http://ivanmiljenovic.wordpress.com/2012/04/27/announcing-planar-graph/ > > planar-graph is an implementation of, strangely enough, planar graphs > (that is, a graph that contains an embedding on a surface, can be > drawn with no edge crossings and has a specific ordering of edges). > It handles graphs on planes and spheres, but I'm not sure about other > surfaces (and there seems to be little demand for such). > > This probably won't be of many use to people, but as I described in > the blog post, I've been using this as a test bed for graph library > design (specifically usage of abstract node/edge identifiers, using > half-edges and the serialisation/encoding setup). > > -- > Ivan Lazar Miljenovic > Ivan.Miljenovic at gmail.com > http://IvanMiljenovic.wordpress.com > > _______________________________________________ > Haskell mailing list > Haskell at haskell.org > http://www.haskell.org/mailman/listinfo/haskell -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: not available URL: From ivan.miljenovic at gmail.com Sat Apr 28 03:55:32 2012 From: ivan.miljenovic at gmail.com (Ivan Lazar Miljenovic) Date: Sat, 28 Apr 2012 11:55:32 +1000 Subject: [Haskell] ANNOUNCE: planar-graph-1.0 In-Reply-To: <20120428013433.GA3306@totalegal.fritz.box> References: <20120428013433.GA3306@totalegal.fritz.box> Message-ID: On 28 April 2012 11:34, Christian H?ner zu Siederdissen wrote: > Hi, > > one minor correction: >> This probably won't be of many use to people > for bioinformatics I'd disagree ;-) I'll take a look at your library. > > (for example, RNA /secondary/ structure forms a planar graph) I stand corrected! -- Ivan Lazar Miljenovic Ivan.Miljenovic at gmail.com http://IvanMiljenovic.wordpress.com