From Graham.Hutton at nottingham.ac.uk Thu Sep 1 08:58:32 2016 From: Graham.Hutton at nottingham.ac.uk (Graham Hutton) Date: Thu, 1 Sep 2016 08:58:32 +0000 Subject: [Haskell] New edition of "Programming in Haskell" Message-ID: <5206E2C8-6BE9-496A-A49C-997667AFEC47@exmail.nottingham.ac.uk> Dear all, I'm delighted to announce that the new edition of "Programming in Haskell" is now available! Further details are provided below, and are also available from: http://tinyurl.com/hnfjdgc. Best wishes, Graham ================================================================= *** BOOK ANNOUNCEMENT *** Programming in Haskell - 2nd Edition Graham Hutton, University of Nottingham Cambridge University Press, 1st September 2016 320 pages, 120 exercises, ISBN 9781316626221 http://tinyurl.com/hnfjdgc ================================================================= DESCRIPTION: Haskell is a purely functional language that allows programmers to rapidly develop clear, concise, and correct software. The language has grown in popularity in recent years, both in teaching and in industry. This book is based on the author's experience of teaching Haskell for more than twenty years. All concepts are explained from first principles and no programming experience is required, making this book accessible to a broad spectrum of readers. While Part I focuses on basic concepts, Part II introduces the reader to more advanced topics. This new edition has been extensively updated and expanded to include recent and more advanced features of Haskell, new examples and exercises, selected solutions, and freely downloadable lecture slides and example code. The presentation is clean and simple, while also being fully compliant with the latest version of the language, including recent changes concerning applicative, monadic, foldable, and traversable types. ================================================================= CONTENTS: Foreword Preface Part I. Basic Concepts: 1. Introduction 2. First steps 3. Types and classes 4. Defining functions 5. List comprehensions 6. Recursive functions 7. Higher-order functions 8. Declaring types and classes 9. The countdown problem Part II. Going Further: 10. Interactive programming 11. Unbeatable tic-tac-toe 12. Monads and more 13. Monadic parsing 14. Foldables and friends 15. Lazy evaluation 16. Reasoning about programs 17. Calculating compilers Appendix A. Selected solutions Appendix B. Standard prelude Bibliography Index ================================================================= AUTHOR: Graham Hutton is Professor of Computer Science at the University of Nottingham. He has taught Haskell to thousands of students and received numerous best lecturer awards. Hutton has served as an editor of the Journal of Functional Programming, Chair of the Haskell Symposium and the International Conference on Functional Programming, and Vice-Chair of the ACM Special Interest Group on Programming Languages, and he is an ACM Distinguished Scientist. ================================================================= 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 fa-ml at ariis.it Fri Sep 2 15:51:12 2016 From: fa-ml at ariis.it (Francesco Ariis) Date: Fri, 2 Sep 2016 17:51:12 +0200 Subject: [Haskell] [ANN] lentil - frugal issue tracker Message-ID: <20160902155112.GA13979@casa.casa> I am pleased to announce the release of lentil 1.0 [0]. [0] http://hackage.haskell.org/package/lentil-1.0.0.1 ============================= lentil - frugal issue tracker ============================= lentil is a minimum effort issue tracker; if you litter your code with: -- FIXME: does outPop work with b/w terminals? [ansi] lentil can help you listing, sorting, exporting, tagging slicing and dicing those `todo`s. To see it in action just type: cabal install lentil # or use stack cd ~/your-project-folder/ lentil . Any repo will do, not only Haskell ones! For further information, check the project homepage [1] and the user manual [2]. [1] http://ariis.it/static/articles/lentil/page.html [2] http://ariis.it/static/articles/lentil-manual/page.html Heartfelt "thank you!" to anyone who contributed [3] by providing valuable feedback, suggestions, patches! [3] http://ariis.it/link/repos/lentil/contributors.txt -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: From lsp at informatik.uni-kiel.de Sun Sep 4 15:27:21 2016 From: lsp at informatik.uni-kiel.de (lennart spitzner) Date: Sun, 4 Sep 2016 17:27:21 +0200 Subject: [Haskell] [ANN] brittany - haskell source code formatting tool - experimental/alpha Message-ID: <0de3e66e-f6d6-316a-7a0c-59df8a5c54b8@informatik.uni-kiel.de> Greetings, I am happy to announce a first alpha release of brittany (0.7.0.0), a haskell source code formatting tool based on ghc-exactprint [2] (and thus ghc's parser). https://github.com/lspitzner/brittany Two small feature cases that brittany would produce/leave unmodified: > -- Newlines are used sparingly: Only after "do" and when the > -- `liftBaseOpDiscard` application would lead to overflowing 80 columns. > main :: IO () > main = do > pool <- createPostgresqlPool (toS databaseConnectionString) 10 > initiate $ \chan -> forever $ do > flip runDbConn pool $ do > makeSureQueueIsFull chan > void $ liftBaseOpDiscard (consumeMsgs chan responseQueue Ack) > (uncurry processMsg) > threadDelay 1000000 > -- Alignment of patterns > go [] "" = True > go [WildCard ] "" = True > go (WildCard :rest) (c:cs) = go rest (c : cs) || go (WildCard : rest) cs > go (Union globs:rest) cs = any (\glob -> go (glob ++ rest) cs) globs > go [] (_:_) = False > go (_:_) "" = False Yet this is an alpha release, for the following reasons: - Brittany currently only transforms top-level type signatures and (function) bindings. - Not all syntactical constructs (even of plain 2010 haskell) are understood. All common constructs should work, but "common" is purely subjective. - Not all (syntactic) extensions are supported, either. - Needs more testing. (And less than a hundred automated testcases is not very much to explore every syntactic corner of haskell.) On the other hand - I have started using the tool successfully, albeit selectively. - There are checks in place that detect 1) if output is not valid haskell or 2) if source comments are not transcribed to the output. That is, running into non-handled cases should lead to error messages that are harmless, not into any silent it-overwrote-my-code-with-garbage. *How to build?* Brittany requires ghc-8. See https://github.com/lspitzner/brittany#building A hackage release is not planned yet. *Brittany's formatting style* Currently brittany does _not_ give the user many choices. A few flags exist, most prominently to change the indentation (default 2) or the columns (default 80). I am open to suggestions of how to improve the style, but trying to make everyone happy is not a fulfilling goal for me. *Implementation/documentation/performance* The implementation and its core ideas are not documented. The core algorithm in theory has linear complexity in input size; the implementation probably is quadratic dues to some misuses of plain lists or other such implementation details. Providing at least a high-level overview is on my to-do list. [1] https://github.com/lspitzner/brittany [2] https://hackage.haskell.org/package/ghc-exactprint -- lennart From david.feuer at gmail.com Tue Sep 6 18:50:04 2016 From: david.feuer at gmail.com (David Feuer) Date: Tue, 6 Sep 2016 14:50:04 -0400 Subject: [Haskell] [Haskell-cafe] [ANN] brittany - haskell source code formatting tool - experimental/alpha In-Reply-To: <0de3e66e-f6d6-316a-7a0c-59df8a5c54b8@informatik.uni-kiel.de> References: <0de3e66e-f6d6-316a-7a0c-59df8a5c54b8@informatik.uni-kiel.de> Message-ID: Congrats! I look forward to seeing how this develops. On Sun, Sep 4, 2016 at 11:27 AM, lennart spitzner wrote: > Greetings, > > I am happy to announce a first alpha release of brittany (0.7.0.0), > a haskell source code formatting tool based on ghc-exactprint [2] > (and thus ghc's parser). > > > https://github.com/lspitzner/brittany > > > Two small feature cases that brittany would produce/leave unmodified: > >> -- Newlines are used sparingly: Only after "do" and when the >> -- `liftBaseOpDiscard` application would lead to overflowing 80 columns. >> main :: IO () >> main = do >> pool <- createPostgresqlPool (toS databaseConnectionString) 10 >> initiate $ \chan -> forever $ do >> flip runDbConn pool $ do >> makeSureQueueIsFull chan >> void $ liftBaseOpDiscard (consumeMsgs chan responseQueue Ack) >> (uncurry processMsg) >> threadDelay 1000000 > >> -- Alignment of patterns >> go [] "" = True >> go [WildCard ] "" = True >> go (WildCard :rest) (c:cs) = go rest (c : cs) || go (WildCard : rest) cs >> go (Union globs:rest) cs = any (\glob -> go (glob ++ rest) cs) globs >> go [] (_:_) = False >> go (_:_) "" = False > > > Yet this is an alpha release, for the following reasons: > > - Brittany currently only transforms top-level type signatures and (function) > bindings. > - Not all syntactical constructs (even of plain 2010 haskell) are understood. > All common constructs should work, but "common" is purely subjective. > - Not all (syntactic) extensions are supported, either. > - Needs more testing. > (And less than a hundred automated testcases is not very much to explore > every syntactic corner of haskell.) > > On the other hand > > - I have started using the tool successfully, albeit selectively. > - There are checks in place that detect > 1) if output is not valid haskell or > 2) if source comments are not transcribed to the output. > That is, running into non-handled cases should lead to error messages that > are harmless, not into any silent it-overwrote-my-code-with-garbage. > > > *How to build?* > > Brittany requires ghc-8. See https://github.com/lspitzner/brittany#building > > A hackage release is not planned yet. > > > *Brittany's formatting style* > > Currently brittany does _not_ give the user many choices. A few flags exist, > most prominently to change the indentation (default 2) or the columns > (default 80). I am open to suggestions of how to improve the style, but trying > to make everyone happy is not a fulfilling goal for me. > > > *Implementation/documentation/performance* > > The implementation and its core ideas are not documented. The core algorithm > in theory has linear complexity in input size; the implementation probably is > quadratic dues to some misuses of plain lists or other such implementation > details. Providing at least a high-level overview is on my to-do list. > > > [1] https://github.com/lspitzner/brittany > [2] https://hackage.haskell.org/package/ghc-exactprint > > -- lennart > _______________________________________________ > Haskell-Cafe mailing list > To (un)subscribe, modify options or view archives go to: > http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe > Only members subscribed via the mailman list are allowed to post. From andres at well-typed.com Fri Sep 9 15:32:13 2016 From: andres at well-typed.com (Andres =?iso-8859-1?B?TPZo?=) Date: Fri, 9 Sep 2016 16:32:13 +0100 Subject: [Haskell] Haskell eXchange and related events -- Call for Participation Message-ID: <20160909153213.xk2tsj6asqwj55og@nullzig.kosmikus.org> Hi everyone. As Tom Ellis has correctly pointed out in another thread, I should have announced the Haskell eXchange on this list. Let me do that now: ===================================================================== Haskell eXchange 2016 London, 6-7 October 2016 ===================================================================== The Haskell eXchange is a general Haskell conference aimed at Haskell enthusiasts of all skill levels. The Haskell eXchange is organized annually, and 2016 is its fifth year. For the second year in a row, the venue will be Skills Matter’s CodeNode, where we have space for three parallel tracks. New this year: a large number of beginner-focused talks. At all times, at least one track will be available with a talk aimed at (relative) newcomers to Haskell. Of course, there are also plenty of talks on more advanced topics. Keynote speakers: Don Stewart, Conor McBride, Graham Hutton, Simon Peyton Jones Talks and workshops (some changes may still occur) by: Julian Arni, Christiaan Baaij, Thomas van Binsbergen, Mathieu Boespflug, Lars Brünjes, Ben Clifford, Philip Cunningham, Tom Ellis, Matthias Fischmann, Oleg Grenrus, Nickolay Kudasov, Robert Henderson, Csaba Hruska, Robin Kay, Csongor Kiss, Steven Kutsch, Kris Jenkins, David Luposchainsky, Neil Mitchell, Andrey Mokhov, Romeo Moura, Jann Müller, Boldizsár Németh, Andor Penzes, Ivan Perez, Michał Płachta, Nicolas Pouillard, Arian van Putten, Andrzej Rybczak, Jeremy Singer, Nicolas Wu Homepage and registration: https://skillsmatter.com/conferences/7276-haskell-exchange-2016 If you're interested in the Haskell eXchange, you might also be interested in the Haskell eXchange Haskell Hackathon and/or in the Haskell courses (2-day introductory, 1-day on types, 2-day on performance) offered by Well-Typed on the surrounding days. More info here: http://www.well-typed.com/blog/125/ Cheers, Andres -- Andres Löh, Haskell Consultant Well-Typed LLP, http://www.well-typed.com Registered in England & Wales, OC335890 250 Ice Wharf, 17 New Wharf Road, London N1 9RF, England From storm at cwi.nl Mon Sep 12 21:18:58 2016 From: storm at cwi.nl (Tijs van der Storm) Date: Mon, 12 Sep 2016 21:18:58 +0000 Subject: [Haskell] SPLASH'16 Amsterdam: Call For Participation Message-ID: ################################################# ACM Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH'16) ################################################# Amsterdam, The Netherlands Sun 30th October - Fri 4th November , 2016 http://2016.splashcon.org https://twitter.com/splashcon https://www.facebook.com/SPLASHCon/ ** REGISTRATION ** 30 September 2016 (Early Deadline) Contact: info at splashcon.org http://2016.splashcon.org/attending/registration # What's happening at SPLASH? ## Keynotes - Benjamin Pierce (SPLASH) The Science of Deep Specification - Andy Ko (SPLASH) A Human View of Programming Languages - Martin Odersky (SPLASH) - Guy Steele Jr. (SPLASH-I) - Robby Findler (SLE) Redex: Lightweight Semantics Engineering - Tiark Rompf (GPCE) Lightweight Modular Staging: Generate all the things! - Simon Peyton Jones (SPLASH-I/E) The dream of a lifetime: shaping how our children learn computing - Laurence Tratt (Scala) ## Workshop Keynotes - Andrew Black (NOOL) - Alan Blackwell (PLATEAU) - Alastair Donald (WODA) - Sam Guyer (WODA) - Felienne Hermans (DSLDI) - Ben Liblit (WODA) - Benjamin Livshits (WODA) - Ivano Malavolta (Mobile!) - Yannis Smaragdakis (WODA) - Frank Tip (WODA) - Markus Voelter (ITSLE) ** Conference Program ** http://2016.splashcon.org/program/program-splash2015 ** SPLASH-I Track ** SPLASH-I is a series of invited and solicited talks that address topics relevant to the SPLASH community. Speakers are world-class experts in their field, selected and invited by the organizers. The SPLASH-I talks series is held in parallel with the rest of SPLASH during the week days. Talks are open to all attendees. A selection of confirmed talks: - Edwin Brady Type-driven Development in Idris - Jürgen Cito Using Docker Containers to Improve Reproducibility in PL/SE Research - Yvonne Coady Exploratory Analysis in Virtual Reality: The New Frontier - Adam Chlipala Rapid Development of Web Applications with Typed Metaprogramming in Ur/Web - Tudo Girba Software Environmentalism - Brian Harvey Snap! Scheme Disguised as Scratch - Lennart Kats Responsive Language Tooling For Cloud-based IDEs - Ralf Laemmel The basic skill set of software language engineering - Crista Lopes Simulating Cities: The Spacetime Framework - Heather Miller Language Support for Distributed Systems - Mark Miller & Bill Tulloh The elements of decision alignment: Large programs as complex organizations - Boaz Rosenan & David Lorenz Define Your App, Don’t Implement It: Building a Scalable Social Network in 45 minutes - Emmanuel Schanzer Bootstrap - Chris Seaton Truffle and Graal: Fast Programming Languages With Modest Effort - Emma Söderbergh From Tricorder to Tricium: Useful Static Analysis and the Importance of Workflow Integration - Emma Tosch Designing and Debugging Surveys with SurveyMan - Todd Veldhuizen Fast Datalog - Markus Völter How Domain Requirements Shape Languages - Jos Warmer Making Mendix Meta Model Driven - Andy Zaidman Fact or fiction? What software analytics can do for us (developers and researchers) More information here: http://2016.splashcon.org/track/splash2016-splash-i ** Research tracks - OOPSLA http://2016.splashcon.org/track/splash-2016-oopsla#event-overview - Onward! http://2016.onward-conference.org/track/onward-2016-papers#event-overview - Onward! Essays http://2016.onward-conference.org/track/onward2016-essays#program - Software Language Engineering (SLE) http://conf.researchr.org/track/sle-2016/sle-2016-papers#event-overview - Generative Programming: Concepts & Experiences (GPCE) http://conf.researchr.org/track/gpce-2016/gpce-2016-papers#event-overview - Dynamic Languages Symposium (DLS) http://conf.researchr.org/track/dls-2016/dls-2016-papers#event-overview - Scala Symposium http://conf.researchr.org/track/scala-2016/scala-2016#event-overview ** Other Events - Doctoral Symposium http://2016.splashcon.org/track/splash-2016-ds#event-overview - Programming Language Mentoring Workshop (PLMW) http://2016.splashcon.org/track/splash-2016-plmw - Student Research Competition (SRC) http://2016.splashcon.org/track/splash-2016-src - Posters http://2016.splashcon.org/track/splash-2016-posters#event-overview ** Workshops SPLASH'16 is hosting a record number of 15 workshops: - AGERE! Programming based on Actors, Agents, and Decentralized Control http://2016.splashcon.org/track/agere2016 - DSLDI: Domain-Specific Language Design and Implementation http://2016.splashcon.org/track/dsldi2016 - DSM: Domain-Specific Modeling http://2016.splashcon.org/track/dsm2016 - FOSD: Feature-oriented Software Development http://www.fosd.net/workshop2016 - ITSLE: Industry Track Software Language Engineering http://2016.splashcon.org/track/itsle2016 - LWC at SLE: Language Workbench Challenge http://2016.splashcon.org/track/lwc2016 - META http://2016.splashcon.org/track/meta2016 - Mobile! http://2016.splashcon.org/track/mobile2016 - NOOL: New Object-Oriented Languages http://2016.splashcon.org/track/nool2016 - PLATEAU: Evaluation and Usability of Programming Languages and Tools http://2016.splashcon.org/track/plateau2016 - Parsing at SLE http://2016.splashcon.org/track/parsing2016 - REBLS: Reactive and Event-based Languages & Systems http://2016.splashcon.org/track/rebls2016 - SA-MDE: Tutorial on MDD with Model Catalogue and Semantic Booster http://2016.splashcon.org/track/samde2016 - SEPS: Software Engineering for Parallel Systems http://2016.splashcon.org/track/seps2016 - VMIL: Virtual Machines and Intermediate Languages http://2016.splashcon.org/track/vmil2016 - WODA: Workshop on Dynamic Analysis http://2016.splashcon.org/track/woda2016 ## SPLASH'16 is kindly supported by the following organizations: - ACM: http://www.acm.org/ - SIGPLAN: http://www.sigplan.org/ - LogicBlox (Gold): http://www.logicblox.com/ - Oracle (Silver): http://www.oracle.com/index.html - TU Delft (Silver): http://tudelft.nl/ - Huawei (Bronze): http://www.huawei.com/en/ - Facebook (Bronze): https://research.facebook.com/ - IBM Research (Bronze): http://www.research.ibm.com/ - Google (Bronze): https://www.google.com - Itemis (Bronze): https://www.itemis.com/en/ - ING (Bronze): https://www.ing.nl Interested in supporting SPLASH'16? See our options here: http://2016.splashcon.org/attending/support-program. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mail at stefanwehr.de Wed Sep 14 08:39:40 2016 From: mail at stefanwehr.de (Stefan Wehr) Date: Wed, 14 Sep 2016 10:39:40 +0200 Subject: [Haskell] [ANN] Call for Contributions: BOB 2017 - Berlin, Feb 24, 2017 Message-ID: BOB Conference 2017 "What happens when we use what's best for a change?" http://bobkonf.de/2017/en/cfp.html Berlin, February 24 Call for Contributions Deadline: October 30, 2016 You are actively engaged in advanced software engineering methods, implement ambitious architectures and are open to cutting-edge innovation? Attend this conference, meet people that share your goals, and get to know the best software tools and technologies available today. We strive to offer a day full of new experiences and impressions that you can use to immediately improve your daily life as a software developer. If you share our vision and want to contribute, submit a proposal for a talk or tutorial! Topics ------ We are looking for talks about best-of-breed software technology, e.g.: - functional programming - persistent data structures and databases - types - formal methods for correctness and robustness - abstractions for concurrency and parallelism - metaprogramming - probabilistic programming - ... everything really that isn’t mainstream, but you think should be. Presenters should provide the audience with information that is practically useful for software developers. This time, we’re especially interested in experience reports. But this could also take other forms, e.g.: - introductory talks on technical background - overviews of a given field - demos and how-tos Requirements ------------ We accept proposals for presentations of 45 minutes (40 minutes talk + 5 minutes questions), as well as 90 minute tutorials for beginners. The language of presentation should be either English or German. Your proposal should include (in your presentation language of choice): - an abstract of max. 1500 characters. - a short bio/cv - contact information (including at least email address) - a list of 3-5 concrete ideas of how your work can be applied in a developer’s daily life -additional material (websites, blogs, slides, videos of past presentations, …) Submit here: https://docs.google.com/forms/d/e/1FAIpQLSfFuyBhBTCOTS0zTXBzY1KVuKpumyIBTucLcJ1ArC1XpWsG-Q/viewform Organisation - direct questions to bobkonf at active minus group dot de - proposal deadline: October 30, 2016 - notification: November 15, 2016 - program: December 1, 2016 NOTE: The conference fee will be waived for presenters, but travel expenses will not be covered. Speaker Grants -------------- BOB has Speaker Grants available to support speakers from groups under-represented in technology. We specifically seek women speakers and speakers who are not be able to attend the conference for financial reasons. Details are here: http://bobkonf.de/2017/en/speaker-grants.html Shepherding ----------- The program committee offers shepherding to all speakers. Shepherding provides speakers assistance with preparing their sessions, as well as a review of the talk slides. Program Committee ----------------- (more information here: http://bobkonf.de/2017/programmkomitee.html) - Matthias Fischmann, zerobuzz UG - Matthias Neubauer, SICK AG - Nicole Rauch, Softwareentwicklung und Entwicklungscoaching - Michael Sperber, Active Group - Stefan Wehr, factis research Scientific Advisory Board - Annette Bieniusa, TU Kaiserslautern - Torsten Grust, Uni Tübingen - Peter Thiemann, Uni Freiburg From tom.schrijvers at cs.kuleuven.be Sun Sep 18 23:40:42 2016 From: tom.schrijvers at cs.kuleuven.be (Tom Schrijvers) Date: Mon, 19 Sep 2016 08:40:42 +0900 Subject: [Haskell] Doctoral or Post-Doctoral Position in Programming Language Theory & Implementation Message-ID: I am looking for a new member to join my research team in either a doctoral or post-doctoral position. Research topics of particular interest are: * type systems * functional programming * monads, continuations, effect handlers, ... * mechanisation of programming language meta-theory * category theoretical foundations of programming languages * constraint logic programming For more details and application: https://icts.kuleuven.be/apps/jobsite/vacatures/53891815?lang=en For questions about the position, get in touch. -- prof. dr. ir. Tom Schrijvers Research Professor KU Leuven Department of Computer Science Celestijnenlaan 200A 3001 Leuven Belgium Phone: +32 16 327 830 http://people.cs.kuleuven.be/~tom.schrijvers/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy.gibbons at cs.ox.ac.uk Mon Sep 19 23:14:35 2016 From: jeremy.gibbons at cs.ox.ac.uk (Jeremy Gibbons) Date: Tue, 20 Sep 2016 00:14:35 +0100 Subject: [Haskell] Doctoral scholarships at Oxford Message-ID: The Dept of CS at Oxford has just advertised up to 15 DPhil (Oxford's PhD) scholarships to start in Oct 2017. I would be very happy to see applications from strong students in functional programming among those scholarships. If you'd like to discuss, please get in touch. In particular, if you were at PLMW at ICFP on Sunday, please speak to me in person - I am also at ICFP, leaving on Sunday. See http://www.cs.ox.ac.uk/news/1182-full.html for the advert; text quoted below. Cheers, Jeremy * Full funding for up to 15 doctoral students Posted: 14th September 2016 The Department of Computer Science at the University of Oxford is delighted to invite applications for up to 15 fully-funded DPhil (Oxford’s PhD) scholarships tenable from 1st October 2017. We will be considering students for Oxford-Google DeepMind Graduate Scholarships, EPSRC Scholarships, Clarendon Scholarships, Oxford Wolfson Marriott Graduate Scholarship and departmental funding. The University of Oxford is consistently ranked amongst the very best Computer Science departments in the world, for both teaching and research. We are committed to attracting the world’s most talented students and working with them to continue the success of the department. The topics for the studentships are open, but should relate to the interests of one of the Department’s research areas: Algorithms & Complexity Theory, Artificial Intelligence, Automated Verification, Computational Biology, Foundations, Logic & Structures, Information Systems, Machine Learning, Multi-Agent Systems, Programming Languages, Security, Semantics and Software Engineering. We also encourage applications in cross disciplinary areas such as Linguistics, Biology, Medicine and Quantum Foundations & Quantum Computation. The studentships are for three years and are open to students of any nationality. Each studentship will cover university and college fees with a stipend of at least £14,296 per year. Applicants are normally expected to have, or be predicted to achieve, a first-class or a strong upper second-class grade in either (i) a four-year undergraduate degree (with integrated masters) in a relevant subject (or equivalent international qualifications), or (ii) a three-year BSc/BA degree followed by excellent (distinction) performance in a master's degree in a relevant subject. Informal enquiries may be addressed to graduate.admissions at cs.ox.ac.uk and for more information please see our webpages Please apply online Closing date for applications: 6th January 2017 but you are advised to apply as soon as your application is ready. All supporting documents including transcripts and references must be received by this date. Jeremy.Gibbons at cs.ox.ac.uk Oxford University Department of Computer Science, Wolfson Building, Parks Road, Oxford OX1 3QD, UK. ☎ +44 1865 283521 http://www.cs.ox.ac.uk/people/jeremy.gibbons/ From tobias.grosser at inf.ethz.ch Wed Sep 21 14:02:35 2016 From: tobias.grosser at inf.ethz.ch (Tobias Grosser) Date: Wed, 21 Sep 2016 16:02:35 +0200 Subject: [Haskell] PLDI 2017 call for papers Message-ID: <1474466555.3026496.732628689.3F5123B9@webmail.messagingengine.com> *Call for Contributions* ==================== 2017 ACM Conference on Programming Language Design and Implementation (PLDI) June 19-23, 2017 in Barcelona, Spain http://conf.researchr.org/home/pldi-2017 PLDI is the premier forum in the field of programming languages and programming systems research, covering the areas of design implementation, theory, applications, and performance. PLDI welcomes outstanding research which clearly advances the field and has the potential to make a lasting contribution. *Important Dates* =============== Research paper submissions due 15 Nov 2016 Author response period 26-28 Jan 2017 Author notification 13 Feb 2017 *Author Instructions* ================== http://conf.researchr.org/track/pldi-2017/pldi-2017-papers Submission site: https://pldi17.hotcrp.com/ *Organizing Committee* ==================== General Chair: Albert Cohen, INRIA, France Program Chair: Martin Vechev, ETH Zurich, Switzerland Workshops & Tutorials Chair: Aaron Smith, University of Edinburgh Publicity Chairs: Adrian Sampson, Cornell, USA Tobias Grosser, ETH Zurich, Switzerland http://conf.researchr.org/committee/pldi-2017/pldi-2017-organizing-committee -- Tobias Grosser From dimitris at microsoft.com Thu Sep 22 17:39:01 2016 From: dimitris at microsoft.com (Dimitrios Vytiniotis) Date: Thu, 22 Sep 2016 17:39:01 +0000 Subject: [Haskell] Call for Scholarship Applications: Programming Languages Mentoring Workshop - a POPL workshop Message-ID: (apologies for multiple copies) CALL FOR SCHOLARSHIP APPLICATIONS (Deadline: October 23!) ACM SIGPLAN Programming Languages Mentoring Workshop, Paris, France Tuesday, January 17, 2017 Co-located with POPL 2017 PLMW web page: http://conf.researchr.org/track/POPL-2017/PLMW-2017 After the resounding success of the first five Programming Languages Mentoring Workshops at POPL 2012-2016 we proudly announce the 2017 SIGPLAN Programming Languages Mentoring Workshop (PLMW), co-located with POPL 2017 and organised by Loris D'Antoni, Eva Darulova, Alexandra Silva, and Dimitrios Vytiniotis. 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 bring together world leaders in programming languages research and teaching from academia and industry to provide (a) technical sessions on cutting-edge PL research and (b) mentoring sessions on how to prepare for a research career. The workshop will engage students in a process of imagining how they might contribute to our research community. We especially encourage women, underrepresented minority students, and people with disabilities 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 (listed below) 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 as well. APPLICATION for PLMW scholarship: The scholarship application can be accessed from the workshop web site. http://conf.researchr.org/track/POPL-2017/PLMW-2017#Scholarship-applications The deadline for full consideration of funding is SUNDAY, OCTOBER 23. Selected participants will be notified by NOVEMBER 20 or earlier. Confirmed sponsors so far: NSF ACM SIGPLAN Amazon An Anonymous Donor Jane Street Capital Microsoft -------------- next part -------------- An HTML attachment was scrubbed... URL: From simonpj at microsoft.com Sun Sep 25 18:04:38 2016 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Sun, 25 Sep 2016 18:04:38 +0000 Subject: [Haskell] Respect Message-ID: Friends One of the most precious attributes of the Haskell community over the last twenty-five years has been its supportive, friendly, and respectful dialogue. People have often drawn attention to this, and I have always felt good about it.  (A great example is this hilarious exchange [1], which I came across in the wonderful but sadly-in-abeyance Haskell Weekly News).  As I write this post I am travelling back from ICFP where the same high standards of discourse prevail.  People certainly ask searching questions, but they do so as critical friends, not hostile adversaries. There's no denying that our shared dialogue as a community has taken a nose-dive in the last few months.  If this change of tone becomes established as a norm, I believe it will corrode our common life, perhaps permanently, and harm our shared purpose. I would be heartbroken if that happened. Underlying these exchanges there are strong differences of opinion.  Some are technical judgements; others are to do with an assessment of what will be most helpful to new users.  These are matters about which reasonable, thoughtful people can differ.  But in a community in which I believe that everyone is passionately motivated to do the Right Thing, I am certain that we can debate those differences in a more constructive way. In writing this post, I am not seeking to discourage open debate, or expressions of concern. It's worth separating two things 1. Publicly debating an issue where judgements differ 2. Using offensive or adversarial language in that debate It's fine to respectfully disagree with someone's judgement (i.e. 1).  It's /not/ fine to imply that they have hidden (and bad) motives, or declare them incompetent or deliberately obtuse (i.e. 2).  This has no place in our public conversations. The trickier the issue, the more careful we should be to express ourselves in a way that is respectful, and is visibly grounded in the assumption that the other person is acting in good faith. I not attributing blame.  There is no idle malice here, nor thoughtless trolling. It's no good each of us pointing the finger elsewhere: our shared conversation is our shared responsibility. Nor am I trying to paper over the cracks, and pretend everything will be ok if we are just polite to each other.  There are significant underlying technical disagreements, bruised feelings, frustration, and some anger. So there is work to do together, and I'm in active conversation some of with the main protagonists, working on some concrete steps forward. More on that anon, I hope. Meanwhile, I am asking -- begging actually -- that we work on these issues using language that is respectful of others, that celebrates the work of both volunteers and companies, and that assumes that our dialogue partners are acting from the best of intentions. Simon [1] https://gist.github.com/quchen/5280339 From cheater00 at gmail.com Sun Sep 25 20:27:50 2016 From: cheater00 at gmail.com (cheater00 cheater00) Date: Sun, 25 Sep 2016 22:27:50 +0200 Subject: [Haskell] Respect In-Reply-To: References: Message-ID: This kind of thing is why you're the undisputed leader of our community, Simon. Not one of us could come even close to saying this in the same manner. Kudos. On Sun, Sep 25, 2016 at 8:04 PM, Simon Peyton Jones via Haskell wrote: > Friends > > One of the most precious attributes of the Haskell community over the last twenty-five years has been its supportive, friendly, and respectful dialogue. People have often drawn attention to this, and I have always felt good about it. (A great example is this hilarious exchange [1], which I came across in the wonderful but sadly-in-abeyance Haskell Weekly News). As I write this post I am travelling back from ICFP where the same high standards of discourse prevail. People certainly ask searching questions, but they do so as critical friends, not hostile adversaries. > > There's no denying that our shared dialogue as a community has taken a nose-dive in the last few months. If this change of tone becomes established as a norm, I believe it will corrode our common life, perhaps permanently, and harm our shared purpose. I would be heartbroken if that happened. > > Underlying these exchanges there are strong differences of opinion. Some are technical judgements; others are to do with an assessment of what will be most helpful to new users. These are matters about which reasonable, thoughtful people can differ. But in a community in which I believe that everyone is passionately motivated to do the Right Thing, I am certain that we can debate those differences in a more constructive way. > > In writing this post, I am not seeking to discourage open debate, or expressions of concern. It's worth separating two things > > 1. Publicly debating an issue where judgements differ > 2. Using offensive or adversarial language in that debate > > It's fine to respectfully disagree with someone's judgement (i.e. 1). It's /not/ fine to imply that they have hidden (and bad) motives, or declare them incompetent or deliberately obtuse (i.e. 2). This has no place in our public conversations. The trickier the issue, the more careful we should be to express ourselves in a way that is respectful, and is visibly grounded in the assumption that the other person is acting in good faith. > > I not attributing blame. There is no idle malice here, nor thoughtless trolling. It's no good each of us pointing the finger elsewhere: our shared conversation is our shared responsibility. > > Nor am I trying to paper over the cracks, and pretend everything will be ok if we are just polite to each other. There are significant underlying technical disagreements, bruised feelings, frustration, and some anger. So there is work to do together, and I'm in active conversation some of with the main protagonists, working on some concrete steps forward. More on that anon, I hope. > > Meanwhile, I am asking -- begging actually -- that we work on these issues using language that is respectful of others, that celebrates the work of both volunteers and companies, and that assumes that our dialogue partners are acting from the best of intentions. > > Simon > > [1] https://gist.github.com/quchen/5280339 > > _______________________________________________ > Haskell mailing list > Haskell at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell From cheater00 at gmail.com Mon Sep 26 15:39:07 2016 From: cheater00 at gmail.com (cheater00 cheater00) Date: Mon, 26 Sep 2016 17:39:07 +0200 Subject: [Haskell] Respect In-Reply-To: References: Message-ID: On Mon, Sep 26, 2016 at 11:41 AM, a user wrote: > I am not sure we ever met though I was participating to the last 4 ICFP and related workshop. > I think that talking about * undisputed leadership * is going against Simon message who pledge for a community capacity to discuss freely and with respect any topics. As far as I remember what has been told about Paul Hudak (a potential leader for Haskell) when he passed away, Haskell is a languages build by a group of people, not a single undisputed leader ever, neither Paul nor Simon nor any John nor Phil, nor… > Things should also be kept that way shouldn’t they ? > Best regards, > > (...) Hi! Thanks for your email. I'm very happy you are an active member of the FP community. It's important for us to hold together. I do not think of Simon as a leader in terms of "boss" or "decision maker". Maybe it's easier to think in terms of respect. You cannot assume a position of respect. You can only gain respect by being a great person, and if a lot of people respect you then you might propose ideas (as Simon has here) and people are likely to follow them. This kind of leadership develops naturally and organically, as opposed to leadership that you are told to follow. It is my belief that a lot of people make note of what SPJ says because they respect him for who he is, rather than because he has installed himself. There is no hegemony to be had here. Simon has also shown on numerous occasions that he gives room to ideas that don't originate from him and he's a fervent supporter of people contributing their vision to GHC and Haskell, whether or not he has a say in the direction those things will go. (P.S. the user asked me to quote his off-list letter anonymously when reintroducing it to the mailing list) >> cheater00 cheater00 wrote : >> >> This kind of thing is why you're the undisputed leader of our >> community, Simon. Not one of us could come even close to saying this >> in the same manner. Kudos. From tonyday567 at gmail.com Mon Sep 26 22:48:53 2016 From: tonyday567 at gmail.com (Tony Day) Date: Tue, 27 Sep 2016 08:48:53 +1000 Subject: [Haskell] GHC is a monopoly compiler Message-ID: I would argue that the adventure that is GHC is a natural monopoly - an example of collaboration trumping competition. Certainly the results speak for themselves, and I personally find it the most satisfying, the only sane way to practice the craft of coding. So, as an enthusiastic user of a monopolistic service (the best power to weight ratio I could find to misquote Kmett), I would like to suggest to the community that we have a respectful discussion on the implications of natural monopolies. Monopolies have their problems. They create power imbalances that need active management to control. A community should be particularly wary of monopolies attempting to vertically integrate up the production chain into areas where a monopoly makes less sense. I would call the whole cabal versus stack drama a text-book case of over-reach. Everyone agrees stack operates at a higher level of abstraction then cabal, on top of it is accurate. Cabal shouldn't even be allowed to compete above it's current abstraction point. Haddock is another example of being blessed by ghc. It hits a corner-case of perfection for the "I'm a hackage library" monopoly. But the outside world of documentation, editing, rendering and conversion is invisible to this monopolistic use case. We are forced to learn and use haddock, and, for those of us with documentation needs outside hackage, the resultant workflow is cruel and unusual. GHC is a great compiler, but should actively be discouraged from monopolizing the associated tooling and documentation chains. There is evidence of healthy open-source competition and significant gains to be had, and Haskell runs the risk of missing out. -------------- next part -------------- An HTML attachment was scrubbed... URL: From storm at cwi.nl Wed Sep 28 20:17:25 2016 From: storm at cwi.nl (Tijs van der Storm) Date: Wed, 28 Sep 2016 20:17:25 +0000 Subject: [Haskell] SPLASH'16 Amsterdam CFP: early registration ends Sept 30 Message-ID: ################################################# ACM Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH'16) ################################################# Amsterdam, The Netherlands Sun 30th October - Fri 4th November , 2016 http://2016.splashcon.org https://twitter.com/splashcon https://www.facebook.com/SPLASHCon/ ** REGISTRATION ** 30 September 2016 (Early Deadline) Contact: info at splashcon.org http://2016.splashcon.org/attending/registration # What's happening at SPLASH? ## Keynotes - Benjamin Pierce (SPLASH) The Science of Deep Specification - Andy Ko (SPLASH) A Human View of Programming Languages - Martin Odersky (SPLASH) - Guy Steele Jr. (SPLASH-I) - Robby Findler (SLE) Redex: Lightweight Semantics Engineering - Tiark Rompf (GPCE) Lightweight Modular Staging: Generate all the things! - Simon Peyton Jones (SPLASH-I/E) The dream of a lifetime: shaping how our children learn computing - Laurence Tratt (Scala) Fine-grained language composition without a common VM - Jan Vitek (Scala) This is not a Type: Gradual typing in practice ## Workshop Keynotes - Andrew Black (NOOL) The Essence of Inheritance - Alan Blackwell (PLATEAU) How to Design a Programming Language - Felienne Hermans (DSLDI) Small, simple and smelly: What we can learn from examining end-user artifacts? - Ivano Malavolta (Mobile!) Beyond native apps: Web technologies to the rescue! - Betsy Pepels (ITSLE) Model Driven Software Engineering (MDSE) in the large - Markus Voelter (ITSLE) Lessons Learned about Language Engineering from the Development of mbeddr - Beverly Sanders (SEPS) Patterns for Parallel Programming: New and Improved! ** Conference Program ** http://2016.splashcon.org/program/program-splash-2016 ** SPLASH-I Track ** SPLASH-I is a series of invited and solicited talks that address topics relevant to the SPLASH community. Speakers are world-class experts in their field, selected and invited by the organizers. The SPLASH-I talks series is held in parallel with the rest of SPLASH during the week days. Talks are open to all attendees. A selection of confirmed talks: - Edwin Brady Type-driven Development in Idris - Jürgen Cito Using Docker Containers to Improve Reproducibility in PL/SE Research - Yvonne Coady Exploratory Analysis in Virtual Reality: The New Frontier - Adam Chlipala Rapid Development of Web Applications with Typed Metaprogramming in Ur/Web - Tudo Girba Software Environmentalism - Robert Grimm Adventures in Software Evolution - Brian Harvey Snap! Scheme Disguised as Scratch - Lennart Kats Responsive Language Tooling For Cloud-based IDEs - Ralf Laemmel The basic skill set of software language engineering - Crista Lopes Simulating Cities: The Spacetime Framework - Heather Miller Language Support for Distributed Systems - Mark Miller & Bill Tulloh The elements of decision alignment: Large programs as complex organizations - Boaz Rosenan & David Lorenz Define Your App, Don’t Implement It: Building a Scalable Social Network in 45 minutes - Emmanuel Schanzer Bootstrap - Chris Seaton Truffle and Graal: Fast Programming Languages With Modest Effort - Emma Söderbergh From Tricorder to Tricium: Useful Static Analysis and the Importance of Workflow Integration - Emma Tosch Designing and Debugging Surveys with SurveyMan - Todd Veldhuizen Fast Datalog - Markus Völter How Domain Requirements Shape Languages - Jos Warmer Making Mendix Meta Model Driven - Andy Zaidman Fact or fiction? What software analytics can do for us (developers and researchers) More information here: http://2016.splashcon.org/track/splash-2016-splash-i#program ** Research tracks - OOPSLA http://2016.splashcon.org/track/splash-2016-oopsla#event-overview - Onward! http://2016.onward-conference.org/track/onward-2016-papers#event-overview - Onward! Essays http://2016.onward-conference.org/track/onward2016-essays#program - Software Language Engineering (SLE) http://conf.researchr.org/track/sle-2016/sle-2016-papers#event-overview - Generative Programming: Concepts & Experiences (GPCE) http://conf.researchr.org/track/gpce-2016/gpce-2016-papers#event-overview - Dynamic Languages Symposium (DLS) http://conf.researchr.org/track/dls-2016/dls-2016-papers#event-overview - Scala Symposium http://conf.researchr.org/track/scala-2016/scala-2016#event-overview ** Other Events - Doctoral Symposium http://2016.splashcon.org/track/splash-2016-ds#event-overview - Programming Language Mentoring Workshop (PLMW) http://2016.splashcon.org/track/splash-2016-plmw - Student Research Competition (SRC) http://2016.splashcon.org/track/splash-2016-src - Posters http://2016.splashcon.org/track/splash-2016-posters#event-overview ** Workshops SPLASH'16 is hosting a record number of 15 workshops: - AGERE! Programming based on Actors, Agents, and Decentralized Control http://2016.splashcon.org/track/agere2016 - DSLDI: Domain-Specific Language Design and Implementation http://2016.splashcon.org/track/dsldi2016 - DSM: Domain-Specific Modeling http://2016.splashcon.org/track/dsm2016 - FOSD: Feature-oriented Software Development http://www.fosd.net/workshop2016 - ITSLE: Industry Track Software Language Engineering http://2016.splashcon.org/track/itsle2016 - LWC at SLE: Language Workbench Challenge http://2016.splashcon.org/track/lwc2016 - META http://2016.splashcon.org/track/meta2016 - Mobile! http://2016.splashcon.org/track/mobile2016 - NOOL: New Object-Oriented Languages http://2016.splashcon.org/track/nool2016 - PLATEAU: Evaluation and Usability of Programming Languages and Tools http://2016.splashcon.org/track/plateau2016 - Parsing at SLE http://2016.splashcon.org/track/parsing2016 - REBLS: Reactive and Event-based Languages & Systems http://2016.splashcon.org/track/rebls2016 - SA-MDE: Tutorial on MDD with Model Catalogue and Semantic Booster http://2016.splashcon.org/track/samde2016 - SEPS: Software Engineering for Parallel Systems http://2016.splashcon.org/track/seps2016 - VMIL: Virtual Machines and Intermediate Languages http://2016.splashcon.org/track/vmil2016 - WODA: Workshop on Dynamic Analysis http://2016.splashcon.org/track/woda2016 ## SPLASH'16 is kindly supported by the following organizations: - ACM: http://www.acm.org/ - SIGPLAN: http://www.sigplan.org/ - LogicBlox (Gold): http://www.logicblox.com/ - Universal Robots (PLMW, Gold): http://www.universal-robots.com/ - Oracle (Silver): http://www.oracle.com/index.html - TU Delft (Silver): http://tudelft.nl/ - Huawei (Bronze): http://www.huawei.com/en/ - Facebook (Bronze): https://research.facebook.com/ - IBM Research (Bronze): http://www.research.ibm.com/ - Google (Bronze): https://www.google.com - Itemis (Bronze): https://www.itemis.com/en/ - ING (Bronze): https://www.ing.nl Interested in supporting SPLASH'16? See our options here: http://2016.splashcon.org/attending/support-program. -------------- next part -------------- An HTML attachment was scrubbed... URL: From tobias.grosser at inf.ethz.ch Fri Sep 30 05:40:55 2016 From: tobias.grosser at inf.ethz.ch (Tobias Grosser) Date: Fri, 30 Sep 2016 07:40:55 +0200 Subject: [Haskell] PLDI 2017 - Call for Workshops and Tutorials Message-ID: <1475214055.3266316.741569521.63FFD645@webmail.messagingengine.com> *Call for Workshops and Tutorials* ============================= 2017 ACM Conference on Programming Language Design and Implementation (PLDI) June 19-23, 2017 in Barcelona, Spain http://conf.researchr.org/home/pldi-2017 PLDI 2017 will host co-located workshops and tutorials for which it calls for proposals. This year, PLDI is a part of a large cluster of co-located conferences including ECOOP, Curry On, LCTES, ISMM, DEBS and others. Take your chance in addressing the diverse audience of the premier forum in programming language design and implementation by proposing your event. PLDI welcomes prominent events focusing on programming language design theory and practice, for which it can provide guidance in ublishing results in the ACM Digital Library. * Submission guidelines * ===================== http://conf.researchr.org/track/pldi-2017/pldi-2017-workshops-and-tutorials Please submit proposals in plain text to Workshops and Tutorials Chair Aaron Smith . A proposal should provide: * Name of the workshop/tutorial. * Duration of the workshop/tutorial. * Organizers: names, affiliation, contact information, brief (100 words) biography. * A short description (150-200 words) of the topic. * Event format: workshop/tutorial; type of submissions if any; review process; results dissemination; references to previous events. * Expected attendance and target audience within PLDI community. * Important dates * ================ Published Workshops proposals due 28 Nov 2016 Acceptance Notification 9 Dec 2016 Unpublished Workshops and Tutorials proposals due 30 Jan 2017 Workshop and Tutorials held (tentatively) 18, 22, 23 Jun 2017 *Organizing Committee* ==================== http://conf.researchr.org/committee/pldi-2017/pldi-2017-organizing-committee General Chair: Albert Cohen, INRIA, France Program Chair: Martin Vechev, ETH Zurich, Switzerland Workshops & Tutorials Chair: Aaron Smith, University of Edinburgh Organizing Chair: Fernando Orejas, Universitat Politècnica de Catalunya, Spain Publicity Chairs: Adrian Sampson, Cornell, USA Tobias Grosser, ETH Zurich, Switzerland Web Chair: Oleksandr Zinenko, INRIA, France Financial Chair: Louis-Noël Pouchet, Ohio State University, USA Student Travel Chair: Ronald Mak, San Jose State University, USA