From lemming at henning-thielemann.de Sun Dec 1 19:28:06 2013 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Sun, 01 Dec 2013 20:28:06 +0100 (CET) Subject: [Haskell] Haskell can sing Message-ID: Hi all, it's again Advent time and I took the opportunity to program another song for you. Those who liked last year's songs [1,2,3] may also be interested in the new one: http://www.youtube.com/watch?v=0EQCgi5qa3E "Alta trinita beata" It employs the great Haskell live sequencer and a new speech synthesizer that I developed with Haskell and LLVM. You find additional information in the video description. Best, Henning [1] http://www.haskell.org/pipermail/haskell/2012-December/023591.html [2] http://www.youtube.com/watch?v=-fmxHM69zgI [3] http://www.youtube.com/watch?v=O5k0wUh0lj8 From Iain.Whiteside at newcastle.ac.uk Mon Dec 2 10:18:47 2013 From: Iain.Whiteside at newcastle.ac.uk (Iain Whiteside) Date: Mon, 2 Dec 2013 10:18:47 +0000 Subject: [Haskell] AI4FM 2014: Call for Short Contributions Message-ID: ------------------------------------------------- AI4FM 2014 - the 5th International Workshop on the use of AI in Formal Methods http://www.ai4fm.org/ai4fm-2014/ Singapore, 12th or 13th May, 2014 In association with FM 2014 ------------------------------------------------- --- First Call for Contributions --- Important Dates --------------- Submission deadline: March 01, 2014 Notification of acceptance: March 08, 2014 Final version due: April 22, 2014 Workshop: May 12th or 13th, 2014 General --------------- This workshop will bring together researchers from formal methods, automated reasoning and AI; it will address the issue of how AI can be used to support the formal software development process, including requirement analysis, modelling and proof. Previous AI4FM workshops have included a mix of industrial and academic participants and we anticipate attracting a similarly diverse audience. Rigorous software development using formal methods allows the construction of an accurate characterisation of a problem domain that is firmly based on mathematics; by applying standard mathematical analyses, these methods can be used to prove that systems satisfy formal specifications. Research has shown that with tools backed by mature theory, formal methods are becoming cost effective and their use is easier to justify, not as an academic exercise, legal requirement or niche markets -- but as part of a business case. However, while industrial use of formal methods is increasing, in order to make it more mainstream, the cost of applying formal methods, in terms of mathematical skill level and development time, must still be reduced. We believe that AI can help with these issues. Scope --------------- We encourage submissions presenting work in progress, tools under development, and PhD projects, in order that the workshop can become a forum for active dialogue between the groups involved in automated reasoning, formal methods and artificial intelligence. Particular areas of interest include, but are not limited to: - The use of AI and automated reasoning to support and guide the formal modelling process. - The use of AI and automated reasoning in the requirement capture process. - The use of AI to reuse formal models, programs and proofs. - The use of machine learning to support interactive theorem proving. - The use of machine learning to enhance automated theorem proving. - The development of search heuristics. - The use of AI for term synthesis, invariant generation, lemma discovery and concept invention. - The use of AI for counter-example generation. - The use of constraint solvers in formal methods. - The role of AI planning for formal systems developments, from requirements to the end product (including software and hardware). - The interplay between reasoning and modelling and the role of AI in this framework. - Ontologies in the formal engineering process. History --------------- This will be the fifth workshop in the series. Previous workshops were held at: - Rennes, France, July 2013 @ ITP (www.ai4fm.org/ai4fm-2013/) - Schloss Dagstuhl, Germany, July 2012 (www.dagstuhl.de/12271) - Edinburgh, UK, April 2011 (www.ai4fm.org/ai4fm-2011.php) - Newcastle, UK, May 2010 (www.ai4fm.org/ko-meeting.php) Submission --------------- The main aim for the workshop is discussion, thus submissions do not need to be original. Extended versions of submissions may have been published previously, or submitted concurrently with or after AI4FM 2014 to another workshop, conference or a journal. Submission is by email to: ai4fm2014 at ai4fm.org Please submit an abstract up to 3 pages in a PDF format. The extended abstracts will be handed out to all participants, and will be made into a technical report prior to the workshop. Acceptance for presentation at the workshop will be made by the organisers based on relevance to the workshop. Organisers --------------- * Leo Freitas (Newcastle University, UK) * Gudmund Grov (Heriot-Watt University, UK) * Iain Whiteside (Newcastle University, UK) Contact Details ---------------- If you have any queries, please email the organisers at the following email address: ai4fm2014 at ai4fm.org From hamish.k.mackenzie at gmail.com Tue Dec 3 01:01:02 2013 From: hamish.k.mackenzie at gmail.com (Hamish Mackenzie) Date: Tue, 3 Dec 2013 14:01:02 +1300 Subject: [Haskell] [ANN] Gtk2Hs 0.12.5 Message-ID: <66D2AF64-D0ED-4619-82D2-8073E06874E6@gmail.com> Today, we welcome into the world version 0.12.5 of Gtk2Hs[1], a set of Haskell bindings to many of the libraries included in the GTK+/Gnome platform. GTK+ is an extensive and mature multi-platform toolkit for creating graphical user interfaces. GUIs written using Gtk2Hs use themes to resemble the native look on Windows. GTK+ is the toolkit used by Gnome, one of the two major GUI toolkits on Linux. On Mac OS programs written using Gtk2Hs are run by Apple's X11 server but may also be linked against a native Aqua implementation of GTK+. You can look forward to using the following improvements in this release: * Initial support for GTK+ 3 GTK+ 2 package GTK+ 3 package gtk gtk3 gtksourceview2 gtksourceview3 webkit webkitgtk3 webkit-javascriptcore webkitgtk3-javascriptcore * Fixes build problems with the latest Cabal. * WebKitGTK packages (webkit and webkitgtk3) include DOM functions. * Package for using WebKitGTK's JavaScript engine. The source code repository has been moved to https://github.com/gtk2hs and travis-ci.org is used to check it builds. This release has been tested on Linux and Windows with a variety of combinations of GTK+ and GHC versions. Installation ------------ Assuming you have the necessary GTK+ base libraries already installed, you can get the basic set of Haskell bindings with these two commands: cabal install gtk2hs-buildtools cabal install gtk or cabal install gtk2hs-buildtools cabal install gtk3 Other available packages include gconf glade gstreamer gtkglext gtksourceview2 (or gtksourceview3) soegtk svgcairo vte webkit (or webkitgtk3) webkit-javascriptcore (or webkitgtk3-javascriptcore) There are longer-winded instructions that include pointers on getting the GTK+ base libraries installed on the website [2]. Features -------- * Automatic memory management (unlike some other C/C++ GUI libraries, GTK+ provides proper support for garbage-collected languages) * Unicode support * High quality vector graphics using Cairo * Extensive reference documentation * An implementation of the ``Haskell School of Expression'' graphics API Community --------- You can keep up with the latest developments on the mailing lists: * gtk2hs-users [3]: discussions about writing code that uses Gtk2Hs * gtk2hs-devel [4]: discussions about modifying the Gtk2Hs bindings Check out the latest code via darcs: git clone https://github.com/gtk2hs/gtk2hs.git Or complain on the bug tracker [6]. This code was brought to you by: Duncan Coutts Axel Simon Andy Stewart Peter Gavin Jens Petersen John Obbele Hans van Thiel Daniel Wagner Bertram Felgenhauer Peter Davies Ian-Woo Kim Hamish Mackenzie ...and many, many more [1] http://projects.haskell.org/gtk2hs/ [2] https://github.com/gtk2hs/gtk2hs/blob/master/INSTALL [3] https://lists.sourceforge.net/lists/listinfo/gtk2hs-users [4] https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel [5] https://lists.sourceforge.net/lists/listinfo/gtk2hs-commit [6] http://hackage.haskell.org/trac/gtk2hs/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From P.Achten at cs.ru.nl Tue Dec 3 10:06:05 2013 From: P.Achten at cs.ru.nl (Peter Achten) Date: Tue, 03 Dec 2013 11:06:05 +0100 Subject: [Haskell] [TFP 2014] 1st Call For Papers Message-ID: <529DAD0D.1000707@cs.ru.nl> Dear reader, Please find included the first call for papers for next year's Trends In Functional Programming event, organized by Jurriaan Hage from Utrecht University, The Netherlands. With kind regards, Peter Achten Communication chair TFP ----------------------------- C A L L F O R P A P E R S ----------------------------- ======== TFP 2014 =========== 15th Symposium on Trends in Functional Programming May 26-28, 2014 Utrecht University Soesterberg, The Netherlands http://www.cs.uu.nl/wiki/TFP2014/WebHome The symposium on Trends in Functional Programming (TFP) is an international forum for researchers with interests in all aspects of functional programming, taking a broad view of current and future trends in the area. It aspires to be a lively environment for presenting the latest research results, and other contributions (see below), described in draft papers submitted prior to the symposium. A formal post-symposium refereeing process then selects a subset of the articles presented at the symposium and submitted for formal publication. Selected papers will be published as a Springer Lecture Notes in Computer Science (LNCS) volume. TFP 2014 will be the main event of a pair of functional programming events. The other is the International Workshop on Trends in Functional Programming in Education (TFPIE). TFPIE will take place on May 25th. The TFP symposium is the heir of the successful series of Scottish Functional Programming Workshops. Previous TFP symposia were held in Edinburgh (Scotland) in 2003, in Munich (Germany) in 2004, in Tallinn (Estonia) in 2005, in Nottingham (UK) in 2006, in New York (USA) in 2007, in Nijmegen (The Netherlands) in 2008, in Komarno (Slovakia) in 2009, in Oklahoma (USA) in 2010, in Madrid (Spain) in 2011, St. Andrews (UK) in 2012 and Provo (Utah, USA) in 2013. For further general information about TFP please see the TFP homepage. INVITED SPEAKERS TFP is pleased to announce talks by the following two invited speakers: John Hughes of Chalmers, Goteborg, Sweden, is well-known as author of Why Functional Programming Matters, and as one of the designers of QuickCheck (together with Koen Claessen); the paper on QuickCheck won the ICFP Most Influential Paper Award in 2010. Currently he divides his time between his professorship and Quviq, a company that performs property-based testing of software with a tool implemented in Erlang. Dr. Geoffrey Mainland received his PhD from Harvard University where he was advised by Greg Morrisett and Matt Welsh. After a two year postdoc with the Programming Principles and Tools group at Microsoft Research Cambridge, he is now an assistant professor at Drexel University. His research focuses on high-level programming language and runtime support for non-general purpose computation. SCOPE The symposium recognizes that new trends may arise through various routes. As part of the Symposium's focus on trends we therefore identify the following five article categories. High-quality articles are solicited in any of these categories: Research Articles: leading-edge, previously unpublished research work Position Articles: on what new trends should or should not be Project Articles: descriptions of recently started new projects Evaluation Articles: what lessons can be drawn from a finished project Overview Articles: summarizing work with respect to a trendy subject Articles must be original and not submitted for simultaneous publication to any other forum. They may consider any aspect of functional programming: theoretical, implementation-oriented, or more experience-oriented. Applications of functional programming techniques to other languages are also within the scope of the symposium. Topics suitable for the symposium include: Functional programming and multicore/manycore computing Functional programming in the cloud High performance functional computing Extra-functional (behavioural) properties of functional programs Dependently typed functional programming Validation and verification of functional programs Using functional techniques to reason about imperative/object-oriented programs Debugging for functional languages Functional programming in different application areas: security, mobility, telecommunications applications, embedded systems, global computing, grids, etc. Interoperability with imperative programming languages Novel memory management techniques Program analysis and transformation techniques Empirical performance studies Abstract/virtual machines and compilers for functional languages (Embedded) domain specific languages New implementation strategies Any new emerging trend in the functional programming area If you are in doubt on whether your article is within the scope of TFP, please contact the TFP 2014 program chair, Jurriaan Hage at J.Hage at uu.nl. BEST PAPER AWARDS To reward excellent contributions, TFP awards a prize for the best paper accepted for the formal proceedings. TFP traditionally pays special attention to research students, acknowledging that students are almost by definition part of new subject trends. A student paper is one for which the authors state that the paper is mainly the work of students, the students are listed as first authors, and a student would present the paper. A prize for the best student paper is awarded each year. In both cases, it is the PC of TFP that awards the prize. In case the best paper happens to be a student paper, that paper will then receive both prizes. SPONSORS TFP is financially supported by NWO (Netherlands Organisation for Scientific Research), Well-Typed and Erlang Solutions. PAPER SUBMISSIONS Acceptance of articles for presentation at the symposium is based on a lightweight peer review process of extended abstracts (4 to 10 pages in length) or full papers (16 pages). The submission must clearly indicate which category it belongs to: research, position, project, evaluation, or overview paper. It should also indicate whether the main author or authors are research students. In the case of a full student paper, the paper will receive additional feedback by one of the PC members shortly after the symposium has taken place. We shall use EasyChair for the refereeing process. IMPORTANT DATES Submission of draft papers: March 17, 2014 Notification: March 24, 2014 Registration: April 7, 2014 TFP Symposium: May 26-28, 2014 Student papers feedback: June 9th, 2014 Submission for formal review: July 1st, 2014 Notification of acceptance: September 8th, 2014 Camera ready paper: October 8th, 2014 PROGRAM COMMITTEE Peter Achten Radboud University Nijmegen Emil Axelsson Chalmers Lucilia Camarao de Figueiredo Universidade Federal de Ouro Preto Laura Castro University of A Coruna Frank Huch Christian-Albrechts-University of Kiel Matthew Fluet Rochester Institute of Technology Jurriaan Hage (chair) University of Utrecht Yukiyoshi Kameyama University of Tsukuba Andrew Kennedy Microsoft Research Tamas Kozsik Eotvos Lorand University Ben Lippmeier University of New South Wales Luc Maranget INRIA Jay McCarthy Brigham Young University Marco T. Morazan Seton Hall University Ricardo Pena Universidad Complutense de Madrid Alexey Rodriguez madvertise Sven-Bodo Scholz Heriot-Watt University Manuel Serrano INRIA Sophia Antipolis Simon Thompson University of Kent Tarmo Uustalu Inst of Cybernetics David Van Horn Maryland University Janis Voigtlaender University of Bonn From alan.schmitt at inria.fr Wed Dec 4 08:56:40 2013 From: alan.schmitt at inria.fr (Alan Schmitt) Date: Wed, 04 Dec 2013 09:56:40 +0100 Subject: [Haskell] PLMW: Mentoring at POPL. Second Call for Participation Message-ID: Students! You less than have one week left to apply for funding to come to both POPL and PLMW! CALL FOR PARTICIPATION SIGPLAN Programming Languages Mentoring Workshop, San Diego, USA Tuesday January 21, 2014 Co-located with POPL 2014 PLMW web page: http://plmw2014.inria.fr/ After the resounding success of the first two Programming Languages Mentoring Workshops at POPL 2012 and POPL 2013, we proudly announce the 3rd SIGPLAN Programming Languages Mentoring Workshop (PLMW), co-located with POPL 2014 and organised by Amal Ahmed, Benjamin C. Pierce, and Alan Schmitt. The purpose of this mentoring workshop is to encourage graduate students and senior undergraduate students to pursue careers in programming language research. This workshop will provide technical sessions on cutting-edge research in programming languages, and mentoring sessions on how to prepare for a research career. We will bring together leaders in programming language research from academia and industry to give talks on their research areas. The workshop will engage students in a process of imagining how they might contribute to our research community. We especially encourage women and underrepresented minority students to attend PLMW. This workshop is part of the activities surrounding POPL, the Symposium on Principles of Programming Languages, and takes place the day before the main conference. One goal of the workshop is to make the POPL conference more accessible to newcomers. We hope that participants will stay through the entire conference. A number of sponsors have generously donated scholarship funds for qualified students to attend PLMW. These scholarships should cover reasonable expenses (airfare, hotel, and registration fees) for attendance at both the workshop and the POPL conference. Students attending this year will get one year free student membership of SIGPLAN, unless they prefer to opt out during their application. The workshop registration is open to all. Students with alternative sources of funding are welcome. APPLICATION for PLMW scholarship: The scholarship application can be accessed from the workshop web site (http://plmw2014.inria.fr/). The deadline for full consideration of funding is 10th December, 2013. Selected participants will be notified from Friday 14th December, and will need to register for the workshop by December 24th. SPEAKERS: - Andrew Appel: Software Verification - Isil Dillig: Program Analysis - Nate Foster: You and your PhD - Derek Dreyer: Progress & Preservation Considered Boring: A Paean to Parametricity - John Hughes: Unaccustomed as I am to public speaking - Greg Morrisett: Think Big: Some Crazy Thesis Topics - Peter O'Hearn: Program Logic and Analysis - Peter Sewell: From POPL to the Jungle and Back - Phil Wadler: You and Your Research and The Elements of Style - Stephanie Weirich: Why you should care about dependent types FAQ: We have put a page answering the most frequent questions at http://plmw2014.inria.fr/faq.html SPONSORS: Facebook Google Jane Street Microsoft Research NSF SIGPLAN From kovens at strgroup.co.uk Thu Dec 5 09:10:52 2013 From: kovens at strgroup.co.uk (Katy Ovens) Date: Thu, 5 Dec 2013 09:10:52 -0000 Subject: [Haskell] Post for Haskellers Mail List Message-ID: <9D4C287ED5FAC7429330411C62B003CC18F27C00@strdc1.STR2.local> Good morning, I would like to post the below to the Haskell Mail List: HASKELLERS REQUIRED!! Career Opportunities in Cambridge (UK) I am currently hiring for Senior Software Engineers, Principal Software Engineers and Software Architects with proficiency in Haskell programming. This is a fantastic opportunity to join a global, world-leading technology business working on cutting-edge product development in the field of HPC and Big Data. Packages are highly flexible to attract the best talent. For more information - get in touch with Katy Ovens on 02392 322 308 or send a message to kovens at strgroup.co.uk http://www.strgroup.co.uk/ Katy Ovens , CertRP Lead Account Manager - Engineering 023 9232 2308 07511 011 918 kovens at strgroup.co.uk 1 Quay Point, Northarbour Road, Portsmouth, PO6 3TD, UK - http://www.strgroup.co.uk/ Join our social networks: http://www.linkedin.com/company/str-group http://www.facebook.com/pages/STR-Group/157182227861 http://twitter.com/#!/STR_Group All detailed pricing models will exclude local taxation charges unless otherwise stated, for a copy of our terms and conditions please http://www.strgroup.co.uk/terms-and-conditions.cms.asp STR Ltd is a limited company registered in England and Wales. Registered number: 04064332. Registered office: 1 Quay Point, Northarbour Road, Portsmouth, PO6 3TD. Please note that STR Ltd may monitor email traffic data and also the content of email for the purposes of security and staff training. IMPORTANT: This message is private and confidential. If you have received this message in error, please notify us and remove it from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. STR Limited therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. -- This message has been scanned for viruses and dangerous content and is believed to be clean. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hidaka at nii.ac.jp Thu Dec 5 14:39:25 2013 From: hidaka at nii.ac.jp (Soichiro Hidaka) Date: Thu, 5 Dec 2013 23:39:25 +0900 Subject: [Haskell] BX 2014: Paper deadline extended Message-ID: <9348A08A-5E5D-4346-880A-8FDF52C64078@nii.ac.jp> Third International Workshop on Bidirectional Transformations (BX 2014) *Deadline extended due to many requests. Original deadline became abstract deadline.* Friday March 28th, 2014 Athens, Greece co-located with EDBT/ICDT 2014 Web site: http://bx-community.wikidot.com/bx2014:home Submission site: https://www.easychair.org/account/signin.cgi?conf=bx2014 Paper length: 3-8 pages, ACM format. In-progress work is highly encouraged, if limited to 4 pages. Bidirectional transformations (bx) are a mechanism for maintaining the consistency of at least two related sources of information. Such sources can be relational data, software models, documents, graphs, trees, and so on. BX are an emerging topic in a wide range of research areas with prominent presence at top conferences in different fields. However, much of the research in bx tends to get limited exposure outside of a single field of study. The purpose of this workshop series is not only to further research into bx, but to promote cross-disciplinary research and awareness in the area. The first two instances of this workshop, BX'12 and BX'13, served as a dedicated venue for bx in all relevant areas, including: - Databases - Programming Languages - Software Engineering - Graph Transformation This instance of the workshop is the first at a database venue. The workshop rotates between venues in different areas to promote the cross-disciplinary nature of the work, as methodologies used for bx range from classical program transformation and updateable views to graph transformation techniques, from ad-hoc techniques for data synchronization to the development of domain-specific languages and their integration. We also solicit papers on model/metamodel co-evolution, which is a different yet closely related subject. Aims and Topics The aim of the workshop is to bring together researchers and practitioners, established and new, interested in bidirectional transformations from different perspectives, such as: * inversion of data exchange mappings * new perspectives on view updatability * data-schema co-evolution and data synchronization * software-model synchronization * consistency analysis * (coupled) software/model transformations * language-based approaches Submissions can be: * novel research concepts and results * position papers and research perspectives * application of bx in new domains * analysis of gaps between formal concepts and application scenarios * examination of the efficiency of algorithms * analysis/classification of requirements for bx technologies * proposals and justification for benchmarks * summary papers providing novel comparisons between existing technologies * case studies and tool support Submitted papers must be in ACM format in accordance with the other workshops and proceedings at EDBT/ICDT. Papers may be 3-8 pages in length; the length of the paper should be appropriate for the level of completeness of the work. Important Dates: Abstract submission date: 7th December 2013 Paper submission date: 13th December 2013 Author notification: 7th January 2014 Camera-ready date: 20th January 2014 Workshop date: 28th March 2014 Accepted papers will be published in the workshop proceedings of EDBT/ICDT and will be available at the conference. From james.cheney at gmail.com Fri Dec 6 15:15:01 2013 From: james.cheney at gmail.com (James Cheney) Date: Fri, 6 Dec 2013 08:15:01 -0700 Subject: [Haskell] Fully funded PhD studentships in Pervasive Parallelism at Edinburgh Message-ID: [Forwarded on behalf of the department. Types, languages, and verification for parallel, concurrent or distributed programming are possible topics.] Centre for Doctoral Training in Pervasive Parallelism http://pervasiveparallelism.inf.ed.ac.uk/ The EPSRC-funded Centre for Doctoral Training in Pervasive Parallelism at the University of Edinburgh is pleased to offer 12 fully funded four year studentships across all areas relevant to the "pervasive parallelism challenge". Students undertake an initial MSc by Research year, followed by three years of PhD study. Research Topics in Pervasive Parallelism The computing industry faces its most disruptive challenge for fifty years. For performance and energy reasons, parallelism permeates all layers of the computing infrastructure, from the manycore CPUs and GPGPUs inside smartphones up to supercomputers and globally networked distributed systems. These systems generate fascinating research challenges in many areas of Computer Science, from theory to practice. * How should we design parallel programming languages and compilers? * How should we design and implement parallel architectures and communication networks? * What theories do we need to prove properties of such systems, or to model and reason about their performance? * How can concurrent and distributed systems be made secure? * How can we trade performance for energy in context sensitive ways? * How can we make algorithms and applications robust against the failures inevitable in exascale systems? * How can we effectively debug, trace, or understand the provenance of results of complex parallel, concurrent or distributed programs? Students at the CDT in Pervasive Parallelism will address such "pervasive parallelism challenges", undertaking the fundamental research required to transform methods and practices. They will develop not only deep expertise in their own specialism, but crucially, an awareness of its relationships to other facets of the challenge. Our industrial partnership and engagement programme will ensure that our research is informed by real world case-studies and will provide a source of diverse internship opportunities for our students. Studentships The Centre is now recruiting its first cohort of students, to begin study in September 2014. Funding is predominantly for UK and EU qualified applicants, but a smaller number of excellent international students may also be supported. Applicants must have a good first degree in Computer Science, Mathematics, Electronics, or a similar discipline relevant to the area in which they plan to work. For more information, including application details see: http://pervasiveparallelism.inf.ed.ac.uk/ About the School of Informatics and the Edinburgh Parallel Computing Centre. The CDT in Pervasive Parallelism is a collaboration between the School of Informatics and the Edinburgh Parallel Computing Centre (EPCC). The School of Informatics is Europe's largest computing department, highest rated for research and ranked 'excellent' in the UK according to the most recent research assessment exercises. The size and reputation of the Schools means that it is big enough to provide outstanding facilities for students which in turn attracts some of the brightest minds to study and teach there. The School has an extremely successful track record of generating spin-out activity, with an estimated 44% of all University of Edinburgh spin outs since 2008 emerging from the School of Informatics alone. Recently awarded a Silver Athena SWAN Award, it is also recognised as an institution with a commitment to advancing women's careers. For more information about postgraduate study opportunities at the School of Informatics see: http://www.ed.ac.uk/schools-departments/informatics/postgraduate/ The EPCC is the UK's largest supercomputing centre. It aims to accelerate the effective exploitation of novel computing throughout industry, academia and commerce. This is achieved through a range of activities spanning undergraduate and advanced training programmes, service provision, industrial affiliation, research and contract work. EPCC houses an exceptional range of supercomputers, with 75 staff committed to the solution of real-world problems. EPCC plays a leading role in PRACE (Partnership for Advanced Computing in Europe). For more information about EPCC see http://www.epcc.ed.ac.uk/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From 2haskell at pkturner.org Sun Dec 8 12:51:44 2013 From: 2haskell at pkturner.org (Scott Turner) Date: Sun, 08 Dec 2013 07:51:44 -0500 Subject: [Haskell] Haskell can sing In-Reply-To: References: Message-ID: <52A46B60.1010204@pkturner.org> On 2013-12-01 14:28, Henning Thielemann wrote: > it's again Advent time and I took the opportunity to program another > song for you. Those who liked last year's songs [1,2,3] may also be > interested in the new one: > http://www.youtube.com/watch?v=0EQCgi5qa3E "Alta trinita beata" > > It employs the great Haskell live sequencer and a new speech > synthesizer that I developed with Haskell and LLVM. You find > additional information in the video description. Good music, and fun to watch it performed live by the Haskell code, i.e. with the highlighted active subexpressions keeping up as the lyrics are sung. From chak at cse.unsw.edu.au Mon Dec 9 02:25:30 2013 From: chak at cse.unsw.edu.au (Manuel M T Chakravarty) Date: Mon, 9 Dec 2013 13:25:30 +1100 Subject: [Haskell] =?windows-1252?q?The_future_of_array-oriented_computing?= =?windows-1252?q?_in_Haskell_=97_a_survey?= Message-ID: <3EEDBBA1-FE8F-4083-9474-3ECAF1352201@cse.unsw.edu.au> In the Programming Languages & Systems (PLS) group @ UNSW, we have spent a lot of energy on developing methods for high-performance array programming in a purely functional style. We are curious how our work is being used and what else the community would like to be able to achieve with libraries, such as Repa and Accelerate. Please help us by completing this survey: https://docs.google.com/forms/d/1qXPUR19kjKghrdxvE7P767HNy9-Lj81VSDS-l5MfN8M/viewform We will post the survey results. Thanks! Manuel From J.Hage at uu.nl Mon Dec 9 13:02:28 2013 From: J.Hage at uu.nl (Jurriaan Hage) Date: Mon, 9 Dec 2013 14:02:28 +0100 Subject: [Haskell] Call for Participation PEPM 2014 (co-located with POPL 2014) References: Message-ID: <47FD7FDD-CAD3-41D7-9602-E1A70F768621@uu.nl> Dear all, Note the presence of Haskell papers in the program. Hope to see many of you there. best, Jur (co-chair of PEPM 2014) =========== PEPM 2014 =============== ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation http://www.program-transformation.org/PEPM14 January 20-21, 2014 San Diego, CA, USA (Affiliated with POPL 2014) CALL FOR PARTICIPATION IMPORTANT DATES * Hotel reservation deadline: December 21, 2013 * Early registration deadline: December 31, 2013 VENUE PEPM'14 and all POPL'14 affiliated events will take place at the US Grant in San Diego, CA, USA. SCOPE The PEPM Symposium/Workshop series aims at bringing together researchers and practitioners working in the areas of program manipulation, partial evaluation, and program generation. PEPM focuses on techniques, theory, tools, and applications of analysis and manipulation of programs. INVITED TALKS: * Manuel Fahndrich (Microsoft Research, USA) on Lessons from a Web-Based IDE and Runtime * Sven-Bodo Scholz (Heriott-Watt University, Scotland) on Partial Evaluation as Universal Compiler Tool (experiences from the SAC eco system) PROGRAM CHAIRS Wei Ngan Chin (National University of Singapore, Singapore) Jurriaan Hage (Utrecht University, Netherlands) PROGRAM COMMITTEE Evelyne Contejean (LRI, CNRS, Universit? Paris-Sud, France) Cristina David (University of Oxford, UK) Alain Frisch (LexiFi, France) Ronald Garcia (University of British Columbia, Canada) Zhenjiang Hu (National Institute of Informatics, Japan) Paul H J Kelly (Imperial College, UK) Oleg Kiselyov (Monterey, USA) Naoki Kobayashi (University of Tokyo, Japan) Jens Krinke (University College London, UK) Ryan Newton (University of Indiana, USA) Alberto Pardo (Universidad de la Rep?blica, Uruguay) Sungwoo Park (Pohang University of Science and Technology, South Korea) Tiark Rompf (Oracle Labs & EPFL, Switzerland) Sukyoung Ryu (KAIST, South Korea) Kostis Sagonas (Uppsala University, Sweden) Max Schaefer (Nanyang Technological University, Singapore) Harald S?ndergaard (The University of Melbourne, Australia) Eijiro Sumii (Tohoku University, Japan) Eric Van Wyk (University of Minnesota, USA) Jeremy Yallop (University of Cambridge, UK) PRELIMINARY PROGRAM DAY 1: Monday, January 20th, 2014 ================================== 09:00 - 10:00 Invited Talk =========================== Lessons from a Web-Based IDE and Runtime Manuel Fahndrich 10:30 - 12:00 Meta-Programming ------------------------------- Combinators for Impure yet Hygienic Code Generation Yukiyoshi Kameyama, Oleg Kiselyov, Chung-Chieh Shan Effective Quotation James Cheney, Sam Lindley, Gabriel Radanne, Philip Wadler Compile-time Reflection and Metaprogramming for Java Weiyu Miao, Jeremy Siek 14:00 - 15:25 Bidirectional Transformations -------------------------------------------- Monadic Combinators for "Putback" Style Bidirectional Programming Hugo Pacheco, Zhenjiang Hu and Sebastian Fischer Semantic Bidirectionalization Revisited Meng Wang and Shayan Najd Generating Attribute Grammar-based Bidirectional Transformations from Rewrite Rules Pedro Martins, Joao Paulo Fernandes, Joao Saraiva and Eric Van Wyk 16:00 - 17:00 Static Analysis and Optimization ----------------------------------------------- Optimizing SYB is Easy! Michael D. Adams, Andrew Farmer, Jose Pedro Magalhaes: QEMU/CPC: Static Analysis and CPS Conversion for Safe, Portable, and Efficient Coroutines Gabriel Kerneis, Charlie Shepherd, Stefan Hajnoczi ================================= DAY 2: Tuesday, January 21, 2014 ================================= 09:00 - 10:00 Invited Talk --------------------------- Partial Evaluation as Universal Compiler Tool (experiences from the SAC eco system) Sven-Bodo Scholz 10:30 - 12:00 Program Transformation -------------------------------------- The HERMIT in the Stream Andrew Farmer, Christian Hoener Zu Siederdissen, Andy Gill Type-Changing Rewriting and Semantics-Preserving Transformation Sean Leather, Johan Jeuring, Andres Loeh, Bram Schuur An Operational Semantics for Android Activities Etienne Payet, Fausto Spoto 14:00 - 15:30 Type Systems ---------------------------- Early Detection of Type Errors in C++ Templates Sheng Chen, Martin Erwig Lazy Stateless Incremental Evaluation Machinery for Attribute Grammars Jeroen Bransen, Atze Dijkstra, Doaitse Swierstra Deriving Interpretations of the Gradually-Typed Lambda Calculus. Alvaro Garcia-Perez, Pablo Nogueira, Ilya Sergey 16:00 - 17:20 Program Analysis/Testing ---------------------------------------- Automating Property-based Testing of Evolving Web Services Huiqing Li, Simon Thompson, Pablo Lamela Seijas, Miguel Angel Francisco A Modular and Generic Analysis Server System for Functional Logic Programs Michael Hanus, Fabian Skrlac HIPimm: Verifying Granular Immutability Guarantees Andreea Costea, Asankhaya Sharma, Cristina David -------------- next part -------------- An HTML attachment was scrubbed... URL: From E.Visser at tudelft.nl Mon Dec 9 14:38:08 2013 From: E.Visser at tudelft.nl (Eelco Visser) Date: Mon, 9 Dec 2013 15:38:08 +0100 Subject: [Haskell] CFP: The Future of Programming & Inaugural Speech Eelco Visser | TU Delft | 16, 17 Jan 2014 Message-ID: --------------------------------------------------------- Invitation to attend the symposium on The Future of Programming followed by the inaugural speech of Eelco Visser TU Delft, 16 and 17 January 2014 --------------------------------------------------------- Register now at http://eelcovisser.org/wiki/future-of-programming Registration includes lunch and is free, but seating is limited --------------------------------------------------------- ## Symposium Software systems are the engines of modern information society. Our ability to cope with the increasing complexity of software systems is limited by the programming languages we use to build them. Bridging the gap between domain concepts and the implementation of these concepts in a programming language is one of the core challenges of software engineering. Modern programming languages have considerably reduced this gap, but often still require low-level programmatic encodings of domain concepts. On Thursday January 16 and Friday January 17, 2014, TU Delft hosts a symposium on the future of programming, which will provide an overview of the challenges in software development and programming languages and visions to their solution from different angles by a line-up of distinguished national and international speakers from academia and industry. The symposium is followed by the inaugural speech of Eelco Visser on the occasion of his appointment as Antoni van Leeuwenhoek Professor at TU Delft. ## Speakers The following distinguished speakers have confirmed their participation: * Arie van Deursen (TU Delft): On software changes, large and small. Versioning in the Maven ecosystem * Brandon Hill (Oracle Labs): DSL engineering in industry (Spoofax at Oracle Labs) * Erik Meijer (TU Delft/Applied Duality): Reactive programming * Guido Wachsmuth (TU Delft): Meta-languages for language design (name binding, type systems, semantics) * Harry Buhrman (UvA/CWI): Programming quantum computers * John Hughes (Chalmers): The future of testing * Manuel Serrano (INRIA): From PCs to tablets: Programming the diffuse Web * Markus P?schel (ETH): Teaching computers to write fast libraries * Markus V?lter (Itemis): mbeddr: Extensible languages for embedded software engineering * Sebastian Erdweg (TU Darmstadt): Library-based language extensions in SugarJ * Stefan Hanenberg (U. Duisburg): Empirical evaluation of programming language constructs * Tiark Rompf (EPFL): Lightweight modular staging ## Inaugural Speech Eelco Visser The symposium is followed by Eelco Visser's inaugural speech "Programming Languages shape Computational Thinking" on January 17, 2014 at 15:00 in the TU Delft Aula. ## Registration More information and registration at http://eelcovisser.org/wiki/future-of-programming -- Eelco Visser Professor of Computer Science at Delft University of Technology Email: e.visser at tudelft.nl Web: http://eelcovisser.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From mflatt at cs.utah.edu Tue Dec 10 22:56:13 2013 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Tue, 10 Dec 2013 15:56:13 -0700 Subject: [Haskell] PADL 2014: Call for Participation Message-ID: <20131210225614.9DA6E650119@mail-svr1.cs.utah.edu> CALL FOR PARTICIPATION Sixteenth Symposium on Practical Aspects of Declarative Languages 2014 (PADL'14) http://www.ist.unomaha.edu/padl2014/ San Diego, CA, USA January 20-21, 2014 Co-located with ACM POPL'14 You are cordially invited to the Fifteenth International Symposium on Practical Aspects of Declarative Languages that will be held on January 20-21, 2014 (right before POPL). The conference will present accepted papers spanning a range of topics related to logic and functional programming, including language support for parallelism and GPUs, constructs and techniques for modularity and extensibility, and applications of declarative programming to document processing and DNA simulation. The conference program also includes invited talks by Molham Aref of LogicBlox and David Walker of Princeton, and a tutorial on minKanren by Daniel P. Friedman of Indiana University and William E. Byrd of the University of Utah. Please note that the deadline for early registration is fast approaching (Dec 31). You can register by visiting https://regmaster3.com/2014conf/POPL14/register.php PADL 2014 Program ------------------------------------------------------------------------ Invited Speaker I (9:00-10:00) Molham Aref: "Declarative Programming for the Cloud" break Languages (10:30-12:00) Kc Sivaramakrishnan, Lukasz Ziarek and Suresh Jagannathan: "Rx-CML: A Prescription for Safely Relaxing Synchrony" Thomas Winant, Dominique Devriese, Frank Piessens and Tom Schrijvers: "Partial Type Signatures for Haskell" Tomas Petricek and Don Syme: "The F# Computation Expressions Zoo" Lunch >From Models to Implementations (13:30-15:00) Yuliya Lierler and Mirek Truszczynski: "Abstract Modular Inference Systems and Solvers" Andy Gill and Jan Bracker: "Sunroof: A Monadic DSL for Generating JavaScript" Matthew R. Lakin and Andrew Phillips: "Compiling DNA strand displacement reactions using a functional programming language" break Applications (15:30-17:00) Tran Cao Son, Enrico Pontelli and Tiep Le: "Two Applications of the ASP-Prolog System: Decomposable Programs and Multi-context Systems" Ari Saptawijaya and Lu?s Moniz Pereira: "Towards Modeling Morality Computationally with Logic Programming" Paul Tarau: "A Declarative Specification of Giant Number Arithmetic" ------------------------------------------------------------------------ Invited Speaker II (9:00-10:00) David Walker: "The Frenetic Project: Declarative Languages for Programming Networks" break Parallelism (10:30-12:00) Robert Clifton-Everest, Trevor L. Mcdonell, Manuel Chakravarty and Gabriele Keller: "Embedding Foreign Code" Federico Campeotto, Alessandro Dal Pal?, Agostino Dovier, Ferdinando Fioretto and Enrico Pontelli: "Exploring the Use of GPUs in Constraint Solving" Miguel Areias and Ricardo Rocha: "On the Correctness and Efficiency of Lock-Free Expandable Tries for Tabled Logic Programs" Lunch Modularity and Extensibility (13:30-15:00) Martin Elsman and Anders Schack-Nielsen: "Typelets - A Rule-Based Evaluation Model for Dynamic, Statically Typed User Interfaces" Jacco O. G. Krijnen, Doaitse Swierstra and Marcos O. Viera: "Expand: Towards an extendible Pandoc system" Jos? Pedro Magalh?es and Andres L?h: "Generic Generic Programming" break Invited Tutorial (15:30-17:00) Daniel P. Friedman and William E. Byrd: "miniKanren Tutorial" ------------------------------------------------------------------------ From dstcruz at gmail.com Thu Dec 12 03:47:47 2013 From: dstcruz at gmail.com (Daniel Santa Cruz) Date: Wed, 11 Dec 2013 22:47:47 -0500 Subject: [Haskell] Haskell Weekly News: Issue 287 Message-ID: Welcome to (the "I'm not dead yet") issue 287 of the HWN, an issue covering crowd-sourced bits of information about Haskell from around the web. This issue covers the very long span of time from November 10 to December 07, 2013. Quotes of the Week * chrisdone: monads are like a finger pointing away to the moon. *smack* don't look at the finger or you will miss all that heavenly glory * quchen: A group with an associative law is called a group. * chrisdone: i swim in a sea of parens and it warms me like rays of the sun * zomg: my client tells me weekly how I've saved his company. Then I goto haskell and I'm like "I have no idea what I'm doing lul" * pigworker: The usual style is to write as if everything is inductive, and if it still works on infinite data, to pat ourselves on the back for using Haskell rather than ML. Top Reddit Stories * Honorary Doctorate for Simon Peyton Jones - On December 3 2013 Simon Peyton Jones was honoured by the University of Glasgow with the honorary degree of Doctor of Science. Domain: dcs.gla.ac.uk, Score: 166, Comments: 18 On Reddit: [1] http://goo.gl/XLezZO Original: [2] http://goo.gl/WqC2EN * Hell: A Haskell shell Domain: github.com, Score: 114, Comments: 53 On Reddit: [3] http://goo.gl/6ogD6n Original: [4] http://goo.gl/YCzNT3 * L?b and m?b: strange loops in Haskell Domain: github.com, Score: 95, Comments: 35 On Reddit: [5] http://goo.gl/8bF5Op Original: [6] http://goo.gl/GqzuP0 * Explanation of the new Haskell records extension Domain: well-typed.com, Score: 88, Comments: 70 On Reddit: [7] http://goo.gl/419sYv Original: [8] http://goo.gl/g24kLB * FP Complete IDE now free for community use. Give it a try! Domain: fpcomplete.com, Score: 86, Comments: 65 On Reddit: [9] http://goo.gl/OJh2Oz Original: [10] http://goo.gl/2FYHa * The Haskell Cast #4 - Simon Marlow on Parallelism and Concurrency Domain: haskellcast.com, Score: 82, Comments: 13 On Reddit: [11] http://goo.gl/kzNEz3 Original: [12] http://goo.gl/yrUDXL * 24 Days of Hackage: scotty Domain: ocharles.org.uk, Score: 74, Comments: 16 On Reddit: [13] http://goo.gl/CoUanr Original: [14] http://goo.gl/a83HZg * Idris 0.9.10 released Domain: idris-lang.org, Score: 73, Comments: 21 On Reddit: [15] http://goo.gl/0OnlPV Original: [16] http://goo.gl/MKtbxu * 24 Days of Hackage: threepenny-gui Domain: ocharles.org.uk, Score: 68, Comments: 4 On Reddit: [17] http://goo.gl/vSTpc0 Original: [18] http://goo.gl/Hmjqzq * 24 Days of Hackage: linear Domain: ocharles.org.uk, Score: 66, Comments: 43 On Reddit: [19] http://goo.gl/dcFHGg Original: [20] http://goo.gl/R9c0bh * 24 Days of Hackage: tasty Domain: ocharles.org.uk, Score: 65, Comments: 4 On Reddit: [21] http://goo.gl/xIwvgk Original: [22] http://goo.gl/aUJGLJ * 24 Days of Hackage: 2013 in Review Domain: ocharles.org.uk, Score: 64, Comments: 11 On Reddit: [23] http://goo.gl/ideT63 Original: [24] http://goo.gl/DQYDar * Hacking Haskell in nightclubs (x-post from /r/programming) Domain: vice.com, Score: 60, Comments: 30 On Reddit: [25] http://goo.gl/ezuhIJ Original: [26] http://goo.gl/bD3vnN * 24 Days of Hackage: extensible-effects Domain: ocharles.org.uk, Score: 60, Comments: 25 On Reddit: [27] http://goo.gl/5T2brL Original: [28] http://goo.gl/q2hVM0 * From Object Oriented Programming to Functional Programming - Inheritance and the Expression Problem Domain: github.com, Score: 58, Comments: 62 On Reddit: [29] http://goo.gl/fFldOR Original: [30] http://goo.gl/n5nHYo * I've been working on a small roguelike in Haskell Domain: github.com, Score: 56, Comments: 26 On Reddit: [31] http://goo.gl/mojdIu Original: [32] http://goo.gl/fT9DLB * Chordify: Get the chords to any song, using Haskell ! Domain: chordify.net, Score: 55, Comments: 19 On Reddit: [33] http://goo.gl/YfcHEu Original: [34] http://goo.gl/19apd * Merging, Folding, Monoids, and Foldable Domain: mtnviewmark.wordpress.com, Score: 53, Comments: 5 On Reddit: [35] http://goo.gl/GtoDKp Original: [36] http://goo.gl/QJsd7L * 24 Days of Hackage: persistent & esqueleto Domain: ocharles.org.uk, Score: 49, Comments: 14 On Reddit: [37] http://goo.gl/97eeUF Original: [38] http://goo.gl/TL8P7V * Haskell From Scratch - Series about making a non-trivial app from the ground up. Domain: youtube.com, Score: 46, Comments: 2 On Reddit: [39] http://goo.gl/sPV7rs Original: [40] http://goo.gl/KslDE4 Top StackOverflow Questions * What does (f .) . g mean in Haskell? votes: 17, answers: 2 Read on SO: [41] http://goo.gl/2i3GNc * LaTeX natural deduction proofs using Haskell votes: 13, answers: 0 Read on SO: [42] http://goo.gl/uH1K2u * Lazily Tying the Knot for 1 Dimensional Dynamic Programming votes: 13, answers: 4 Read on SO: [43] http://goo.gl/1kZQkK * What does Clojure borrow from Haskell? [on hold] votes: 12, answers: 0 Read on SO: [44] http://goo.gl/DsqKhp * Meaning of `<-` in do block in Haskell votes: 10, answers: 4 Read on SO: [45] http://goo.gl/JOJiFy * Why is function composition in Haskell right associative? votes: 10, answers: 1 Read on SO: [46] http://goo.gl/mURUDZ * Is there a library or typeclass for getting the transformer version of a monad? votes: 9, answers: 1 Read on SO: [47] http://goo.gl/k81E1h * How to implement B+ tree in Haskell? votes: 9, answers: 2 Read on SO: [48] http://goo.gl/lkwh8Z * Delimiting the IO monad votes: 9, answers: 2 Read on SO: [49] http://goo.gl/x3RlXO Until next time, [50]+Daniel Santa Cruz References 1. http://www.dcs.gla.ac.uk/~muffy/SPJ_oration.pdf 2. http://www.reddit.com/r/haskell/comments/1sbfmb/honorary_doctorate_for_simon_peyton_jones_on/ 3. https://github.com/chrisdone/hell 4. http://www.reddit.com/r/haskell/comments/1r755t/hell_a_haskell_shell/ 5. https://github.com/quchen/articles/blob/master/loeb-moeb.md 6. http://www.reddit.com/r/haskell/comments/1qwjk6/l%C3%B6b_and_m%C3%B6b_strange_loops_in_haskell/ 7. http://www.well-typed.com/blog/84 8. http://www.reddit.com/r/haskell/comments/1rpte3/explanation_of_the_new_haskell_records_extension/ 9. https://www.fpcomplete.com/ 10. http://www.reddit.com/r/haskell/comments/1qzioh/fp_complete_ide_now_free_for_community_use_give/ 11. http://www.haskellcast.com/episode/004-simon-marlow-on-parallelism-and-concurrency 12. http://www.reddit.com/r/haskell/comments/1rexqq/the_haskell_cast_4_simon_marlow_on_parallelism/ 13. http://ocharles.org.uk/blog/posts/2013-12-05-24-days-of-hackage-scotty.html 14. http://www.reddit.com/r/haskell/comments/1s65bl/24_days_of_hackage_scotty/ 15. http://www.idris-lang.org/idris-0-9-10-released/ 16. http://www.reddit.com/r/haskell/comments/1rn4d6/idris_0910_released/ 17. http://ocharles.org.uk/blog/posts/2013-12-07-24-days-of-hackage-threepenny-gui.html 18. http://www.reddit.com/r/haskell/comments/1sc67q/24_days_of_hackage_threepennygui/ 19. http://ocharles.org.uk/blog/posts/2013-12-02-24-days-of-hackage-linear.html 20. http://www.reddit.com/r/haskell/comments/1rximk/24_days_of_hackage_linear/ 21. http://ocharles.org.uk/blog/posts/2013-12-03-24-days-of-hackage-tasty.html 22. http://www.reddit.com/r/haskell/comments/1s0t1f/24_days_of_hackage_tasty/ 23. http://ocharles.org.uk/blog/posts/2013-12-01-24-days-of-hackage-intro.html 24. http://www.reddit.com/r/haskell/comments/1rv45n/24_days_of_hackage_2013_in_review/ 25. http://www.vice.com/read/algorave-is-the-future-of-dance-music-if-youre-an-html-coder 26. http://www.reddit.com/r/haskell/comments/1riror/hacking_haskell_in_nightclubs_xpost_from/ 27. http://ocharles.org.uk/blog/posts/2013-12-04-24-days-of-hackage-extensible-effects.html 28. http://www.reddit.com/r/haskell/comments/1s3oba/24_days_of_hackage_extensibleeffects/ 29. https://github.com/Dobiasd/articles/blob/master/from_oop_to_fp_-_inheritance_and_the_expression_problem.md 30. http://www.reddit.com/r/haskell/comments/1quhrl/from_object_oriented_programming_to_functional/ 31. https://github.com/dvolk/hoodie 32. http://www.reddit.com/r/haskell/comments/1r248j/ive_been_working_on_a_small_roguelike_in_haskell/ 33. http://chordify.net/ 34. http://www.reddit.com/r/haskell/comments/1r7sh1/chordify_get_the_chords_to_any_song_using_haskell/ 35. https://mtnviewmark.wordpress.com/2013/12/02/mfmf/ 36. http://www.reddit.com/r/haskell/comments/1rz8cn/merging_folding_monoids_and_foldable/ 37. http://ocharles.org.uk/blog/posts/2013-12-06-24-days-of-hackage-persistent-esqueleto.html 38. http://www.reddit.com/r/haskell/comments/1s9fyb/24_days_of_hackage_persistent_esqueleto/ 39. https://www.youtube.com/playlist?list=PLxj9UAX4Em-Ij4TKwKvo-SLp-Zbv-hB4B 40. http://www.reddit.com/r/haskell/comments/1s48bm/haskell_from_scratch_series_about_making_a/ 41. http://stackoverflow.com/questions/20279306/what-does-f-g-mean-in-haskell 42. http://stackoverflow.com/questions/19919431/latex-natural-deduction-proofs-using-haskell 43. http://stackoverflow.com/questions/20159269/lazily-tying-the-knot-for-1-dimensional-dynamic-programming 44. http://stackoverflow.com/questions/20411148/what-does-clojure-borrow-from-haskell 45. http://stackoverflow.com/questions/19961941/meaning-of-in-do-block-in-haskell 46. http://stackoverflow.com/questions/20342860/why-is-function-composition-in-haskell-right-associative 47. http://stackoverflow.com/questions/20066858/is-there-a-library-or-typeclass-for-getting-the-transformer-version-of-a-monad 48. http://stackoverflow.com/questions/20309501/how-to-implement-b-tree-in-haskell 49. http://stackoverflow.com/questions/20318936/delimiting-the-io-monad 50. https://plus.google.com/105107667630152149014/about -------------- next part -------------- An HTML attachment was scrubbed... URL: From sescobar at dsic.upv.es Thu Dec 12 11:52:04 2013 From: sescobar at dsic.upv.es (Santiago Escobar) Date: Thu, 12 Dec 2013 12:52:04 +0100 Subject: [Haskell] Final Call for Papers WRLA 2014 References: <655AD52B-736C-4A72-8191-31F2C51B12BC@dsic.upv.es> Message-ID: <799BBE9C-8932-4F9B-ABF4-50EDEE46B939@dsic.upv.es> 10th International Workshop on Rewriting Logic and its Applications WRLA 2014 Grenoble, France, April 5th and 6th, 2014 http://www.dsic.upv.es/workshops/wrla2014/ The workshop will be held in conjunction with ETAPS 2014 17th European Joint Conferences on Theory and Practice of Software April 5-13, 2014 http://www.etaps.org/2014 IMPORTANT DATES Submission deadline December 30th 2013 Author notification February 2nd 2014 Version informal proceedings February 14th 2014 AIMS AND SCOPE Rewriting logic (RL) is a natural model of computation and an expressive semantic framework for concurrency, parallelism, communication, and interaction. It can be used for specifying a wide range of systems and languages in various application fields. It also has good properties as a metalogical framework for representing logics. In recent years, several languages based on RL (ASF+SDF, CafeOBJ, ELAN, Maude) have been designed and implemented. The aim of the workshop is to bring together researchers with a common interest in RL and its applications, and to give them the opportunity to present their recent works, discuss future research directions, and exchange ideas. The topics of the workshop comprise, but are not limited to, - foundations and models of RL; - languages based on RL, including implementation issues; - RL as a logical framework; - RL as a semantic framework, including applications of RL to - object-oriented systems, - concurrent and/or parallel systems, - interactive, distributed, open ended and mobile systems, - specification of languages and systems; - use of RL to provide rigorous support for model-based software engineering; - formalisms related to RL, including - real-time and probabilistic extensions of RL, - rewriting approaches to behavioral specifications, - tile logic; - verification techniques for RL specifications, including - equational and coherence methods, - verification of properties expressed in first-order, higher-order, modal and temporal logics, - narrowing-based analysis and verification; - comparisons of RL with existing formalisms having analogous aims; - application of RL to specification and analysis of - distributed systems, - physical systems. SUBMISSIONS The final program of the workshop will include regular papers, tool papers, and work-in-progress presentations. The program will also contain invited talks to be determined by the program committee. Papers must contain original contributions, be clearly written, include appropriate references, and comparison with related work. They must be unpublished and not submitted simultaneously for publication elsewhere. Tool papers present a new tool, a new tool component, or novel extensions to an existing tool. They should provide a short description of the theoretical foundations with relevant citations, emphasize the design and implementation, and give a clear account of the tool's functionality. The described tools must be publicly available via the web. All submissions should be formatted according to the guidelines for Springer LNCS papers, and should be submitted electronically using EasyChair. Regular papers and work-in-progress should not exceed 15 pages including references. Tool papers can have a maximum of 6 pages including references and may have an appendix of up to 4 additional pages with usage details and tool demonstration. PROCEEDINGS All submissions will be evaluated by the Program Committee. Regular papers, tool papers, and work-in-progress that are accepted will be presented at the workshop and included in the proceedings, which will be available during the workshop. Regular papers, tool papers, and invited presentations will also be published in a volume in Springer's Lecture Notes in Computer Science (LNCS) series to be distributed after the workshop. Depending on the number and the quality of the contributions, we will consider the preparation of a special issue in some scientific journal in the field with extended versions of a selection of the papers of the workshop. PROGRAM COMMITTEE Mark van den Brand, Eindhoven University of Technology, The Netherlands Roberto Bruni, University of Pisa, Italy Manuel Clavel, IMDEA Software & Universidad Complutense de Madrid, Spain Francisco Dur?n, Universidad de M?laga, Spain Santiago Escobar (chair), Universidad Polit?cnica de Valencia, Spain Kokichi Futatsugi, JAIST, Japan Alexander Knapp, Universitat Augsburg, Germany Alberto Lluch-Lafuente, IMT Institute for Advanced Studies Lucca, Italy Dorel Lucanu, Alexandru Ioan Cuza University, Rumania Narciso Mart?-Oliet, Universidad Complutense de Madrid, Spain Jos? Meseguer, University of Illinois at Urbana-Champaign, USA Ugo Montanari, University of Pisa, Italy Pierre-Etienne Moreau, Ecole des Mines de Nancy & INRIA Nancy, France Kazuhiro Ogata, JAIST, Japan Peter ?lveczky, University of Oslo, Norway Miguel Palomino, Universidad Complutense de Madrid, Spain Grigore Rosu, University of Illinois at Urbana-Champaign, USA Vlad Rusu, INRIA Lille Nord-Europe, France Mark-Oliver Stehr, SRI International, USA Carolyn Talcott, SRI International, USA Martin Wirsing, Ludwig Maximilians Universit?t M?nchen, Germany CONTACT INFORMATION For more information, please contact the organizers sescobar at dsic.upv.es or visit the workshop web page http://www.dsic.upv.es/workshops/wrla2014/ From c.grelck at uva.nl Fri Dec 13 08:13:33 2013 From: c.grelck at uva.nl (Clemens Grelck) Date: Fri, 13 Dec 2013 09:13:33 +0100 Subject: [Haskell] 2nd Call for participation: Dutch Functional Programming Day 2014 Message-ID: <52AAC1AD.9090807@uva.nl> Dear all, The next Netherlands Functional Programming day (NL-FP 2014) will take place on Friday, January 10, 2014 at the University of Amsterdam at Amsterdam Science Park. You are all cordially invited to participate, and we still have a few open slots for presentations. The day will largely follow the pattern of the previous NL-FP days with a moderately timed start, a day of enjoyable talks in between lunch and coffee breaks and ending with a joint dinner in a nearby restaurant. All further details can be found on the NL-FP 2014 site(s): http://staff.science.uva.nl/~grelck/nl-fp-day-2014.html http://staff.science.uva.nl/~grelck/nl-fp-dag-2014.html Hope to see you all in Amsterdam in January! Best regards, Clemens Grelck -- ---------------------------------------------------------------------- Dr Clemens Grelck Science Park 904 University Lecturer 1098XH Amsterdam Netherlands University of Amsterdam Institute for Informatics T +31 (0) 20 525 8683 Computer Systems Architecture Group F +31 (0) 20 525 7490 Office C3.105 www.science.uva.nl/~grelck ---------------------------------------------------------------------- From simon at joyful.com Sat Dec 14 03:47:44 2013 From: simon at joyful.com (Simon Michael) Date: Fri, 13 Dec 2013 19:47:44 -0800 Subject: [Haskell] ANN: hledger 0.22 Message-ID: <1386992864.13445.59458157.12E3C40E@webmail.messagingengine.com> Hi all. I have released hledger and hledger-web 0.22. hledger is a command-line tool and haskell library for tracking financial transactions, which are stored in a human-readable plain text format. In addition to reporting, it can also help you record new transactions, or convert CSV data from your bank. Add-on packages include hledger-web (providing a web interface), hledger-irr and hledger-interest. hledger is inspired by and compatible with John Wiegley's Ledger. For more, see http://hledger.org . Install it: cabal update; cabal install hledger [hledger-web] For more installation help, see http://hledger.org/MANUAL.html#installing . Or, sponsor a ready-to-run binary for your platform: http://hledger.org/DOWNLOAD.html . Release notes (http://hledger.org/NEWS.html#hledger-0.22): **New:** - balance: with a reporting interval (monthly, yearly etc.), the [balance command](MANUAL.html#balance) will now show a multi-column report, showing either the per-period changes in balance (by default), the period ending balances starting from zero (`--cumulative`), or the actual period ending balances (`--historical`). A more detailed specification of the balance command's behaviour has been added to Hledger.Cli.Balance. - csv: rules files can now include other rules files, useful for factoring out common rules - queries: `sym:REGEXP` matches commodity symbols - register: `--average/-A` shows a running average, like ledger - in period expressions, `-` (hyphen) can be used as a more compact synonym for `from` and `to`. Eg: `-p 2012/12/1-2013/2/1` or `date:aug-`. - the add-on script examples in extra/ have been updated; get the hledger source and add .../hledger/extra/ to your PATH to make them available. They include: hledger-accountnames.hs - print account names hledger-balance-csv.hs - print a balance report as CSV hledger-equity.hs - print an entry matching all account balances hledger-print-unique.hs - print only journal entries unique descriptions hledger-register-csv.hs - print a register report as CSV **Improved:** - balancesheet: now shows just assets and liabilities, not equity - print: comment positions (same line or next line) are now preserved - queries: `amt` now uses the = operator by default, eg `amt:50` is equivalent to `amt:=50` - command line processing has been overhauled and made more consistent, and now has tests and debug output. More flags now work both before and after COMMAND: `-f`, `--rule-file`, `--alias`, `--help`, `--debug`, `--version`. Command line help, command aliases, API docs and code have been improved. - `--debug` now takes an optional numeric argument to set the debug level higher than 1, for more verbose debug output in a few cases. **Fixed:** - csv: CSV data containing non-ascii characters is now supported - build with latest versions of dependencies (text, warp, http-conduit etc.) **Release contributors:** Marko Koci?, Max Bolingbroke, and a big welcome to first-time committer John Wiegley! :) There's a rumour that a 1.0 release could be next, depending on how this one fares. All feedback welcome. Best! - Simon From torsten.grust at uni-tuebingen.de Sat Dec 14 11:53:38 2013 From: torsten.grust at uni-tuebingen.de (Torsten Grust) Date: Sat, 14 Dec 2013 12:53:38 +0100 Subject: [Haskell] =?utf-8?q?Full_Professorship_=28U_T=C3=BCbingen=2C_Germ?= =?utf-8?q?any=29?= Message-ID: <183E43C1-7ABF-43B2-B486-5C69379817DA@uni-tuebingen.de> Dear colleagues, you may be interested in the following position of a Full Professor (tenure) at the University of T?bingen, Germany. Closing date: Jan 5, 2014. (Announcement, in German, below.) ----------------------------------------------------------------------- An der Mathematisch-Naturwissenschaftlichen Fakult?t der Eberhard Karls Universit?t T?bingen ist im Fachbereich Informatik eine W3-Professur f?r Praktische Informatik zum 1. Oktober 2014 zu besetzen. Der/Die k?nftige Stelleninhaber/in sollte in Forschung und Lehre prim?r das Fach "Praktische Informatik" vertreten und sich im vollen Umfang an der Grundausbildung in Praktischer Informatik beteiligen. Der Forschungsschwerpunkt soll in dem Bereich Software Engineering, insbesondere moderne Programmierkonzepte (Deklarativit?t, Verteilung, Nebenl?ufigkeit und Parallelit?t) und deren Anwendungen, liegen. Einstellungsvoraussetzung ist die Habilitation oder eine gleichwertige Qualifikation sowie nachgewiesene didaktische Eignung. Die Universit?t strebt eine Erh?hung des Frauenanteils in Forschung und Lehre an und bittet deshalb entsprechend qualifizierte Wissenschaftlerinnen nachdr?cklich um Ihre Bewerbung. Schwerbehinderte werden bei gleicher Eignung bevorzugt ber?cksichtigt. Bewerbungen mit den ?blichen Unterlagen und einem Forschungs- und Lehrkonzept sowie dem ausgef?llten Formular "Bewerbungsbogen" (unter http://www.mnf.uni-tuebingen.de/fakultaet/service.html) werden bis zum 5. Januar 2014 in elektronischer Form erbeten an den Dekan der Mathematisch-Naturwissenschaftlichen Fakult?t der Universit?t T?bingen (dekanat at mnf.uni-tuebingen.de). -- | Prof. Dr. Torsten Grust | Database Systems ? Universit?t T?bingen (Germany) | torsten.grust at uni-tuebingen.de | db.inf.uni-tuebingen.de From simon at joyful.com Sun Dec 15 03:50:30 2013 From: simon at joyful.com (Simon Michael) Date: Sat, 14 Dec 2013 19:50:30 -0800 Subject: [Haskell] ANN: hledger 0.22 In-Reply-To: References: <1386992864.13445.59458157.12E3C40E@webmail.messagingengine.com> Message-ID: <1387079430.31318.59728549.7EBD75D0@webmail.messagingengine.com> It works for me in a fresh cabal-dev package db, which I think yours is not, right ? Installs into an already-populated package db are more troublesome than usual right now because of the recent major version bumps to text, wai, warp, http-conduit etc. On Sat, Dec 14, 2013, at 10:27 AM, Marko Koci? wrote: I have build problems again after pulling from git. ~/src/hledger$ cabal-dev install ./hledger ./hledger-lib/ ./hledger-web/ Resolving dependencies... cabal: Could not resolve dependencies: trying: hledger-0.22 (user goal) trying: utf8-string-0.3.7 (dependency of hledger-0.22) rejecting: utf8-string-0.3.7:+bytestring-in-base (conflict: base==4.6.0.1/installed-ced..., utf8-string-0.3.7:bytestring-in-base => base>=2.0 && <2.2) trying: utf8-string-0.3.7:-bytestring-in-base trying: bytestring-0.10.0.2/installed-0b6... (dependency of utf8-string-0.3.7:-bytestring-in-base) trying: text-1.0.0.0 (dependency of hledger-0.22) trying: shakespeare-text-1.0.0.10 (dependency of hledger-0.22) trying: shakespeare-1.2.0.3 (dependency of shakespeare-text-1.0.0.10) next goal: system-fileio (dependency of shakespeare-1.2.0.3) rejecting: system-fileio-0.3.11, 0.3.10 (conflict: text==1.0.0.0, system-fileio => text>=0.7.1 && <0.12) rejecting: system-fileio-0.3.9, 0.3.8, 0.3.7, 0.3.6, 0.3.5, 0.3.4, 0.3.3, 0.3.2.1, 0.3.2, 0.3.1, 0.3 (conflict: bytestring==0.10.0.2/installed-0b6..., system-fileio => bytestring>=0.9 && <0.10) rejecting: system-fileio-0.2.7, 0.2.6, 0.2.5, 0.2.4, 0.2.3, 0.2.2.1, 0.2.2, 0.2.1, 0.2, 0.1.1, 0.1 (conflict: shakespeare => system-fileio>=0.3) Backjump limit reached (change with --max-backjumps). marko at monet:~/src/hledger$ ghc --version The Glorious Glasgow Haskell Compilation System, version 7.6.3 -- -- You received this message because you are subscribed to the Google Groups hledger group. To post to this group, send email to hledger at googlegroups.com. To unsubscribe from this group, send email to hledger+unsubscribe at googlegroups.com. For more options, visit this group at [1]https://groups.google.com/d/forum/hledger?hl=en --- You received this message because you are subscribed to the Google Groups "hledger" group. To unsubscribe from this group and stop receiving emails from it, send an email to hledger+unsubscribe at googlegroups.com. For more options, visit [2]https://groups.google.com/groups/opt_out. References 1. https://groups.google.com/d/forum/hledger?hl=en 2. https://groups.google.com/groups/opt_out -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon at joyful.com Sun Dec 15 18:43:31 2013 From: simon at joyful.com (Simon Michael) Date: Sun, 15 Dec 2013 10:43:31 -0800 Subject: [Haskell] ANN: hledger 0.22 In-Reply-To: <11ab052e-26cb-4a7d-bb0d-971d8721f2a0@googlegroups.com> References: <1386992864.13445.59458157.12E3C40E@webmail.messagingengine.com> <1387079430.31318.59728549.7EBD75D0@webmail.messagingengine.com> <11ab052e-26cb-4a7d-bb0d-971d8721f2a0@googlegroups.com> Message-ID: <1387133011.31483.59885701.2AEBCD4C@webmail.messagingengine.com> That's odd. Here I have ubuntu raring, ghc 7.6.3, cabal-dev 0.9.2 using Cabal 1.16.0, cabal-install 1.18.0.2 using Cabal 1.18.1. Do you see the same problem with cabal sandbox init; cabal install ./hledger-lib ./hledger ./hledger-web ? On Sun, Dec 15, 2013, at 03:36 AM, Marko Koci? wrote: I also had fresh cabal-dev repo, and it didn't work. However, I was able to build when I added --max-backjumps=10000 to the build line. Regards, Marko On Sunday, December 15, 2013 4:50:30 AM UTC+1, Simon Michael (sm) wrote: It works for me in a fresh cabal-dev package db, which I think yours is not, right ? Installs into an already-populated package db are more troublesome than usual right now because of the recent major version bumps to text, wai, warp, http-conduit etc. On Sat, Dec 14, 2013, at 10:27 AM, Marko Koci? wrote: I have build problems again after pulling from git. ~/src/hledger$ cabal-dev install ./hledger ./hledger-lib/ ./hledger-web/ Resolving dependencies... cabal: Could not resolve dependencies: trying: hledger-0.22 (user goal) trying: utf8-string-0.3.7 (dependency of hledger-0.22) rejecting: utf8-string-0.3.7:+bytestring-in-base (conflict: base==[1]4.6.0.1/installed-ced..., utf8-string-0.3.7:bytestring-in-base => base>=2.0 && <2.2) trying: utf8-string-0.3.7:-bytestring-in-base trying: bytestring-0.10.0.2/installed-0b6... (dependency of utf8-string-0.3.7:-bytestring-in-base) trying: text-1.0.0.0 (dependency of hledger-0.22) trying: shakespeare-text-1.0.0.10 (dependency of hledger-0.22) trying: shakespeare-1.2.0.3 (dependency of shakespeare-text-1.0.0.10) next goal: system-fileio (dependency of shakespeare-1.2.0.3) rejecting: system-fileio-0.3.11, 0.3.10 (conflict: text==1.0.0.0, system-fileio => text>=0.7.1 && <0.12) rejecting: system-fileio-0.3.9, 0.3.8, 0.3.7, 0.3.6, 0.3.5, 0.3.4, 0.3.3, 0.3.2.1, 0.3.2, 0.3.1, 0.3 (conflict: bytestring==[2]0.10.0.2/installed-0b6..., system-fileio => bytestring>=0.9 && <0.10) rejecting: system-fileio-0.2.7, 0.2.6, 0.2.5, 0.2.4, 0.2.3, 0.2.2.1, 0.2.2, 0.2.1, 0.2, 0.1.1, 0.1 (conflict: shakespeare => system-fileio>=0.3) Backjump limit reached (change with --max-backjumps). marko at monet:~/src/hledger$ ghc --version The Glorious Glasgow Haskell Compilation System, version 7.6.3 -- -- You received this message because you are subscribed to the Google Groups hledger group. To post to this group, send email to hle... at googlegroups.com. To unsubscribe from this group, send email to hledger+u... at googlegroups.com. For more options, visit this group at [3]https://groups.google.com/d/forum/hledger?hl=en --- You received this message because you are subscribed to the Google Groups "hledger" group. To unsubscribe from this group and stop receiving emails from it, send an email to hledger+u... at googlegroups.com. For more options, visit [4]https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups hledger group. To post to this group, send email to hledger at googlegroups.com. To unsubscribe from this group, send email to hledger+unsubscribe at googlegroups.com. For more options, visit this group at [5]https://groups.google.com/d/forum/hledger?hl=en --- You received this message because you are subscribed to the Google Groups "hledger" group. To unsubscribe from this group and stop receiving emails from it, send an email to hledger+unsubscribe at googlegroups.com. For more options, visit [6]https://groups.google.com/groups/opt_out. References 1. http://4.6.0.1/installed-ced.. 2. http://0.10.0.2/installed-0b6.. 3. https://groups.google.com/d/forum/hledger?hl=en 4. https://groups.google.com/groups/opt_out 5. https://groups.google.com/d/forum/hledger?hl=en 6. https://groups.google.com/groups/opt_out -------------- next part -------------- An HTML attachment was scrubbed... URL: From Graham.Hutton at nottingham.ac.uk Mon Dec 16 09:36:35 2013 From: Graham.Hutton at nottingham.ac.uk (Graham Hutton) Date: Mon, 16 Dec 2013 09:36:35 +0000 Subject: [Haskell] 10 PhD studentships in Nottingham Message-ID: Dear all, The School of Computer Science in Nottingham is advertising 10 fully-funded PhD studentships. Applicants in the area of the Functional Programming lab (fp.cs.nott.ac.uk) are encouraged! If you are interested in applying, please contact a potential supervisor in the FP lab prior to submitting your application: Thorsten Altenkirch - constructive logic, proof assistants, type theory, category theory, lambda calculus, quantum computing. Venanzio Capretta - type theory, mathematical logic, corecursive structures, proof assistants, dependently-typed programming. Graham Hutton - program construction and verification, category theory, recursion operators, coinductive types. Henrik Nilsson - functional reactive programming, modelling and simulation languages, domain-specific languages. Best wishes, Graham +-----------------------------------------------------------+ 10 Fully-Funded PhD Studentships School of Computer Science University of Nottingham, UK Applications are invited for up to ten fully-funded PhD studentships in the School of Computer Science at the University of Nottingham, starting on 1st October 2014. The topics for the studentships are open, but should relate to the interests of one of the School?s research groups: Agents Lab; Automated Scheduling, Optimisation and Planning; Computer Vision Lab; Functional Programming Lab; Intelligent Modelling and Analysis; Mixed Reality Lab; Networked Systems. The studentships are for three years and include a stipend of ?13,726 per year and tuition fees, and are available to students of any nationality. Applicants are normally expected to have a first-class Undergraduate or Masters degree in Computer Science or a related discipline, and should discuss their interest and obtain the support of a potential supervisor in the School before applying. To apply, please submit the following items by email to : (1) a brief covering letter that describes your reasons for wishing to pursue a PhD, any ideas you have regarding possible areas or topics, and the name of a potential supervisor; (2) a copy of your CV, including your actual or expected degree class(es), and results of all University examinations; (3) an example of your technical writing, such as a project report or dissertation; (4) contact details for two academic referees. Closing date for applications: 10th January 2014 +-----------------------------------------------------------+ -- Prof Graham Hutton Functional Programming Lab School of Computer Science University of Nottingham, UK http://www.cs.nott.ac.uk/~gmh This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. From dd at dominicduggan.org Tue Dec 17 18:58:40 2013 From: dd at dominicduggan.org (Dominic Duggan) Date: Tue, 17 Dec 2013 13:58:40 -0500 Subject: [Haskell] Postdoctoral Researcher at Stevens Institute of Technology in domain-specific languages, security and privacy Message-ID: Stevens Institute of Technology Department of Computer Science has an open position for a Postdoctoral Researcher in the fields of domain-specific languages, security and privacy, and mobile technologies for health information systems in Low and Middle Income Countries (LMIC). The MEDDC project (Mobile eHealthcare Delivery for Developing Countries) is a NIH and NSF-funded project that is developing and deploying tools for data collection and healthcare management in LMIC. It is affiliated with Central Africa IEDEA (International Epidemiological Databases to Evaluate AIDS), one of several NIH-funded projects that are engaged in data collection and analysis as part of the fight against the HIV/AIDS pandemic. The project has developed tools for producing data collection systems from declarative specifications. Some of the work to be done will involve adapting ideas from statistical and functional programming languages, to pursue a domain-specific language approach to developing local capacity for data analysis. This work should eventually integrate with the HICDEP data standard that IEDEA has adopted for exchange of health data between IEDEA projects. This effort has a significant software development component. Although the IEDEA project employs full-time software developers to support data collection, this research work also includes software deliverables, as described. The development language is Java, but the applicant will preferably also have experience with, and enthusiasm for, functional programming languages such as Haskell and some of its domain-specific derivatives. Research opportunities include the adaptation of concepts from functional programming languages to build local capacity for medical and epidemiological analysis in LMIC, as well as the investigation of security and privacy issues in this domain. For further information, please contact Professor Dominic Duggan ( dduggan at stevens.edu, dd at dominicduggan.org). Applications for the position should be submitted via this Web site: https://www2.apply2jobs.com/Stevens/ProfExt/index.cfm?fuseaction=mExternal.showJob&RID=10446&CurrentPage=1 Applicants for the position should also forward a copy of their application to Prof. Duggan, at the emails above. Job requirements: - PhD (or equivalent degree) in topics related to domain-specific languages, security and privacy, and mobile technologies. - Excellent Java programming skills. - Preferably a strong functional programming background. - Commitment to doing high-quality research. - Oral and written proficiency in English. -- Dominic Duggan Associate Professor, Computer Science Stevens Institute of Technology Hoboken, NJ 07030. Telephone: (201) 216-8042 Email: dduggan at stevens.edu Web: http://www.dominicduggan.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From ezyang at mit.edu Wed Dec 18 03:35:18 2013 From: ezyang at mit.edu (Edward Z. Yang) Date: Wed, 18 Dec 2013 11:35:18 +0800 Subject: [Haskell] Monad.Reader #23 call for copy Message-ID: <1387337224-sup-6516@sabre> Call for Copy: The Monad.Reader - Issue 23 -------------------------------------------- Whether you're an established academic or have only just started learning Haskell, if you have something to say, please consider writing an article for The Monad.Reader! The submission deadline for Issue 23 will be: **Friday, January 17, 2014** The Monad.Reader ~~~~~~~~~~~~~~~~ The Monad.Reader is a electronic magazine about all things Haskell. It is less formal than journal, but somehow more enduring than a wiki- page. There have been a wide variety of articles: exciting code fragments, intriguing puzzles, book reviews, tutorials, and even half-baked research ideas. Submission Details ~~~~~~~~~~~~~~~~~~ Get in touch with me if you intend to submit something -- the sooner you let me know what you're up to, the better. Please submit articles for the next issue to me by e-mail (ezyang at mit.edu). Articles should be written according to the guidelines available from http://themonadreader.wordpress.com/contributing/ Please submit your article in PDF, together with any source files you used. The sources will be released together with the magazine under a BSD license. If you would like to submit an article, but have trouble with LaTeX please let me know and we'll work something out. From agocorona at gmail.com Wed Dec 18 10:40:21 2013 From: agocorona at gmail.com (Alberto G. Corona ) Date: Wed, 18 Dec 2013 11:40:21 +0100 Subject: [Haskell] Monad.Reader #23 call for copy In-Reply-To: <1387337224-sup-6516@sabre> References: <1387337224-sup-6516@sabre> Message-ID: Hi Edward: I will send to you an updated copy of article about MFlow that I sent to you for the past issue of TMR. If you remember, we agreed to postpone it due to the quantity of material. So I have priority now!. Thanks 2013/12/18 Edward Z. Yang > Call for Copy: The Monad.Reader - Issue 23 > -------------------------------------------- > > Whether you're an established academic or have only just started > learning Haskell, if you have something to say, please consider writing > an article for The Monad.Reader! The submission deadline for Issue 23 > will be: > > **Friday, January 17, 2014** > > The Monad.Reader > ~~~~~~~~~~~~~~~~ > > The Monad.Reader is a electronic magazine about all things Haskell. It > is less formal than journal, but somehow more enduring than a wiki- > page. There have been a wide variety of articles: exciting code > fragments, intriguing puzzles, book reviews, tutorials, and even > half-baked research ideas. > > Submission Details > ~~~~~~~~~~~~~~~~~~ > > Get in touch with me if you intend to submit something -- the sooner > you let me know what you're up to, the better. > > Please submit articles for the next issue to me by e-mail (ezyang at mit.edu > ). > > Articles should be written according to the guidelines available from > > http://themonadreader.wordpress.com/contributing/ > > Please submit your article in PDF, together with any source files you > used. The sources will be released together with the magazine under a > BSD license. > > If you would like to submit an article, but have trouble with LaTeX > please let me know and we'll work something out. > _______________________________________________ > Haskell mailing list > Haskell at haskell.org > http://www.haskell.org/mailman/listinfo/haskell > -- Alberto. -------------- next part -------------- An HTML attachment was scrubbed... URL: From dstcruz at gmail.com Fri Dec 20 04:02:05 2013 From: dstcruz at gmail.com (Daniel Santa Cruz) Date: Thu, 19 Dec 2013 23:02:05 -0500 Subject: [Haskell] Haskell Weekly News: Issue 288 Message-ID: Welcome to issue 288 of the HWN, an issue covering crowd-sourced bits of information about Haskell from around the web. This issue covers the week from December 08 to 14, 2013. Quotes of the Week * nlogax: With FRP.Sodium and Graphics.UI.GLUT you could put together a MonadSodium GLUTamate Top Reddit Stories * The reason why `cabal update` takes so long Domain: github.com, Score: 175, Comments: 89 On Reddit: [1] http://goo.gl/NCsf34 Original: [2] http://goo.gl/BLp5LB * structured-haskell-mode ?? Structured editing minor mode for Haskell in Emacs Domain: github.com, Score: 103, Comments: 37 On Reddit: [3] http://goo.gl/t8dyd9 Original: [4] http://goo.gl/v6W7js * Amazing LVars talk by Linsey Kuper Domain: youtu.be, Score: 86, Comments: 20 On Reddit: [5] http://goo.gl/JcbNQn Original: [6] http://goo.gl/JPyVnG * 24 Days of Hackage: acid-state Domain: ocharles.org.uk, Score: 84, Comments: 15 On Reddit: [7] http://goo.gl/CBU18T Original: [8] http://goo.gl/W4u7GG * 24 Days of Hackage: pandoc Domain: ocharles.org.uk, Score: 66, Comments: 14 On Reddit: [9] http://goo.gl/rUO2yc Original: [10] http://goo.gl/PhTTFC * text 1.0.0.0 Domain: hackage.haskell.org, Score: 64, Comments: 25 On Reddit: [11] http://goo.gl/9k7ksP Original: [12] http://goo.gl/ISESbc * 24 Days of Hackage: async Domain: ocharles.org.uk, Score: 59, Comments: 11 On Reddit: [13] http://goo.gl/rhrdgM Original: [14] http://goo.gl/C4sQeh * 24 Days of Hackage: sbv (guest post by Tikhon Jelvis) Domain: ocharles.org.uk, Score: 57, Comments: 21 On Reddit: [15] http://goo.gl/YkLqo9 Original: [16] http://goo.gl/frHdyn * 24 Days of Hackage: data-memocombinators Domain: ocharles.org.uk, Score: 56, Comments: 18 On Reddit: [17] http://goo.gl/0FgDo6 Original: [18] http://goo.gl/4GcFKd * Bryan O'Sullivan - Package dependency management: more debate is needed Domain: plus.google.com, Score: 51, Comments: 45 On Reddit: [19] http://goo.gl/Xr7NkU Original: [20] http://goo.gl/f1VPxt * 24 Days of Hackage: gloss Domain: ocharles.org.uk, Score: 49, Comments: 10 On Reddit: [21] http://goo.gl/yBAlXk Original: [22] http://goo.gl/mplvhP * The future of array-oriented computing in Haskell ? a survey Domain: justtesting.org, Score: 45, Comments: 11 On Reddit: [23] http://goo.gl/doVpgz Original: [24] http://goo.gl/ezkftd * Progress Reporting in Shake Domain: neilmitchell.blogspot.it, Score: 42, Comments: 3 On Reddit: [25] http://goo.gl/1hvu6c Original: [26] http://goo.gl/4izrhK * [ANN] SFML and SFML-control Domain: self.haskell, Score: 40, Comments: 20 On Reddit: [27] http://goo.gl/NhMJbR Original: [28] http://goo.gl/NhMJbR * 24 Days of Hackage: heist Domain: ocharles.org.uk, Score: 40, Comments: 28 On Reddit: [29] http://goo.gl/FtvnLs Original: [30] http://goo.gl/nEU9Hw Top StackOverflow Questions * How are J/K/APL classified in terms of common paradigms? votes: 10, answers: 1 Read on SO: [31] http://goo.gl/ImISrG * Is it possible to extend free monad interpreters? votes: 9, answers: 5 Read on SO: [32] http://goo.gl/CiJupH * How to detect a Monad? votes: 8, answers: 4 Read on SO: [33] http://goo.gl/WiUhba * Why do Haskell type signature declarations have multiple arrows? votes: 7, answers: 3 Read on SO: [34] http://goo.gl/0LWfMb * ?Inheriting? instance of wrapped type votes: 7, answers: 1 Read on SO: [35] http://goo.gl/qBhrqD * Equality function for pair components votes: 7, answers: 1 Read on SO: [36] http://goo.gl/mLk49N * Motivation of having Functional Dependencies votes: 7, answers: 1 Read on SO: [37] http://goo.gl/E31zjJ * Haskell - Lenses, use of 'to' function votes: 7, answers: 1 Read on SO: [38] http://goo.gl/5A028y * What does PINNED mean in -hc profile of Haskell program? votes: 6, answers: 1 Read on SO: [39] http://goo.gl/Qx9eJB Until next time, [40]+Daniel Santa Cruz References 1. https://github.com/nominolo/HTTP/commit/b9bd0a08fa09c6403f91422e3b23f08d339612eb 2. http://www.reddit.com/r/haskell/comments/1sh67u/the_reason_why_cabal_update_takes_so_long/ 3. https://github.com/chrisdone/structured-haskell-mode 4. http://www.reddit.com/r/haskell/comments/1sd3aj/structuredhaskellmode_structured_editing_minor/ 5. http://youtu.be/8dFO5Ir0xqY 6. http://www.reddit.com/r/haskell/comments/1skf3x/amazing_lvars_talk_by_linsey_kuper/ 7. http://ocharles.org.uk/blog/posts/2013-12-14-24-days-of-hackage-acid-state.html 8. http://www.reddit.com/r/haskell/comments/1svlm2/24_days_of_hackage_acidstate/ 9. http://ocharles.org.uk/blog/guest-posts/2013-12-12-24-days-of-hackage-pandoc.html 10. http://www.reddit.com/r/haskell/comments/1srcz6/24_days_of_hackage_pandoc/ 11. http://hackage.haskell.org/package/text-1.0.0.0 12. http://www.reddit.com/r/haskell/comments/1st4jl/text_1000/ 13. http://ocharles.org.uk/blog/posts/2013-12-13-24-days-of-hackage-async.html 14. http://www.reddit.com/r/haskell/comments/1stf7l/24_days_of_hackage_async/ 15. http://ocharles.org.uk/blog/guest-posts/2013-12-09-24-days-of-hackage-sbv.html 16. http://www.reddit.com/r/haskell/comments/1shnr7/24_days_of_hackage_sbv_guest_post_by_tikhon_jelvis/ 17. http://ocharles.org.uk/blog/posts/2013-12-08-24-days-of-hackage-data-memocombinators.html 18. http://www.reddit.com/r/haskell/comments/1settx/24_days_of_hackage_datamemocombinators/ 19. https://plus.google.com/103469090998089605155/posts/HdC6oCy8RWW 20. http://www.reddit.com/r/haskell/comments/1sdwot/bryan_osullivan_package_dependency_management/ 21. http://ocharles.org.uk/blog/posts/2013-12-10-24-days-of-hackage-gloss.html 22. http://www.reddit.com/r/haskell/comments/1sl0y5/24_days_of_hackage_gloss/ 23. http://justtesting.org/post/69439080517/the-future-of-array-oriented-computing-in-haskell-a 24. http://www.reddit.com/r/haskell/comments/1sfg7l/the_future_of_arrayoriented_computing_in_haskell/ 25. http://neilmitchell.blogspot.it/2013/12/progress-reporting-in-shake.html 26. http://www.reddit.com/r/haskell/comments/1sqsyi/progress_reporting_in_shake/ 27. http://www.reddit.com/r/haskell/comments/1sjemq/ann_sfml_and_sfmlcontrol/ 28. http://www.reddit.com/r/haskell/comments/1sjemq/ann_sfml_and_sfmlcontrol/ 29. http://ocharles.org.uk/blog/posts/2013-12-11-24-days-of-hackage-heist.html 30. http://www.reddit.com/r/haskell/comments/1sob71/24_days_of_hackage_heist/ 31. http://stackoverflow.com/questions/20558170/how-are-j-k-apl-classified-in-terms-of-common-paradigms 32. http://stackoverflow.com/questions/20564633/is-it-possible-to-extend-free-monad-interpreters 33. http://stackoverflow.com/questions/20495627/how-to-detect-a-monad 34. http://stackoverflow.com/questions/20459981/why-do-haskell-type-signature-declarations-have-multiple-arrows 35. http://stackoverflow.com/questions/20481718/inheriting-instance-of-wrapped-type 36. http://stackoverflow.com/questions/20515404/equality-function-for-pair-components 37. http://stackoverflow.com/questions/20526828/motivation-of-having-functional-dependencies 38. http://stackoverflow.com/questions/20528718/haskell-lenses-use-of-to-function 39. http://stackoverflow.com/questions/20478805/what-does-pinned-mean-in-hc-profile-of-haskell-program 40. https://plus.google.com/105107667630152149014/about -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerwin.klein at nicta.com.au Fri Dec 20 10:10:16 2013 From: gerwin.klein at nicta.com.au (Gerwin Klein) Date: Fri, 20 Dec 2013 21:10:16 +1100 Subject: [Haskell] Call for Papers: ITP 2014 Message-ID: <15872558-A564-4AAC-91F1-FE85E9EB65E7@nicta.com.au> Call for Papers ITP 2014 5th International Conference on Interactive Theorem Proving 14th-17th July 2014 in Vienna, Austria http://www.cs.uwyo.edu/~ruben/itp-2014 IMPORTANT DATES Abstract submission: 24th January 2014 Paper submission: 31st January 2014 Author notification: 21st March 2014 Camera-ready: 18th April 2014 Conference: 14th-17th July 2014 CONFERENCE BACKGROUND ITP is the premier international conference for researchers from all areas of interactive theorem proving and its applications. It represents the natural evolution of the TPHOLs conference series to include research related to all other interactive theorem provers. TPHOLs meetings took place every year from 1988 until 2009. In 2010, the first ITP conference was held in Edinburgh, Scotland, as part of the Federated Logic Conference (FLoC). Subsequent ITP conferences were held in Nijmegen, The Netherlands, in 2011, Princeton, New Jersey, USA, in 2012, and Rennes, France in 2013. ITP 2014 will again be a part of FLoC, in Vienna, Austria. PAPER SUBMISSIONS ITP welcomes submissions describing original research on all aspects of interactive theorem proving and its applications. In particular, the ITP community is open to users of all interactive theorem provers. Suggested topics include but are not limited to the following: -> formal aspects of hardware and software, -> formalizations of mathematics, -> improvements in theorem prover technology, -> user interfaces for interactive theorem provers, -> formalizations of computational models, -> use of theorem provers in education, -> industrial applications of interactive theorem provers, and -> concise and elegant worked examples of formalizations ("Proof Pearls"). Submissions must be made electronically in PDF format. Submissions should be prepared using the Springer LNCS format, available from http://www.springer.com/computer/lncs/lncs+authors, and submitted via EasyChair. Submissions must describe original unpublished work not submitted for publication elsewhere, presented in a way that is accessible to users of other systems. The proceedings will be published as a volume in the Springer Lecture Notes in Computer Science series and will be available to participants at the conference. ITP accepts both long papers (up to 16 pages) and "rough diamonds" (up to six pages, possibly in the form of an extended abstract). Both categories of papers will be fully refereed and included in the published proceedings. Papers in the "rough diamonds" category are expected to present innovative and promising ideas that have not yet had the time to mature. Regular papers are expected to present mature research projects with appropriate supporting evidence. All papers should have an abstract of approximately 100 words. Note that abstracts must be submitted a week prior to the paper submission deadline. Papers should also include a list of relevant keywords, which must include the name of the theorem prover featured in the paper. We strongly encourage submissions that describe interactions with or improvements of a theorem prover. Authors of such papers should provide verifiable evidence of an implementation, such as appropriate source files. This material may be uploaded via EasyChair or may be placed online, as long as a URL is included with the submission. Authors of accepted papers are expected to present their papers at the conference, and will be required to sign copyright release forms. All submissions must be written in English. ORGANIZATION Program Chairs Gerwin Klein, NICTA and The University of New South Wales, Australia Ruben Gamboa, University of Wyoming, USA Workshop Chair David Pichardie, INRIA, France Program Committee Jeremy Avigad, Carnegie Mellon University Lennart Beringer, Princeton University Yves Bertot, INRIA Thierry Coquand, Chalmers University Amy Felty, University of Ottawa Ruben Gamboa, University of Wyoming Georges Gonthier, Microsoft Research Elsa Gunter, University of Illinois at Urbana-Champaign John Harrison, Intel Corporation Matt Kaufmann, University of Texas at Austin Gerwin Klein, NICTA and UNSW Alexander Krauss, Technische Universit?t M?nchen Ramana Kumar, University of Cambridge Joe Leslie-Hurd, Intel Corporation Assia Mahboubi, INRIA - ?cole polytechnique Panagiotis Manolios, Northeastern University Magnus O. Myreen, University of Cambridge Tobias Nipkow, TU M?nchen Michael Norrish, NICTA Sam Owre, SRI International Christine Paulin-Mohring, Universit? Paris-Sud Lawrence Paulson, University of Cambridge David Pichardie, INRIA Rennes - Bretagne Atlantique Lee Pike, Galois, Inc. Jose-Luis Ruiz-Reina, University of Seville Julien Schmaltz, Open University of the Netherlands Bas Spitters, Radboud University Nijmegen Sofiene Tahar, Concordia University Ren? Thiemann, University of Innsbruck Laurent Th?ry, INRIA Christian Urban, King's College London Tjark Weber, Uppsala University Makarius Wenzel, Universit? Paris-Sud 11 From jv at informatik.uni-bonn.de Fri Dec 20 21:30:33 2013 From: jv at informatik.uni-bonn.de (Janis Voigtlaender) Date: Fri, 20 Dec 2013 22:30:33 +0100 Subject: [Haskell] CFP - Rewriting Techniques for Program Transformations and Evaluation 2014 Message-ID: <52B4B6F9.2030201@informatik.uni-bonn.de> CALL FOR PAPERS First International Workshop on Rewriting Techniques for Program Transformations and Evaluation (WPTE'14) affiliated with RTA/TLCA 2014 (a FLoC 2014 workshop, FLoC is part of the Vienna Summer of Logic 2014) 13th July 2014, Vienna, Austria http://www.ki.informatik.uni-frankfurt.de/WPTE14 Aims and Scope ============== The aim of WPTE is to bring together the researchers working on program transformations, evaluation, and operationally based programming language semantics, using rewriting methods, in order to share the techniques and recent developments and to exchange ideas to encourage further activation of research in this area. Topics of interest and in the scope of WPTE are: * Correctness of program transformations, optimizations and translations. * Program transformations for proving termination, confluence and other properties. * Correctness of evaluation strategies. * Operational semantics of programs, operationally-based program equivalences such as contextual equivalences and bisimulations. * Cost-models for arguing about the optimizing power of transformations and the costs of evaluation. * Program transformations for verification and theorem proving purposes. * Translation, simulation, equivalence of programs with different formalisms, and evaluation strategies. * Program transformations for applying rewriting techniques to programs in specific programming languages. * Program inversions and program synthesis. The programming languages of interest include pure, deterministic, impure, non-deterministic, concurrent, parallel languages, and may employ programming paradigms such as functional, logical, typed, imperative, object-oriented, and higher-order. Paper Submissions and Proceedings ================================= WPTE accepts two different kinds of contributions: * Full-papers: ------------ Full-papers must represent original work and should be submitted using the EasyChair interface. We plan to publish full-papers as formal proceedings in the 'OpenAccess Series in Informatics (OASIcs)' of 'Schloss Dagstuhl Leibniz-Zentrum fuer Informatik'. Full-papers should not exceed 12 pages using the OASIcs LaTeX-templates. * Work in progress: ----------------- There will also be a slot for presenting work in progress. An extended abstract of at most 4 pages is required to be submitted using the EasyChair interface. These contributions will not be included in the OASIcs proceedings but they will be distributed to the workshop partipicants. One author of each accepted paper or abstract is expected to present it at the workshop. Important Dates =============== * Submission deadline: 25 April 2014 * Notification of acceptance: 23 May 2014 * Deadline for camera-ready proceedings: 28 May 2014 * Workshop: 13 July 2014, Austria, Vienna Weblinks ======== * EasyChair Submission Website https://www.easychair.org/conferences/?conf=wpte14 * Homepage of WPTE'14 http://www.ki.informatik.uni-frankfurt.de/WPTE14 * OASIcs Website (including LaTeX templates): http://www.dagstuhl.de/en/publications/oasics * Vienna Summer of Logic 2014 http://vsl2014.at Program Committee ================= Takahito Aoto (RIEC, Tohoku University) Yuki Chiba (Japan Advanced Institute of Science and Technology) Fer-Jan de Vries (University of Leicester) Santiago Escobar (Universitat Polit?cnica de Val?ncia) Maribel Fern?ndez (King's College London) Johan Jeuring (Open Universiteit Nederland and Universiteit Utrecht) Delia Kesner (Universit? Paris-Diderot) Sergue? Lenglet (Universit? de Lorraine) Elena Machkasova (University of Minnesota, Morris) Joachim Niehren (INRIA Lille) David Sabel (Goethe-University Frankfurt am Main) Masahiko Sakai (Nagoya University) Manfred Schmidt-Schau? (Goethe-University Frankfurt am Main) - chair Eijiro Sumii (Tohoku University) Janis Voigtl?nder (University of Bonn) Harald Zankl (University of Innsbruck) Organizers ========== Manfred Schmidt-Schau? (Goethe-University Frankfurt am Main) - chair Masahiko Sakai (Nagoya University) David Sabel (Goethe-University Frankfurt am Main) Yuki Chiba (Japan Advanced Institute of Science and Technology) From c.grelck at uva.nl Mon Dec 23 14:14:02 2013 From: c.grelck at uva.nl (Clemens Grelck) Date: Mon, 23 Dec 2013 15:14:02 +0100 Subject: [Haskell] Call for participation: Dutch Functional Programming Day 2014 Message-ID: <52B8452A.2030307@uva.nl> Dear all, The next Dutch Functional Programming day (NL-FP 2014) will take place on Friday, January 10, 2014 at the University of Amsterdam at Amsterdam Science Park. You are all cordially invited to participate: registration is still open. The complete programme including abstracts of the talks as well as all further details can be found on the NL-FP 2014 site(s): http://staff.science.uva.nl/~grelck/nl-fp-day-2014.html http://staff.science.uva.nl/~grelck/nl-fp-dag-2014.html Merry Christmas and best wishes for the new year, Clemens Grelck -- ---------------------------------------------------------------------- Dr Clemens Grelck Science Park 904 University Lecturer 1098XH Amsterdam Netherlands University of Amsterdam Institute for Informatics T +31 (0) 20 525 8683 Computer Systems Architecture Group F +31 (0) 20 525 7490 Office C3.105 www.science.uva.nl/~grelck ---------------------------------------------------------------------- From brandon.m.simmons at gmail.com Mon Dec 23 18:20:37 2013 From: brandon.m.simmons at gmail.com (Brandon Simmons) Date: Mon, 23 Dec 2013 13:20:37 -0500 Subject: [Haskell] [ANN] shapely-data v0.1 Message-ID: This is the first *real* release `shapely-data`, a haskell library up here on hackage: http://hackage.haskell.org/package/shapely-data for working with algebraic datatypes in a simple generic form made up of haskell's primitive product, sum and unit types: `(,)`, `Either`, and `()`. You can install it with cabal install shapely-data # Motivation and examples In order from most to least important to me, here are the concerns that motivated the library: - Provide a good story for `(,)`/`Either` as a *lingua franca* generic representation that other library writers can use without dependencies, encouraging abstractions in terms of products and sums (motivated specifically by my work on `simple-actors`: http://hackage.haskell.org/package/simple-actors - Support algebraic operations on ADTs, making types composable -- multiplication: let a = (X,(X,(X,()))) b = Left (Y,(Y,())) :: Either (Y,(Y,())) (Z,()) ab = a >*< b in ab == ( Left (X,(X,(X,(Y,(Y,()))))) :: Either (X,(X,(X,(Y,(Y,()))))) (X,(X,(X,(Z,())))) ) -- exponents, etc: fanout (head,(tail,(Prelude.length,()))) [1..3] == (1,([2,3],(3,()))) (unfanin (_4 `ary` (shiftl . Sh.reverse)) 1 2 3 4) == (3,(2,(1,(4,())))) - Support powerful, typed conversions between `Shapely` types data F1 = F1 (Maybe F1) (Maybe [Int]) deriving Eq data F2 = F2 (Maybe F2) (Maybe [Int]) deriving Eq f2 :: F2 f2 = coerce (F1 Nothing $ Just [1..3]) data Tsil a = Snoc (Tsil a) a | Lin deriving Eq truth = massage "123" == Snoc (Snoc (Snoc Lin '3') '2') '1' Lowest on the list is supporting abstracting over different recursion schemes or supporting generic traversals and folds, though some basic support is planned. Finally, in at least some cases this can completely replace `GHC.Generics` and may be a bit simpler. See `examples/Generics.hs` for an example of the `GHC.Generics` wiki example: http://www.haskell.org/haskellwiki/GHC.Generics ...ported to `shapely-data`. And for a nice view on the changes that were required, do: git show 3a65e95 | perl /usr/share/doc/git/contrib/diff-highlight/diff-highlight ## Why not GHC.Generics? The `GHC.Generics` representation has a lot of metadata and a complex structure that can be useful in deriving default instances; more important to us is to have a simple, canonical representation such that two types that differ only in constructor names can be expected to have identical generic representations. This supports APIs that are type-agnostic (e.g. a database library that returns a generic `Product`, convertible later with `to`), and allows us to define algebraic operations and composition & conversion functions. Happy Holidays, everybody! Brandon