<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:dc="http://purl.org/dc/terms" xmlns:gAcl="http://schemas.google.com/acl/2007"><id>https://sites.google.com/feeds/content/site/edlambda</id><updated>2022-05-25T22:09:46.809Z</updated><title>Posts of Coming Up</title><link rel="alternate" type="text/html" href="http://sites.google.com/feeds/content/site/edlambda" /><link rel="next" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda?start-index=26&amp;parent=8249772133069433496&amp;kind=announcement" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda" /><link rel="http://schemas.google.com/g/2005#post" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda" /><link rel="http://schemas.google.com/g/2005#batch" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/batch" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda?parent=8249772133069433496&amp;kind=announcement" /><generator version="1" uri="https://sites.google.com">Google Sites</generator><openSearch:startIndex>1</openSearch:startIndex><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/1563452221145201279</id><published>2018-11-05T19:50:33.842Z</published><updated>2018-11-05T19:50:33.847Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2018-11-05T19:50:33.837Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>15.11.2018 - Divide, conquer, choose, ap and alt... et Empera</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><b>Title</b>: Divide, conquer, choose, ap and alt... et Empera<div><b><br /></b></div><div><b>Speaker</b>: Sam Halliday</div><div><b><br /></b></div><div><b>When/where</b>: Thursday 15th November, 7pm, St Andrews Brewing Co. Outhouse (The Outhouse <span style="background-color:transparent;font-size:10pt">pub) Edinburgh.</span></div><div><span style="background-color:transparent">https://goo.gl/maps/FYZ3pxNDPi42</span></div><div><span style="background-color:transparent"><br /></span></div><div><span style="background-color:transparent"><b>Abstract</b></span></div><div><span style="background-color:transparent"><br /></span></div><div><span style="background-color:transparent"><div>Automatically derive functionality (i.e. typeclasses) for domain objects <span style="background-color:transparent;font-size:10pt">(i.e. data types) with a novel approach based on the Haskell </span><span style="background-color:transparent;font-size:10pt">typeclassopedia. This talk uses Scalaz, is suitable for any lambda inclined </span><span style="background-color:transparent;font-size:10pt">developer, and has potential applications to other FP languages. It is an </span><span style="background-color:transparent;font-size:10pt">excerpt from https://leanpub.com/fpmortals</span></div></span></div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/15112018-divideconquerchooseapandaltetempera" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/1563452221145201279" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/1563452221145201279" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/1563452221145201279" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>15112018-divideconquerchooseapandaltetempera</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/4136661535036881932</id><published>2018-09-11T08:51:48.592Z</published><updated>2018-09-11T08:51:48.596Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2018-09-11T08:51:48.588Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>09.10.2018 - Elm: Taming the Wild West Web using Functional Programming, Rupert Smith</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div><b>Title</b>: Elm: Taming the Wild West Web using Functional Programming</div><div><b>Speaker</b>:<span name="Rupert Smith"> Rupert Smith</span></div><div>9th October 2018, The Outhouse pub, 7pm.</div><div><br /></div><div><b>Abstract</b></div><div><br /></div><div>Rupert will introduce the Elm programming language, comparing it with 
other well known FP languages. The strengths of FP will be examined by 
looking at examples of Elm programs used to build <i>single page applications</i> for the web. There will also be a quick tour of some of the libraries available and the people and businesses involved with Elm.</div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/09102018-elmtamingthewildwestwebusingfunctionalprogrammingrupertsmith" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/4136661535036881932" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/4136661535036881932" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/4136661535036881932" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>09102018-elmtamingthewildwestwebusingfunctionalprogrammingrupertsmith</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/8531011718547394627</id><published>2018-08-20T17:26:56.731Z</published><updated>2018-08-20T17:26:56.738Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2018-08-20T17:26:56.725Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>11.09.2018 - From WebAssembly to Native Code via the OCaml Backend</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div><b>Speaker</b>: Simon Fowler, University of Edinburgh<br /></div><div><b>Location</b>: The Outhouse pub, 7pm, 11th September 2018<br /></div><div><b>Title</b>: cmm_of_wasm: From WebAssembly to Native Code via the OCaml Backend<br /></div><div><br /></div><div><b>Abstract</b></div><div><br /></div><div>WebAssembly is a low-level yet platform-independent language designed<br />to replace JavaScript as a compilation target for web applications.<br />WebAssembly has been billed as "Neither Assembly, nor just for the<br />Web", but the main production implementations are JIT compilers<br />implemented in web browsers. As the WebAssembly specification evolves<br />to incorporate new features such as garbage collection and threads,<br />and with plans to support more advanced features such as handlers for<br />algebraic effects on the horizon, it becomes important to prototype<br />new features without having to modify complex browser code.<br /><br />In this talk, I will describe cmm_of_wasm, a feature-complete<br />ahead-of-time compiler which compiles WebAssembly to native code via<br />a translation to OCaml's CMM intermediate representation. I will give<br />a tutorial introduction to WebAssembly, discuss challenges which<br />arise both due to the design of WebAssembly and the choice of CMM as<br />a compilation target, and discuss a roadmap for future work.<br /></div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/11092018-fromwebassemblytonativecodeviatheocamlbackend" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/8531011718547394627" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8531011718547394627" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8531011718547394627" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>11092018-fromwebassemblytonativecodeviatheocamlbackend</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/4481074344056872553</id><published>2017-07-04T15:55:52.353Z</published><updated>2017-07-04T15:55:52.359Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2017-07-04T15:55:52.348Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>11.07.2017 - F# for Profit and Fun</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><b>Who</b> Iain Nicol <div><b>When </b>19:30, Tuesday<b> </b>11th July</div><div><b>Where </b>Skyscanner, 15 Lauriston Place</div><div><br /></div><div><b>Title</b> F# for Profit and Fun</div><div><b><br /></b></div><div><b>Abstract</b></div><div><br /></div>We share some insights, frustrations, and joys, as a professional F# functional programmer in fintech. From a background of C# and Haskell, F# is an interesting proposition. In particular we will explore some killer features such as QuickCheck and code quotations.<div><br /></div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/11072017-fforprofitandfun" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/4481074344056872553" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/4481074344056872553" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/4481074344056872553" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>11072017-fforprofitandfun</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/4233072154057173998</id><published>2017-05-01T09:38:18.369Z</published><updated>2017-05-01T09:38:18.373Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2017-05-01T09:38:18.365Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>09.05.2017 - Type-driven Development with Idris</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><b>Who</b>: Edwin Brady<br /><b>Where</b>: Skyscanner, 15 Lauriston Place<br /><b>When</b>: 7:30pm, Tuesday 9th May, 2017<div><br /><b>Title</b>: Type-driven Development with Idris<br /><br /><b>Abstract</b><div><br /><div>This talk will be about the book "Type-driven Development with Idris" (https://www.manning.com/books/type-driven-development-with-idris), recently published by Manning, and there will be an opportunity to win a copy.</div><div><br /></div><div>Idris is a general purpose functional programming language with first-class dependent types, building on state-of-the-art techniques in programming language research. Idris aims to make type-based program verification techniques accessible to programming practitioners while supporting efficient systems programming via an optimising compiler and interaction with external libraries.</div><div><br /></div><div>In this talk, I'll use a series of examples to show how Idris can be used for verifying realistic and important properties of software, from simple properties such as array bounds checking, to more complex properties of networked and concurrent systems.</div></div></div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/09052017-type-drivendevelopmentwithidris" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/4233072154057173998" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/4233072154057173998" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/4233072154057173998" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>09052017-type-drivendevelopmentwithidris</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YD4peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/2948325266681803721</id><published>2012-09-26T15:28:13.106Z</published><updated>2016-07-18T20:27:32.949Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-29T17:51:35.453Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>May meetup - 08/05/2012</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div dir="ltr"><div><i>Speakers</i>: Prabhat Totoo, Pantazis Deligiannis &amp; Hans-Wolfgang Loidl</div><div><i>Title</i>: <b>Haskell vs. F# vs. Scala: High-level Language Features and Parallelism Support</b><div><br /></div><div><b><i>* Update: here are the slides from the talk: <a href="http://www.slideshare.net/pt114/haskell-vs-f-vs-scala">http://www.slideshare.net/pt114/haskell-vs-f-vs-scala</a> *</i></b></div><div><b><i>* And the paper: <a href="http://www.macs.hw.ac.uk/~dsg/gph/papers/pdf/fhpc12.pdf">http://www.macs.hw.ac.uk/~dsg/gph/papers/pdf/fhpc12.pdf</a> *</i></b></div><div><br /></div><div><div><i>Abstract</i></div><div>---</div><div><div>We
 will outline a recent study that provides a performance and 
programmability comparison of parallel programming support in Haskell, 
F# and Scala. Emphasis is given on advanced language features such as 
purity, evaluation order, and integration of functional aspects 
into imperative and object-oriented languages. The expressive power of 
each language is analysed, especially regarding their support 
for parallelism. We quantify parallel performance and assess 
succinctness and modularity of the code.</div></div><div>---</div><div><br /></div><div>This meetup:</div><div>Date: 8th May</div><div>Time: 7pm</div><div>Location: Outhouse Pub, upstairs</div></div></div></div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/maymeetup-08052012" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/2948325266681803721" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/2948325266681803721" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/2948325266681803721" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>maymeetup-08052012</sites:pageName><sites:revision>2</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/6294299615567800156</id><published>2013-02-07T02:14:57.302Z</published><updated>2016-07-18T20:27:32.876Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-07T02:14:57.296Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>February Meetup - 12.02.2013</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div>;; First talk </div><div><br /></div><div><b>Speaker</b>: Szymon Jachim </div><div><b>Title</b>: BAYSICK - an embedded Insane-specific Language for Scala </div><div>implementing a subset of BASIC </div><div><b>Abstract</b>: </div><div>Scala is considered as one of the candidates for the Next Big </div><div>Language, while BASIC was the First Programming Language for many of </div><div>us. This short talk will show you the implementation of BASIC as an </div><div>internal DSL in Scala. While commercial usefulness of it is dubious, </div><div>Baysick is a neat example of some of the interesting features of Scala </div><div>and brings back childhood (8-bit) memories like madeleine cake in </div><div>Proust's novel. </div><div><br /></div><div>;; Second talk </div><div><br /></div><div><b>Speaker</b>: Paul Richards </div><div><b>Title</b>: Functions all the way down - An introductory frolic with Church </div><div>Encodings. </div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/februarymeetup-12022013" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/6294299615567800156" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/6294299615567800156" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/6294299615567800156" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>februarymeetup-12022013</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YD4peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/2944332131534689180</id><published>2015-09-28T18:26:39.164Z</published><updated>2016-07-18T20:27:32.870Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2015-09-28T18:27:44.944Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>13.10.2015 - optimising &amp; scaling parallel Haskell</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div><span style="font-size:13.3333330154419px;line-height:16.6666660308838px"><b>Title</b> Profiling, optimising, parallelising and distributing Haskell code</span></div><div><b>When</b> Tuesday 13th October.</div><div><b>Where</b> The Outhouse pub, at 7pm.</div><div><b>Speaker</b> Rob Stewart</div><div><br /></div><div><div>I'll talk about those rare occasions when you <span style="line-height:1.25;font-size:10pt;background-color:transparent">don't just want to write Haskell programs,</span></div><div><span style="line-height:1.25;font-size:10pt;background-color:transparent">but you also want to run </span><span style="line-height:1.25;font-size:10pt;background-color:transparent">them... and as quickly as possible. I'll cover code profiling and</span></div><div><span style="line-height:1.25;font-size:10pt;background-color:transparent">optimisation, and go through the various ways to write parallel, and </span><span style="line-height:1.25;font-size:10pt;background-color:transparent">distributed, Haskell</span></div><div><span style="line-height:1.25;font-size:10pt;background-color:transparent">programs.</span></div></div><div><br /></div><div><br /></div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/13102015-optimisingscalingparallelhaskell" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/2944332131534689180" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/2944332131534689180" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/2944332131534689180" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>13102015-optimisingscalingparallelhaskell</sites:pageName><sites:revision>2</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/6229979140494918121</id><published>2012-09-26T15:28:37.152Z</published><updated>2016-07-18T20:27:32.853Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-26T15:28:37.147Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>June meetup - 05/06/2012</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div dir="ltr"><pre>Speaker: Jeremy Singer, University of Glasgow</pre><pre>Title: Controlling Heap Size in Poly/ML</pre><pre>Abstract:</pre><pre>Typical theorem-proving workloads on the Poly/ML [1] runtime system
may execute for several hours, occupying multi-gigabyte heaps.
The heap size may be fixed at execution startup time, or it may be
allowed to vary dynamically. To date, runtime heap size growth
has been implemented using simple hard-coded heuristics.
In this talk, I will argue that a mathematically rigorous approach
to heap sizing, based on control theory, is more appropriate.</pre><pre><br /></pre><pre>1 - <a href="http://www.polyml.org/FAQ.html">http://www.polyml.org/FAQ.html</a></pre></div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/junemeetup-05062012" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/6229979140494918121" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/6229979140494918121" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/6229979140494918121" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>junemeetup-05062012</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YD4peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/935279386076451346</id><published>2014-11-16T22:13:56.121Z</published><updated>2016-07-18T20:27:32.674Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2014-11-18T10:19:01.258Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>26.11.2014 - Scalable Erlang and Functional Java 8</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr">Two talks:<br /><br /><b>1. Kenneth MacKenzie.<br />Title: RELEASE: scaling to Erlang to 10,000 cores and beyond.</b><br />Abstract<br />Erlang is a well-known concurrency-oriented functional programming<br />language which has been used to build large and highly-reliable<br />distributed software systems. However, some difficulties arise on<br />very large platforms; the RELEASE project aims to overcome these and<br />enable Erlang to scale smoothly to systems involving many thousands of<br />cores. I'll give an introduction to the basics of Erlang and then describe<br />some of the scalability challenges that arise on large hardware<br />systems, and how we're attempting to tackle them. No prior knowledge<br />of Erlang will be assumed! <a href="http://www.release-project.eu/">http://www.release-project.eu/</a><br /><br /><b>2. Mike Borozdin<br />Title: Functional features in Java 8</b><br />Abstract<br />Java 8 has many interesting new features. Undoubtedly, the most exciting one out of them is functional programming. In this talk, we will see practical examples of how functional programming features in Java 8 enable you to write code in a more concise and declarative manner. We will also cover the new functionality that makes it possible – Stream API, lambda expressions, default methods, and so on.</div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/26112014-scalableerlangandfunctionaljava8" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/935279386076451346" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/935279386076451346" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/935279386076451346" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>26112014-scalableerlangandfunctionaljava8</sites:pageName><sites:revision>2</sites:revision></entry><entry gd:etag="&quot;YD4peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/537478458442556631</id><published>2013-10-03T15:53:47.447Z</published><updated>2016-07-18T20:27:32.620Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-11-15T15:05:18.086Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>October meetup: 08.10.2013</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div>Who: Edwin Brady</div><div>When: Tuesday 8th October</div><div>Title: "State, interaction and side-effecting programs in Idris"</div><div><br /></div><div>Abstract:</div><div>Idris (http://idris-lang.org) is a general-purpose purely functional</div><div>programming language with dependent types. In a talk at EdLambda last</div><div>year, I gave an introduction to the language showing how to implement</div><div>small functions, prove their correctness, and gave a larger example of</div><div>a well-typed interpreter for the lambda calculus.</div><div><br /></div><div>In this talk, I will present some recent work on Idris which gives a</div><div>more practical example of these techniques. I will show how we can use</div><div>dependent types to implement and reason about side-effecting programs,</div><div>with a clear and usable API, illustrated using a "Space Invaders"</div><div>style game.</div><div><br /></div><div><b><i>Update</i></b>: Edwin's slides are: <a href="http://www.edlambda.co.uk/files-and-downloads/EdwinBrady-Idris-Effects.pdf?attredirects=0">here</a>.</div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/octobermeetup08102013" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/537478458442556631" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/537478458442556631" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/537478458442556631" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>octobermeetup08102013</sites:pageName><sites:revision>2</sites:revision></entry><entry gd:etag="&quot;YD4peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/5335835304190613714</id><published>2011-10-17T18:22:03.370Z</published><updated>2016-07-18T20:27:32.513Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-01T09:24:29.280Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>November Meetup - 08/11/2011</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr">The November meetup will be given by Andrew Forrest and will be about a prototype of a next generation spreadsheet implemented in Scala.  As usual join us at 7pm in the Outhouse.<div><br /></div><div>We are still looking for speakers for <strike>December</strike>  January and onward, so <a href="http://www.edlambda.co.uk/subscribe">get in touch</a> if you want to volunteer.<br /><div><br /></div></div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/novembermeetup-08112011" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/5335835304190613714" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/5335835304190613714" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/5335835304190613714" /><author><name>Paul Richards</name><email>paul.richards@gmail.com</email></author><sites:pageName>novembermeetup-08112011</sites:pageName><sites:revision>2</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/7351150703973051232</id><published>2014-06-17T10:24:06.434Z</published><updated>2016-07-18T20:27:32.441Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2014-06-17T10:24:06.430Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>17.06.2014: Sam Lindley "Handlers in Action"</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div>Sam Lindley is giving this month's EdLambda talk on Tuesday 17th at 7pm</div><div>at The Outhouse pub. It'll be based with Ohad Kammar and Nicolas Oury:</div><div>"Handlers in action". Sam will probably focus mostly on examples from</div><div>their Haskell effect handler library, perhaps with some live hacking.</div><div><br /></div><div>Abstract</div><div>---</div><div>Plotkin and Pretnar’s handlers for algebraic effects occupy a sweet spot</div><div>in the design space of abstractions for effectful computation. By</div><div>separating effect signatures from their implementation, algebraic</div><div>effects provide a high degree of modularity, allowing programmers to</div><div>express effectful programs independently of the concrete interpretation</div><div>of their effects. A handler is an interpretation of the effects of an</div><div>algebraic computation. The handler abstraction adapts well to multiple</div><div>settings: pure or impure, strict or lazy, static types or dynamic types.</div><div><br /></div><div>This is a position paper whose main aim is to popularise the handler</div><div>abstraction. We give a gentle introduction to its use, a collection of</div><div>illustrative examples, and a straightforward operational semantics. We</div><div>describe our Haskell implementation of handlers in detail, outline the</div><div>ideas behind our OCaml, SML, and Racket implementations, and present</div><div>experimental results comparing handlers with existing code.</div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/17062014samlindleyhandlersinaction" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/7351150703973051232" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/7351150703973051232" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/7351150703973051232" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>17062014samlindleyhandlersinaction</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/4101707418295147153</id><published>2013-12-04T21:45:49.639Z</published><updated>2016-07-18T20:27:32.367Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-12-04T21:45:49.634Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>December meetup: 10.12.2013</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div>When: 7pm, 10th December @ Outhouse pub</div><div>Title: "PouchDB and Second System Syndrome"</div><div>Abstract</div><div>---</div><div>PouchDB is a full re-implementation of CouchDB in JavaScript, I will</div><div>talk about why that isn't a completely insane idea, the differences</div><div>between an Erlang and JS codebase, and some things in between.</div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/decembermeetup10122013" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/4101707418295147153" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/4101707418295147153" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/4101707418295147153" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>decembermeetup10122013</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YDgpeyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/8317105443109538092</id><published>2013-11-08T13:44:44.990Z</published><updated>2016-07-18T20:27:32.125Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-11-15T15:09:13.748Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>November meetup: 12.11.2013</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div><b>Who: </b>Neil Ghani</div><div><b>Title</b>: State Of the Art in Data Types</div><div><b>Abstract</b>: I'll give a little overview talk about how data types are</div><div>handled in functional programming languages and the underlying ideas.</div><div>I'll take us from the simplest of the data types to the current state</div><div>of the art and demonstrate the power of the underlying ideas by</div><div>showing how they cope with whatever we throw at them. If time permits</div><div>I'll also tell you about "Beheading" which is a lovely construction.</div><div><br /></div><div><b>When &amp; where</b>: Tuesday 12th November. 7pm at the Outhouse pub.</div><div><br /></div><div><b><i>Update</i></b>: Neil's slides are: <a href="http://www.edlambda.co.uk/files-and-downloads/NeilGhani-Data-Types.pdf?attredirects=0">here</a>.</div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/12112013stateoftheartindatatypes" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/8317105443109538092" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8317105443109538092" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8317105443109538092" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>12112013stateoftheartindatatypes</sites:pageName><sites:revision>4</sites:revision></entry><entry gd:etag="&quot;YDspeyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/145351557459015831</id><published>2011-10-26T19:07:01.241Z</published><updated>2016-07-18T20:27:32.106Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-02T05:46:26.200Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>January Meetup - 17/01/2012</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><b><i>January's meetup will be on the 3rd Tuesday of the month (not the 2nd as normal).</i></b><br /><br />The January talk (previously planned for December) will be given by Patrick Maier and will be about his work on distributed-memory parallel Haskell.  As usual you can join us from 7pm in the Outhouse.<br /><br />If you are unable to make EdLambda then Patrick will also be presenting at the <a href="http://www.dcs.gla.ac.uk/research/spls/">SPLS</a> on November 11th.<br /><br />We are looking for presenters for February and onwards, so <a href="http://www.edlambda.co.uk/subscribe">get in touch</a> if you are interested in speaking.<br /></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/januarymeetup-17012012" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/145351557459015831" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/145351557459015831" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/145351557459015831" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>januarymeetup-17012012</sites:pageName><sites:revision>7</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/8014253216861939202</id><published>2012-09-26T16:02:43.868Z</published><updated>2016-07-18T20:27:32.033Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-26T16:02:43.862Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>October Meetup - 02.10.2012</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr">Who: Edwin Brady<br />When: Tuesday 2nd October, 7pm.<div>Title: Idris - a language with dependent types<br /><br />Abstract<br />---<br />Idris (<a href="http://idris-lang.org/">http://idris-lang.org</a>) is a general purpose pure functional programming language with dependent types. Dependent types allow types to be predicated on values, meaning that some aspects of a program’s behaviour can be specified precisely in the type, and verified by type checking.<br /><br />Idris syntax is heavily influenced by Haskell, and features include type classes, records, and overloadable syntax. In this talk, I'll give a brief tour of dependently typed programming in Idris, by demonstration. In particular, I will show how Idris can be used to implement verifed domain specific languages.</div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/octobermeetup-02102012" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/8014253216861939202" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8014253216861939202" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8014253216861939202" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>octobermeetup-02102012</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YD4peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/7335523403997556295</id><published>2013-03-04T11:16:52.161Z</published><updated>2016-07-18T20:27:32.023Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-11-15T15:06:34.821Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>March meetup: 12.03.2013</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><font color="#000000" face="arial, sans-serif">Who: Conor McBride</font><div><font color="#000000" face="arial, sans-serif">When: 7pm, 12th March</font></div><div><font color="#000000" face="arial, sans-serif">Where: The Outhouse pub</font></div><div><font color="#000000" face="arial, sans-serif"><br /></font></div><div><font color="#000000" face="arial, sans-serif">Title: <span style="font-size:small;line-height:normal">"</span><span style="font-size:small;line-height:normal">Totally Live Coprogramming"</span></font></div><div><span style="font-size:small;line-height:normal"><font color="#000000" face="arial, sans-serif"><br /></font></span></div><div><span style="font-size:small;line-height:normal"><font color="#000000" face="arial, sans-serif">Abstract</font></span></div><div><span style="font-size:small;line-height:normal"><font color="#000000" face="arial, sans-serif">---</font></span></div><div><font color="#000000" face="arial, sans-serif"><span style="font-size:small;line-height:normal">Total programming is too often characterised by the idea that</span><br style="font-size:small;line-height:normal" /><span style="font-size:small;line-height:normal">"programs must eventually stop". But there's another side to totality,</span><br style="font-size:small;line-height:normal" /><span style="font-size:small;line-height:normal">in which "coprograms can always go". I'll talk about how to guarantee</span><br style="font-size:small;line-height:normal" /><span style="font-size:small;line-height:normal">system properties such as "liveness" and even "fairness" by strong</span><br style="font-size:small;line-height:normal" /><span style="font-size:small;line-height:normal">typing disciplines, and show you what I'm talking about with a bit of</span><br style="font-size:small;line-height:normal" /><span style="font-size:small;line-height:normal">livecoding (language still to be selected; perhaps language still to</span><br style="font-size:small;line-height:normal" /><span style="font-size:small;line-height:normal">be implemented). The alleged Turing incompleteness of total languages</span><br style="font-size:small;line-height:normal" /><span style="font-size:small;line-height:normal">will emerge as something of an exaggeration. I'll be frank about the</span><br style="font-size:small;line-height:normal" /><span style="font-size:small;line-height:normal">shortcomings of current totality checking disciplines, but guardedly</span><br style="font-size:small;line-height:normal" /><span style="font-size:small;line-height:normal">optimistic about current developments in that respect.</span></font></div><div><br /></div><div><b><i>Update</i></b>: Conor's slides are: <a href="http://www.edlambda.co.uk/files-and-downloads/ConorMcBride-CoProgramming.tar.gz?attredirects=0">here</a>.</div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/marchmeetup12032013" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/7335523403997556295" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/7335523403997556295" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/7335523403997556295" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>marchmeetup12032013</sites:pageName><sites:revision>2</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/8735997493645212127</id><published>2013-05-13T15:34:14.428Z</published><updated>2016-07-18T20:27:31.971Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-13T15:34:14.423Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>May meetup: 14.05.2013</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">When: 14th May, 7pm at The Outhouse</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">Speaker: Steven Obua</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">Title: Versioning and Access Control in ProofPeer</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">Abstract</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">--</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">ProofPeer (</span><a href="http://proofpeer.net/" style="color:rgb(17,85,204);font-family:monospace;font-size:small;line-height:normal" target="_blank">http://proofpeer.net</a><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">) is a system in the making for</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">collaborative theorem proving. It runs on top of Google App Engine and</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">implements its own scalable version control and access control</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">mechanisms. I will talk about these mechanisms which are inspired by</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">Git but result in a (hopefully) drastically simplified experience that</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">is targeted at people interested in theorem proving, e.g.</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">mathematicians.</span></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/maymeetup14052013" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/8735997493645212127" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8735997493645212127" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8735997493645212127" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>maymeetup14052013</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/6118990350022882369</id><published>2015-01-20T17:39:14.937Z</published><updated>2016-07-18T20:27:31.846Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2015-01-20T17:39:14.934Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>10.02.2015 - Web programming with F#</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div>When: 10th February, 2015</div><div>Who: Simon Fowler, University of Edinburgh</div><div>Title: Functional Web Programming in Links and F#</div><div><br /></div><div>Functional programming has been shown to be a good fit for web</div><div>development. The Links functional web programming language</div><div>developed by Cooper, Lindley, Wadler and Yallop at the University</div><div>of Edinburgh allows client, server, and database code to be</div><div>written in a single language, while providing abstractions such</div><div>as formlets to allow form data to be retrieved in a structured,</div><div>elegant and type-safe manner. More recently, these ideas have</div><div>been picked up and expanded upon in IntelliFactory's WebSharper</div><div>web framework, which embeds many of the concepts in the .NET</div><div>functional-first language F#.</div><div><br /></div><div>In this talk, I'll take a look at Links and WebSharper, comparing</div><div>the approaches taken by each. In doing so, I'll explore some of</div><div>the language features of F# which make the embedding possible,</div><div>revisit some web abstractions such as Formlets, and talk about</div><div>some more recent abstractions such as Piglets (yes, Piglets).</div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/10022015-webprogrammingwithf" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/6118990350022882369" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/6118990350022882369" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/6118990350022882369" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>10022015-webprogrammingwithf</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YDgpeyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/9172859791633763883</id><published>2012-10-22T12:33:10.300Z</published><updated>2016-07-18T20:27:31.836Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-22T12:36:38.437Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>November Meetup - 06.10.2012</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><b>Who</b>: Robert Atkey<br /><b>When</b>: 6th November, 7pm @ The Outhouse pub<br /><br /><b>Title</b>: <b><i>"Theorems for Free"</i></b><br /><div><br /><b>Abstract</b><br />---<br />Static type systems for programming languages have several well-known benefits: the eradication of certain classes of bugs at compile time, the use of types as machine-checked documentation, and the use of types as a high-level design language.<br /><br />A less well-known benefit of static type systems is the automatic derivation of useful properties of programs just from their types. These properties often exploit the uniform behaviour that polymorphic programs have when instantiated at different types. For example, functions that have the (Haskell) type:<br />  <font face="courier new, monospace">h : forall a. [a] -&gt; [a]</font><br />will (nearly (*)) always satisfy the following property:<br /><font face="courier new, monospace">  forall types a, b.<br />     forall f : a -&gt; b.<br />       forall l : [a].<br />         h (map f l) = map f (h l)</font><br /><br />Intuitively, this property holds because 'h' must "act the same" whether the input type is '[a]' or '[b]'. This kind of property can be used to rewrite programs for optimisation purposes, for example.<br /><br />(*) <i>nearly</i>: this gets more complicated when non-termination and 'seq' are taken into account.<br /><br />This property of the function 'h' can be deduced purely from its type alone, without looking at the actual implementation. Hence, Wadler called these properties "Theorems for Free" [1].<br /><br />I'll talk about the different kinds of Theorems for Free that one can obtain, and what uses they can be put to. I'll also talk about some recent work [2] that applies the Theorems for Free idea to programs that manipulate geometric data, providing free theorems that state how the behaviour of programs can be invariant under geometric transformations like scaling, rotating and translation.<br /><br />[1] Wadler, P. "Theorems for Free!"<br /> http://homepages.inf.ed.ac.uk/wadler/papers/free/free.ps<br /><br />[2] Atkey, R., Johann, P., Kennedy, A.. "Abstraction and Invariance for Algebraically Indexed Types"<br /> https://personal.cis.strath.ac.uk/robert.atkey/algebraic-indexed.html</div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/novembermeetup-06102012" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/9172859791633763883" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/9172859791633763883" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/9172859791633763883" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>novembermeetup-06102012</sites:pageName><sites:revision>4</sites:revision></entry><entry gd:etag="&quot;YDkpeyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/7967885284844631312</id><published>2012-09-26T15:29:06.468Z</published><updated>2016-07-18T20:27:31.815Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-07-08T21:15:27.388Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>July meetup - 10.07.2012</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline"><b style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;line-height:normal">Who</b><font color="#222222" face="Arial, Helvetica, sans-serif"><span style="line-height:normal">: </span></font>Sven-Bodo Sholz, SAC do-designer</div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline"><b style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;line-height:normal">When:</b><font color="#222222" face="Arial, Helvetica, sans-serif"><span style="line-height:normal"> </span></font>Tuesday, 10th July, 7pm at the Outhouse pub</div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline"><b style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;line-height:normal">What about</b><font color="#222222" face="Arial, Helvetica, sans-serif"><span style="line-height:normal">: </span></font>Single Assignment C</div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;line-height:normal;text-align:-webkit-auto"><br /></div><b><i>* Update: These are the slides presented at EdLambda: <a href="http://www.macs.hw.ac.uk/~rs46/files/edlambda_talk/sac_edlambda.pdf">http://www.macs.hw.ac.uk/~rs46/files/edlambda_talk/sac_edlambda.pdf</a> *</i></b><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;line-height:normal;text-align:-webkit-auto"><br /></div>What is SAC? According to wikipedia.... "SAC (Single Assignment C) is<br />a strict purely functional programming language which design is<br />focused on the needs of numerical applications. Emphasis is laid on<br />efficient support for array processing." [1]<div style="margin:0px;padding:0px;border:0px;vertical-align:baseline"><font color="#222222" face="Arial, Helvetica, sans-serif"><span style="line-height:normal"><br /></span></font></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline"><font color="#222222" face="Arial, Helvetica, sans-serif"><span style="line-height:normal"><b>Title</b>: </span></font>Aiming for HP3: High-Productivity, High-Performance, and<br />High-Portability</div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;line-height:normal"><br /></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline"><font color="#222222" face="Arial, Helvetica, sans-serif"><span style="line-height:normal"><b>Abstract</b>:</span></font></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline"><font color="#222222" face="Arial, Helvetica, sans-serif"><span style="line-height:normal"><br /></span></font></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline">As a starting point for discussion, I will present SaC<br />and its auto-sequentialising compiler toolchain. I will present some<br />of the underlying design choices that were guided by the desire to<br />offer programmers with a high-level of programming productivity. Being<br />based on C syntax, SaC offers a completely hardware agnostic<br />programming model with n-dimensional array structures at its<br />heart. This enables abstractions similar to what is available in<br />Matlab. In contrast to Matlab, the toolchain of SaC was always aimed<br />at compilation for high-performance executions. We have employed<br />functional principles in order to facilitate radical program<br />transformations that enable our toolchain to transform<br />algorithm-friendly, hardware-agnostic programs into highly optimised,<br />target-hardware-specific form. For several examples from computational<br />science and from computer vision, we could demonstrate very<br />competitive runtimes on a range of architectures including traditional<br />SMPs and GPGPUs. This performance can be obtained without any manual<br />program adjustments despite the vast differences in the target<br />architectures, making code portability a matter of a compiler switch.<div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;line-height:normal"><br /></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;line-height:normal"><br /></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;line-height:normal">[1] - <a href="http://en.wikipedia.org/wiki/SAC_programming_language" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;text-decoration:none;color:rgb(102,17,204)" target="_blank">http://en.wikipedia.org/wiki/SAC_programming_language</a></div></div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/julymeetup-10072012" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/7967885284844631312" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/7967885284844631312" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/7967885284844631312" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>julymeetup-10072012</sites:pageName><sites:revision>5</sites:revision></entry><entry gd:etag="&quot;YD4peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/6802764802648951350</id><published>2012-09-26T15:29:32.583Z</published><updated>2016-07-18T20:27:31.794Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-29T17:53:34.871Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>September meetup - 11.09.2012</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><div dir="ltr"><div>When: 11th September, 7pm @ The Outhouse pub</div><div>Title: Riak, What's all the fuss about?</div><div>Who: Sam Elliot<br /><br /></div><div><b><i>* Update: Here are the slides presented at EdLambda: <a href="https://speakerdeck.com/u/lenary/p/riak-whats-all-the-fuss-about">https://speakerdeck.com/u/lenary/p/riak-whats-all-the-fuss-about</a> *</i></b></div><div><br /></div><div>Abstract</div><div>---</div><div>In
 this talk, I hope to give an introduction to Riak, a Highly-Available 
Distributed Key-Value Store written in Erlang and based on Amazon's 
Dynamo Paper. I'll show the original Dynamo concepts, how they have been
 applied to Riak, and some of the extra features that have been added to
 make Riak more useful to real-world situations. Finally, I'll say 
something about why Erlang was the right language to developer Riak in 
(as opposed to a higher-level functional language or an imperative 
language).</div></div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/septembermeetup-11092012" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/6802764802648951350" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/6802764802648951350" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/6802764802648951350" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>septembermeetup-11092012</sites:pageName><sites:revision>2</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/1718123003408780837</id><published>2015-10-28T09:22:51.936Z</published><updated>2016-07-18T20:27:31.730Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2015-10-28T09:22:51.933Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>12.11.2015 - Overloaded record fields for Haskell</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><b>When</b> Thursday 12th November at 7pm<br /><b>Where</b> Skyscanner's offices, Quartermile One, 15 Lauriston Pl, Edinburgh<br /><b>Who</b> Adam Gundry, Well Typed.<br /><b>Tickets</b> <span style="font-size:13.3333px;line-height:16.6667px">https://www.eventbrite.co.uk/e/adam-gundry-overloaded-record-fields-for-haskell-tickets-19291410127</span><div><span style="font-size:13.3333px;line-height:16.6667px"><br /></span></div><div><span style="font-size:13.3333px;line-height:16.6667px">So that Skyscanner know who they should expect entering their building, please get a free ticket from the EventBrite page.</span></div><div><span style="font-size:13.3333px;line-height:16.6667px"><br /></span><b>Title</b> Overloaded record fields for Haskell<div><br /></div><div><b>Abstract</b><br /><div>A long-standing annoyance when using Haskell for large-scale</div><div>applications has been its rather limited record system.  In particular,</div><div>field names cannot be reused across multiple datatypes, and while the</div><div>record update mechanism is very expressive, it does not compose well.</div><div>Over the years there have been many proposals for better systems, but no</div><div>concrete progress on implementation.</div><div><br /></div><div>This is the story of how I foolishly set out to "solve the records</div><div>problem" over the summer of 2013, and how over two years later I've</div><div>still neither quite succeeded nor failed.  I'll explain the new design</div><div>as it currently stands, showing how it decomposes into not one but three</div><div>separate language extensions, one of which provides interesting new</div><div>possibilities for writing programs that have nothing to do with records.</div><div> While it is always dangerous to predict the future, I'll outline what</div><div>you can and can't expect to see from this work in the upcoming GHC 8.0.</div><div /></div></div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/12112015-overloadedrecordfieldsforhaskell" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/1718123003408780837" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/1718123003408780837" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/1718123003408780837" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>12112015-overloadedrecordfieldsforhaskell</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YD0peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/4456696835800394284</id><published>2014-05-11T22:48:30.187Z</published><updated>2016-07-18T20:27:31.676Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2014-05-11T22:48:30.183Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>13.05.2014: two short talks on Rust and session typed RTSs</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">Talk 1: An experience report with Rust</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">Speaker: Bob Atkey</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">Abstract:</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">Rust is a new language being developed by Mozilla, intended for</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">low-level systems programming, and has an interesting</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">linear/region-based type system for managing stack and heap allocated</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">memory without using a garbage collector, and for safe shared-memory</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">concurrency. I will give a short talk on Rust, based on my experience</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">of one whole afternoon of writing one program in it (plus whatever I</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">manage to do before the next EdLambda).</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">Talk 2: Scaling Runtime Systems with Session Types?</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">Speaker: Rob Stewart</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">Abstract:</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">"Programs + communication = systems" (Simon Gay, Glasgow Uni). Simon</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">and others advocate session types as a verification tool to ensure</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">that planned communication between programs is safe, perhaps to ensure</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">that a protocol is obeyed. Verification, OK. But what else? What about</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">performance? For example, can session types inform distributed runtime</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">systems to help minimise communication costs and hence maximise</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">scalability? I will give a very simple, under-researched and almost</span><br style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal" /><span style="color:rgb(34,34,34);font-family:monospace;font-size:small;line-height:normal">certainly broken idea of what this might look like.</span></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/13052014twoshorttalksonrustandsessiontypedrtss" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/4456696835800394284" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/4456696835800394284" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/4456696835800394284" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>13052014twoshorttalksonrustandsessiontypedrtss</sites:pageName><sites:revision>1</sites:revision></entry><entry gd:etag="&quot;YD8peyY.&quot;"><id>https://sites.google.com/feeds/content/site/edlambda/3462407531748926548</id><published>2016-01-22T10:46:31.067Z</published><updated>2016-07-18T20:27:31.666Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2016-01-22T11:01:58.342Z</app:edited><category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement" /><title>09.02.2016 - Developing a Haskell MOOC</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"><tbody><tr><td class="sites-layout-tile sites-tile-name-content-1"><div dir="ltr"><b>Where</b> Skyscanner's offices, 15 Lauriston Place. Map: <a href="https://goo.gl/n0GYxG">https://goo.gl/n0GYxG</a><div><b>When</b> 6:30pm Tuesday 9th February</div><div><b>Who</b> Jeremy Singer, University of Glasgow</div><div><br /></div><div><b>Title</b> Developing a Haskell MOOC</div><div><br /></div><div><div>The Massive Open Online Course (MOOC) is the latest trend in higher education, exposing university learning and teaching to anyone on the net. At Glasgow, we are developing a MOOC to teach Haskell to non-functional (!) programmers. Our #haskellmooc is due to launch in September 2016. In this talk I will give some background, preview our learning materials and hope to garner feedback from the audience.</div><div><br /></div><div>Link:</div><div>https://glasgowmoocadventures.wordpress.com</div></div><div><br /></div><div><br /></div></div></td></tr></tbody></table></div></content><link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/8249772133069433496" /><link rel="alternate" type="text/html" href="http://sites.google.com/site/edlambda/coming-up/09022016-developingahaskellmooc" /><link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="http://sites.google.com/feeds/revision/site/edlambda/3462407531748926548" /><link rel="self" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/3462407531748926548" /><link rel="edit" type="application/atom+xml" href="http://sites.google.com/feeds/content/site/edlambda/3462407531748926548" /><author><name>Ed Lambda</name><email>edlambda@gmail.com</email></author><sites:pageName>09022016-developingahaskellmooc</sites:pageName><sites:revision>3</sites:revision></entry></feed>
