From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id B97DA7FDEE for ; Thu, 2 Jun 2016 23:26:18 +0200 (CEST) IronPort-PHdr: 9a23:znC86xwgv/A0+1bXCy+O+j09IxM/srCxBDY+r6Qd0e0WIJqq85mqBkHD//Il1AaPBtWKra8VwLOL7ujJYi8p39WoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6kO74TNaIBjjLw09fr2zQd6DyZnmnLnvptX6WEZhunmUWftKNhK4rAHc5IE9oLBJDeIP8CbPuWZCYO9MxGlldhq5lhf44dqsrtY4q3wD89pozcNLUL37cqIkVvQYSW1+ayFmrPHs4DLKSA/HwnoHTi1CmRNNB03B7Qrmdpb3qCrz8ORnjnq0J8rzGJI5Qzmn/u9aQRvsjz9PYy8w9GXQkuR/iatapFSqoBkpkN2cW52cKPcrJvCVRtgdX2cUG58JDyE= Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=yallop@gmail.com; spf=Pass smtp.mailfrom=yallop@gmail.com; spf=None smtp.helo=postmaster@mail-qk0-f173.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of yallop@gmail.com) identity=pra; client-ip=209.85.220.173; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="yallop@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of yallop@gmail.com designates 209.85.220.173 as permitted sender) identity=mailfrom; client-ip=209.85.220.173; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="yallop@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-qk0-f173.google.com) identity=helo; client-ip=209.85.220.173; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="postmaster@mail-qk0-f173.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0A2AgABpFBXfa3cVdFeg1g4fQavLYsVgXkXC4UmgXsHOhIBAQEBAQEBAREBAQkLCwkhL4Iwgi4RHQEbGAYDEhAPAiYCJAERAQUBIhMIGodyAQMXDqFDggeBMT4xizuBaoJYBYd7ChknDVKDTQwBHAIGEHGJBjyBaoJjBIJpCy0TgkYFiASLM4UAiHiFKIFphE+IZI4NEh6BDyUFgj6BWzsyAQGJNoFEAQEB X-IPAS-Result: A0A2AgABpFBXfa3cVdFeg1g4fQavLYsVgXkXC4UmgXsHOhIBAQEBAQEBAREBAQkLCwkhL4Iwgi4RHQEbGAYDEhAPAiYCJAERAQUBIhMIGodyAQMXDqFDggeBMT4xizuBaoJYBYd7ChknDVKDTQwBHAIGEHGJBjyBaoJjBIJpCy0TgkYFiASLM4UAiHiFKIFphE+IZI4NEh6BDyUFgj6BWzsyAQGJNoFEAQEB X-IronPort-AV: E=Sophos;i="5.26,408,1459807200"; d="scan'208";a="220880295" Received: from mail-qk0-f173.google.com ([209.85.220.173]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 02 Jun 2016 23:26:17 +0200 Received: by mail-qk0-f173.google.com with SMTP id i187so39666642qkd.3 for ; Thu, 02 Jun 2016 14:26:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to :content-transfer-encoding; bh=uPUOQCANPdHgBPb422mao/YkeHCzfcdcyqo6EdvQ+qI=; b=P0hDro4juH2JMz8rrIqW3b9Sttl34KB4y4qlTv/wKnYfmxols1BlYWlTPfB6EicLqe 0G2OS0wV37Vqzwc91SRs5s/yzaiv75sBfE8lK/p1qUQEObW5rG4FvbLZ7lUXHxvsPe1v MkQHaPfLG0wf7ms51JyQcfgYZkkMNGHHDqmzR0Z+H/2vxj7pPlhTBtIdZ6aYfqNJnD9D U1tJM8HVx+hU6xFc1wdD/OvuYdWw/AFJXQFhsfiDsAVwuoCNtKXpYt+8h1z8kjzig7rL BzhjFkYMgW0lib4S1+T/xVUbQ4fhHGuD/1RhfZ8frLUBFoBlkLrEhAnsuB4PnymE2x1j GxGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-transfer-encoding; bh=uPUOQCANPdHgBPb422mao/YkeHCzfcdcyqo6EdvQ+qI=; b=UwHoeOpvCEhBNpkA59b6PQ3RdYumo3BAfOrNWNC2jFbdpjyH00jJ/zQcEMnuKUdfHF zuimWvH3WJdZ466CFhEcHD9P1WoGPk860TxR4yT/kQtnnlkTx3xOD/wdYhecf02gmkeS gIj95ATufu5B6+mJkklzIm2c6NVNhyU+N5kFFbaH944cJunNkwfLMfgOgxltnfgobcBH okmBAZRzofciUIrIEgbYwImtOB60dqYGBwoHTwABXLB/m6QPc/l0Chd9S9m/W9SnDwfT eWsRsfwFWOuZXifdEECO+aj0ocHeK+5BJFkq6lR+fipWMD9EKGRCJfAueEmiYwoXBi/u Deag== X-Gm-Message-State: ALyK8tI0VQsKZ/OGRNPbAgkfRwUainPtrmqrdsQwt22fFKJx5FQtw+2wVs4WcAu/YisrCBHXt+odvvv/0fWicg== MIME-Version: 1.0 X-Received: by 10.55.135.7 with SMTP id j7mr307044qkd.32.1464902776585; Thu, 02 Jun 2016 14:26:16 -0700 (PDT) Received: by 10.55.85.7 with HTTP; Thu, 2 Jun 2016 14:26:16 -0700 (PDT) Date: Thu, 2 Jun 2016 22:26:16 +0100 Message-ID: From: Jeremy Yallop To: Caml List Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Caml-list] International summer school on metaprogramming (Cambridge, 8-12 Aug 2016) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D International summer school on metaprogramming Robinson College, Cambridge, United Kingdom 8th-12th August, 2016 http://www.cl.cam.ac.uk/events/metaprog2016/ =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Metaprogramming is an approach to improving programs by treating program fragments (such as expressions or types) as values that the program can manipulate. Metaprogramming comes in various forms, including * staged programming: treating expressions as program values. The execution of a staged program is spread over several phases, with each stage using the available data to generate specialized code. Staged programming has a wide variety of applications =E2=80=94 numeric computations, parsing, database queries, generic programming, domain specific languages, and many more. Precompiling the staged code can have dramatic performance improvements, in some cases an order of magnitude or more. * generic programming: treating types as program values. Generic programming can improve code flexibility, allowing to give a single definition of a function that operates in a predictable (but not uniform) way on many different types. Generic programming techniques can be used to define a wide variety of functions, including traversals, comparisons, pretty printers, serialization functions, and many more. The goal of the summer school is to explore the state-of-the art in metaprogramming and its applications, covering both theory and practice. -------------------------------------------------------------------- Lecturers and courses Philip Wadler, Sam Lindley and Shayan Najd (University of Edinburgh) Normalisation and embedding Simon Peyton Jones (Microsoft Research) Oleg Kiselyov (Tohoku University) Type-safe embedding and optimizing domain-specific languages in the typed final style Laurence Tratt (Kings College London) The highs and lows of macros in a modern language Jeremy Yallop (University of Cambridge) Staging generic programming Martin Berger (University of Sussex) Foundations of meta-programming Jos=C3=A9 Pedro Magalh=C3=A3es (Standard Chartered) -------------------------------------------------------------------- Prerequisites The school is aimed at graduate students in programming languages and related areas, but is open to researchers, practitioners and strong masters students with the support of a supervisor. Some experience of typed functional programming in Haskell, OCaml, Scala, or a similar language will be assumed. -------------------------------------------------------------------- Costs Thanks to generous industrial sponsorship, we are able to offer places with significantly reduced fees. There are three categories of fees, all of which cover registration, accommodation in Robinson College from Monday to Friday, and all meals and refreshments. Participants who can pay the full fees will help allocate more fully-subsidised slots to less financially-able students. Your category of fees will not have any direct bearing on your acceptance into the school, but could affect how many slots we can offer. * The full fee is =C2=A3800. * The standard (partly-subsidised) fee is =C2=A3295. * We also have a limited number of fully-subsidised places available for a nominal registration fee of =C2=A350. We will notify you of your fee upon acceptance. -------------------------------------------------------------------- Application procedure You will need to complete the online registration form at: http://www.cl.cam.ac.uk/events/metaprog2016/application.html and ensure your referees send your references to: metaprog-2016@cl.cam.ac.uk by the application deadline. TIMETABLE * 30 June: Application and reference letters deadline. * 10 July: Notification of acceptance. * 24 July: Registration deadline. * 8 August: Summer school. -------------------------------------------------------------------- Further information For questions relating to the material of the school, please contact Jeremy Yallop (jeremy.yallop@cl.cam.ac.uk) Ohad Kammar (ohad.kammar@cs.ox.ac.uk) For administrative questions, please contact Gemma Gordon (gg417@cl.cam.ac.uk)