Skip to main content
Home

Main navigation

  • Home
  • Series
  • People
  • Depts & Colleges
  • Open Education

Main navigation

  • Home
  • Series
  • People
  • Depts & Colleges
  • Open Education

Come and dance with me in Ireland

Series
Designing English: Graphics on the medieval page
Embed
The lyrics of dance songs about love and longing, jotted down without music. MS. Rawl. D. 913, fol. 1r-v. Copied in the early 1300s. Read by Helen Appleton, Daniel Wakelin.

Episode Information

Series
Designing English: Graphics on the medieval page
People
Helen Appleton
Daniel Wakelin
Keywords
literature
designing english
mediieval
english
Department: Bodleian Libraries
Date Added: 16/01/2018
Duration: 00:01:04

Subscribe

Download

If it be played

Series
Designing English: Graphics on the medieval page
Embed
In the play The Burial of Christ, Joseph, Mary Magdalen and three other women cry out when they see Jesus on the Cross. MS. e Musaeo 160, fol. 141r. Copied c. 1518–1520. Read by Helen Appleton, Angela O'Brien, Daniel Sawyer, Wing Tan Lai.

Episode Information

Series
Designing English: Graphics on the medieval page
People
Helen Appleton
Angela O'Brien
Daniel Sawyer
Wing Tan Lai
Keywords
engliag
literature
designing english
medieval
Department: Bodleian Libraries
Date Added: 16/01/2018
Duration: 00:01:31

Subscribe

Download

First entereth Wisdom

Series
Designing English: Graphics on the medieval page
Embed
In the play Wisdom, the devil tempts three godly people into sins – lust and other ‘French fashions’. MS. Digby 133, fol. 158r. Copied in the late 1400s. Read by Arka Chakraborty, Matthew Day, Ben Sims, Daniel Sawyer.

Episode Information

Series
Designing English: Graphics on the medieval page
People
Arka Chakraborty
Matthew Day
Ben Sims
Daniel Sawyer
Keywords
designing english
english
medieval
Department: Bodleian Libraries
Date Added: 16/01/2018
Duration: 00:01:29

Subscribe

Download

Listeneth now and beth not deaf!

Series
Designing English: Graphics on the medieval page
Embed
A travelling preacher recites a poem, warning about the horrors of death. MS. Add. E. 6 (R). Copied in the late 1200s. Read by Daniel Wakelin.

Episode Information

Series
Designing English: Graphics on the medieval page
People
Daniel Wakelin
Keywords
Medieval English
english
literature
religion
Department: Bodleian Libraries
Date Added: 16/01/2018
Duration: 00:01:21

Subscribe

Download

Compiling to Categories

Series
International Conference on Functional Programming 2017
Embed
Conal Elliott, Target, USA, gives the first talk in the fourth panel, Program Construction, on the 2nd day of the ICFP conference.
It is well-known that the simply typed lambda-calculus is modeled by any cartesian closed category (CCC). This correspondence suggests giving typed functional programs a variety of interpretations, each corresponding to a different category. A convenient way to realize this idea is as a collection of meaning-preserving transformations added to an existing compiler, such as GHC for Haskell. This paper describes such an implementation and demonstrates its use for a variety of interpretations including hardware circuits, automatic differentiation, incremental computation, and interval analysis. Each such interpretation is a category easily defined in Haskell (outside of the compiler). The general technique appears to provide a compelling alternative to deeply embedded domain-specific languages.
Creative Commons Licence
Creative Commons Attribution-Non-Commercial-Share Alike 2.0 UK (BY-NC-SA): England & Wales; https://creativecommons.org/licenses/by-nc-sa/2.0/uk/

Episode Information

Series
International Conference on Functional Programming 2017
People
Conal Elliott
Keywords
technology
computing
programming
Department: Department of Computer Science
Date Added: 16/01/2018
Duration: 00:18:14

Subscribe

Download

Local Refinement Typing

Series
International Conference on Functional Programming 2017
Embed
Benjamin Cosman, University of California at San Diego, USA, gives the third talk in the second panel, Tools for Verification, on the 2nd day of the ICFP conference.
Co-written by Ranjit Jhala, University of California at San Diego, USA.

We introduce the FUSION algorithm for local refinement type inference, yielding a new SMT-based method for verifying programs with polymorphic data types and higher-order functions. FUSION is concise as the programmer need only write signatures for (externally exported) top-level functions and places with cyclic (recursive) dependencies, after which FUSION can predictably synthesize the most precise refinement types for all intermediate terms (expressible in the decidable refinement logic), thereby checking the program without false alarms. We have implemented FUSION and evaluated it on the benchmarks from the LiquidHaskell suite totalling about 12KLOC. FUSION checks an existing safety benchmark suite using about half as many templates as previously required and nearly 2x faster. In a new set of theorem proving benchmarks FUSION is both 10 - 50x faster and, by synthesizing the most precise types, avoids false alarms to make verification possible.
Creative Commons Licence
Creative Commons Attribution-Non-Commercial-Share Alike 2.0 UK (BY-NC-SA): England & Wales; https://creativecommons.org/licenses/by-nc-sa/2.0/uk/

Episode Information

Series
International Conference on Functional Programming 2017
People
Benjamin Cosman
Keywords
computing
programming
technology
Department: Department of Computer Science
Date Added: 16/01/2018
Duration: 00:14:17

Subscribe

Download

SpaceSearch: A Library for Building and Verifying Solver-Aided Tools

Series
International Conference on Functional Programming 2017
Embed
Konstantin Weitz (University of Washington, USA) gives the second talk in the second panel, Tools for Verification, on the 2nd day of the ICFP conference.
Co-written by Steven Lyubomirsky, University of Washington, USA, Stefan Heule, Stanford University, USA, Emina Torlak, University of Washington, USA, Michael D. Ernst, University of Washington, USA, Zachary Matlock, University of Washington, USA.

Many verification tools build on automated solvers. These tools reduce problems in a specific application domain (e.g., compiler optimization validation) to queries that can be discharged with a highly optimized solver. But the correctness of the reductions themselves is rarely verified in practice, limiting the confidence that the solver's output establishes the desired domain-level property.

This paper presents SpaceSearch, a new library for developing solver-aided tools within a proof assistant. A user builds their solver-aided tool in Coq against the SpaceSearch interface, and the user then verifies that the results provided by the interface are sufficient to establish the tool's desired high-level properties. Once verified, the tool can be extracted to an implementation in a solver-aided language (e.g., Rosette), where SpaceSearch provides an efficient instantiation of the SpaceSearch interface with calls to an underlying SMT solver. This combines the strong correctness guarantees of developing a tool in a proof assistant with the high performance of modern SMT solvers. This paper also introduces new optimizations for such verified solver-aided tools, including parallelization and incrementalization.

We evaluate SpaceSearch by building and verifying two solver-aided tools. The first, SaltShaker, checks that RockSalt's x86 semantics for a given instruction agrees with STOKE's x86 semantics. SaltShaker identified 7 bugs in RockSalt and 1 bug in STOKE. After these systems were patched by their developers, SaltShaker verified the semantics' agreement on 15,255 instruction instantiations in under 2h. The second tool, BGProof, is a verified version of an existing Border Gateway Protocol (BGP) router configuration checker. Like the existing checker, BGProof scales to checking industrial configurations spanning over 240 KLOC, identifying 19 configuration inconsistencies with no false positives. However, the correctness of BGProof has been formally proven, and we found 2 bugs in the unverified implementation. These results demonstrate that SpaceSearch is a practical approach to developing efficient, verified solver-aided tools.

We present a logic, called Relational Higher Order Logic (RHOL), for proving relational properties of a simply typed lambda-calculus with inductive types and recursive definitions. RHOL retains the type-directed flavour of relational refinement type systems but achieves greater expressivity through rules which simultaneously reason about the two terms as well as rules which only contemplate one of the two terms. We show that RHOL has strong foundations, by proving an equivalence with higher-order logic (HOL), and leverage this equivalence to derive key meta-theoretical properties: subject reduction, admissibility of a transitivity rule and set-theoretical soundness.

Moreover, we define sound embeddings for several existing relational type systems such as relational refinement types and type systems for dependency analysis and relative cost, and we verify examples that were out of reach of prior work.
Creative Commons Licence
Creative Commons Attribution-Non-Commercial-Share Alike 2.0 UK (BY-NC-SA): England & Wales; https://creativecommons.org/licenses/by-nc-sa/2.0/uk/

Episode Information

Series
International Conference on Functional Programming 2017
People
Konstantin Weitz
Keywords
technology
computing
reprogramming
Department: Department of Computer Science
Date Added: 15/01/2018
Duration: 00:18:14

Subscribe

Download

Kami: A Platform for High-Level Parametric Hardware Specification and Its Modular Verification

Series
International Conference on Functional Programming 2017
Embed
Kami: A Platform for High-Level Parametric Hardware Specification and Its Modular Verification
Co-written by Joonwon Choi, Benjamin Sherman, Adam Chlipala, Arvind (Massachusetts Institute of Technology, USA).

It has become fairly standard in the programming-languages research world to verify functional programs in proof assistants using induction, algebraic simplification, and rewriting. In this paper, we introduce Kami, a Coq library that enables similar expressive and modular reasoning for hardware designs expressed in the style of the Bluespec language. We can specify, implement, and verify realistic designs entirely within Coq, ending with automatic extraction into a pipeline that bottoms out in FPGAs. Our methodology, using labeled transition systems, has been evaluated in a case study verifying an infinite family of multicore systems, with cache-coherent shared memory and pipelined cores implementing (the base integer subset of) the RISC-V instruction set.
Creative Commons Licence
Creative Commons Attribution-Non-Commercial-Share Alike 2.0 UK (BY-NC-SA): England & Wales; https://creativecommons.org/licenses/by-nc-sa/2.0/uk/

Episode Information

Series
International Conference on Functional Programming 2017
People
Muralidaran Vijayaraghavan
Keywords
technology
computing
programming
Department: Department of Computer Science
Date Added: 15/01/2018
Duration: 00:19:30

Subscribe

Download

No-Brainer CPS Conversion

Series
International Conference on Functional Programming 2017
Embed
Milo Davis (Northeastern University, USA) gives the fourth talk in the second panel, Foundations of Higher-Order Programming, on the 2nd day of the ICFP.
Co-written by William Meehan and Olin Shivers (Northeastern University, USA).

Algorithms that convert direct-style lambda-calculus terms to their equivalent terms in continuation-passing style (CPS) typically introduce so-called 'administrative redexes' -- useless artifacts of the conversion that must be cleaned up by a subsequent pass over the result to reduce them away. We present a simple, linear-time algorithm for CPS conversion that introduces no administrative redexes. In fact, the output term is a normal form in a reduction system that generalizes the notion of 'administrative redexes' to what we call 'no-brainer redexes,' that is, redexes whose reduction shrinks the size of the term. We state the theorems which establish the algorithm's desireable properties, along with sketches of the full proofs.
Creative Commons Licence
Creative Commons Attribution-Non-Commercial-Share Alike 2.0 UK (BY-NC-SA): England & Wales; https://creativecommons.org/licenses/by-nc-sa/2.0/uk/

Episode Information

Series
International Conference on Functional Programming 2017
People
Milo Davis
Keywords
technology
computing
programming
Department: Department of Computer Science
Date Added: 15/01/2018
Duration: 00:14:20

Subscribe

Download

Foundations of Strong Call by Need

Series
International Conference on Functional Programming 2017
Embed
Thibaut Balabonski (LRI, France and University of Paris-Sud, France) gives the third talk in the second panel, Foundations of Higher-Order Programming, on the 2nd day of the ICFP conference.
Co-written by Pablo Barenbaum (University of Buenos Aires, Argentina/IRIF, France/University of Paris Diderot, France), Eduardo Bonelli (CONICET, Argentina/Universidad Nacional de Quilmes, Argentina), Delia Kesner (IRIF/University of Paris Diderot, France).

We present a call-by-need strategy for computing strong normal forms of open terms (reduction is admitted inside the body of abstractions and substitutions, and the terms may contain free variables), which guarantees that arguments are only evaluated when needed and at most once. The strategy is shown to be complete with respect to beta-reduction to strong normal form. The proof of completeness relies on two key tools: (1) the definition of a strong call-by-need calculus where reduction may be performed inside any context, and (2) the use of non-idempotent intersection types. More precisely, terms admitting a beta-normal form in pure lambda calculus are typable, typability implies (weak) normalisation in the strong call-by-need calculus, and weak normalisation in the strong call-by-need calculus implies normalisation in the strong call-by-need strategy. Our (strong) call-by-need strategy is also shown to be conservative over the standard (weak) call-by-need.
Creative Commons Licence
Creative Commons Attribution-Non-Commercial-Share Alike 2.0 UK (BY-NC-SA): England & Wales; https://creativecommons.org/licenses/by-nc-sa/2.0/uk/

Episode Information

Series
International Conference on Functional Programming 2017
People
Thibaut Balabonski
Keywords
computing
programming
Biomedical technology
Department: Department of Computer Science
Date Added: 15/01/2018
Duration: 00:18:59

Subscribe

Download

Pagination

  • First page
  • Previous page
  • …
  • Page 1795
  • Page 1796
  • Page 1797
  • Page 1798
  • Page 1799
  • Page 1800
  • Page 1801
  • Page 1802
  • Page 1803
  • …
  • Next page
  • Last page

Footer

  • About
  • Accessibility
  • Contribute
  • Copyright
  • Contact
  • Privacy
  • Login
'Oxford Podcasts' X Account @oxfordpodcasts | Upcoming Talks in Oxford | © 2011-2026 The University of Oxford