Skip to main content
Home

Main navigation

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

Main navigation

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

FMR 35 Disabilities among refugees and conflict-affected populations

Series
Disability and displacement (Forced Migration Review 35)
Embed
In 2007 the Women's Refugee Commission launched a major research project to assess the situation for those living with disabilities among displaced and conflict affected populations.
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
Disability and displacement (Forced Migration Review 35)
People
Rachael Reilly
Keywords
forced displacement
disability
women
Department: Oxford Department of International Development
Date Added: 12/12/2017
Duration: 00:13:13

Subscribe

Download

Strachey Lecture: The Continuing Evolution of C++

Series
Strachey Lectures
Embed
Stroustrup discusses the development and evolution of the C++, one of the most widely used programming languages ever.
The development of C++ started in 1979. Since then, it has grown to be one of the most widely used programming languages ever, with an emphasis on demanding industrial uses. It was released commercially in 1985 and evolved through one informal standard (“the ARM”) and several ISO standards: C++98, C++11, C++14, and C++17. How could an underfinanced language without a corporate owner succeed like that? What are the key ideas and design principles? How did the original ideas survive almost 40 years of development and 30 years of attention from a 100+ member standards committee? What is the current state of C++ and what is likely to happen over the next few years? What are the problems we are trying to address through language evolution?

Episode Information

Series
Strachey Lectures
People
Bjarne Stroustrup
Keywords
strachey
computing
c++
Department: Department of Computer Science
Date Added: 12/12/2017
Duration: 00:58:52

Subscribe

Download

Prototyping a Query Compiler using Coq (Experience Report)

Series
International Conference on Functional Programming 2017
Embed
Louis Mandel (IBM) gives the first presentation in the third panel, Applications, in the ICFP 2017 conference. Co-written by Joshua Auerbach, Martin Hirzel, Avraham Shinnar, Jerome Simeon, IBM Research, USA.
Designing and prototyping new features is important in many industrial projects. Functional programming and formal verification tools can prove valuable for that purpose, but lead to challenges when integrating with existing product code or when planning technology transfer.

This article reports on our experience using the Coq proof assistant as a prototyping environment for building a query compiler intended for use in IBM's ODM Insights product. We discuss the pros and cons of using Coq for this purpose and describe our methodology for porting the compiler to Java, as required for product integration.
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
Louis Mandel
Keywords
computing
programming
technology
Department: Department of Computer Science
Date Added: 12/12/2017
Duration: 00:19:19

Subscribe

Download

A Unified Approach to Solving Seven Programming Problems (Functional Pearl)

Series
International Conference on Functional Programming 2017
Embed
William E. Byrd, University of Utah, USA, gives the fourth presentation in the second panel, Functional Programming Techniques, in the ICFP 2017 conference.
Co-written by Gregory Rosenblatt, Matthew Might, Michael Ballantyne (University of Utah).

We present seven programming challenges in Racket, and an elegant, unified approach to solving them using constraint logic programming in mini Kanren.
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
William E Byrd
Keywords
computing
programming
technology
Department: Department of Computer Science
Date Added: 12/12/2017
Duration: 00:20:03

Subscribe

Download

Interview with Harvey Whitehouse

Series
Post-War: Commemoration, Reconstruction, Reconciliation
Embed
Harvey Whitehouse, Professor of Social Anthropology at the University of Oxford, talks to Alex Donnelly and Johana Musalkova about shared responses to experiences of suffering and the potential role of commemoration in achieving social cohesion.

Episode Information

Series
Post-War: Commemoration, Reconstruction, Reconciliation
People
Harvey Whitehouse
Alex Donnelly
Johana Musalkova
Keywords
post war
commemoration
reconciliation
anthropology
community
Department: The Oxford Research Centre in the Humanities (TORCH)
Date Added: 12/12/2017
Duration: 00:10:41

Subscribe

Download

Generic Functional Parallel Algorithms: Scan and FFT

Series
International Conference on Functional Programming 2017
Embed
Conal Elliott, Target, USA United States, gives the third presentation in the second panel, Functional Programming Techniques, in the ICFP 2017 conference.
Parallel programming, whether imperative or functional, has long focused on arrays as the central data type. Meanwhile, typed functional programming has explored a variety of data types, including lists and various forms of trees. Generic functional programming decomposes these data types into a small set of fundamental building blocks: sum, product, composition, and their associated identities. Definitions over these few fundamental type constructions then automatically assemble into algorithms for an infinite set of data types--some familiar and some new. This paper presents generic functional formulations for two important and well-known classes of parallel algorithms: parallel scan (generalized prefix sum) and Fast Fourier Transform (FFT). Notably, arrays play no role in these formulations. Consequent benefits include a simpler and more compositional style, much use of common algebraic patterns--such as Functor, Applicative, Foldable, and Traversable--and freedom from possibility of run-time indexing errors. The functional generic style also clearly reveals deep commonality among what otherwise appears to be quite different algorithms. Instantiating the generic formulations to "top-down" and "bottom-up" trees as well as "bushes", two well-known algorithms for each of parallel scan and FFT naturally emerge, as well as two possibly new algorithms.
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: 12/12/2017
Duration: 00:19:01

Subscribe

Download

A Pretty But Not Greedy Printer (Functional Pearl)

Series
International Conference on Functional Programming 2017
Embed
Jean-Philippe Bernardy, University of Gothenburg, gives the second presentation in the second panel, Functional Programming Techniques, in the ICFP 2017 conference.
This paper proposes a new specification of pretty printing which is stronger than the state of the art: we require the output to be the shortest possible, and we also offer the ability to align sub-documents at will. We argue that our specification precludes a greedy implementation. Yet, we provide an implementation which behaves linearly in the size of the output. The derivation of the implementation demonstrates functional programming methodology.
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
Jean-Philippe Bernardy
Keywords
computing
programming
technology
Department: Department of Computer Science
Date Added: 12/12/2017
Duration: 00:14:14

Subscribe

Download

Faster Coroutine Pipelines

Series
International Conference on Functional Programming 2017
Embed
Mike Spivey, University of Oxford, UK, gives the first presentation in the second panel, Functional Programming Techniques, in the ICFP 2017 conference.
Coroutine pipelines provide an attractive structuring mechanism for complex programs that process streams of data, with the advantage over lazy streams that both ends of a pipeline may interact with the I-O system, as may processes in the middle. Two popular Haskell libraries, Pipes and Conduit, support such pipelines. In both libraries, pipelines are implemented in a direct style by combining a free monad of communication events with an interpreter for (pseudo-)parallel composition that interleaves the events of its argument processes. These implementations both suffer from a slow-down when processes are deeply nested in sequence or in parallel. We propose an alternative implementation of pipelines based on continuations that does not suffer from this slow-down. What is more, the implementation is significantly faster on small, communication-intensive examples even where they do not suffer from the slow-down, and faster even than comparable programs based on lazy streams. The continuation-based implementation may be derived from the direct-style implementation by algebraic reasoning.
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
Mike Spivey
Keywords
computing
programming
technology
Department: Department of Computer Science
Date Added: 12/12/2017
Duration: 00:18:58

Subscribe

Download

Scaling up Functional Programming Education: Under the Hood of the OCaml MOOC

Series
International Conference on Functional Programming 2017
Embed
Roberto Di Cosmo (Inria, France and University of Paris Diderot, France), gives the fourth presentation in the first panel, Art and Education, in the ICFP 2017 conference.
Co-written by Benjamin Canou (OCamlPro) and Gregoire Henry (OCamlPro).

This article describes the key innovations used in the massive open online course 'Introduction to Functional Programming using OCaml that has run since the fall semester of 2015. A fully in-browser development environment with an integrated grader provides an exceptional level of feedback to the learners. A functional library of grading combinators greatly simplifies the notoriously complex task of writing test suites for the exercises, and provides static type-safety guarantees on the tested user code. Even the error-prone manual process of importing the course content in the learning platform has been replaced by a functional program that describes the course and statically checks its contents. A detailed statistical analysis of the data collected during and after the course assesses the effectiveness of these innovations.
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
Roberto Di Cosmo
Keywords
computing
programming
technology
Department: Department of Computer Science
Date Added: 12/12/2017
Duration: 00:19:19

Subscribe

Download

Lock-Step Simulation Is Child's Play (Experience Report)

Series
International Conference on Functional Programming 2017
Embed
Joachim Breiner, University of Pennsylvania, United States, gives the third presentation in the first panel, Art and Education, in the ICFP 2017 conference. Co-written by Chris Smith Google, USA.
Implementing multi-player networked games by broadcasting the player's input and letting each client calculate the game state -- a scheme known as lock-step simulation -- is an established technique. However, ensuring that every client in this scheme obtains a consistent state is infamously hard and in general requires great discipline from the game programmer. The thesis of this pearl is that in the realm of functional programming -- in particular with Haskell's purity and static pointers -- this hard problem becomes almost trivially easy.

We support this thesis by implementing lock-step simulation under very adverse conditions. We extended the educational programming environment CodeWorld, which is used to teach math and programming to middle school students, with the ability to create and run interactive, networked multi-user games. Despite providing a very abstract and high-level interface, and without requiring any discipline from the programmer, we can provide consistent lock-step simulation with client prediction.
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
Joachim Breiner
Keywords
computing
programming
technology
Department: Department of Computer Science
Date Added: 12/12/2017
Duration: 00:16:24

Subscribe

Download

Pagination

  • First page
  • Previous page
  • …
  • Page 1803
  • Page 1804
  • Page 1805
  • Page 1806
  • Page 1807
  • Page 1808
  • Page 1809
  • Page 1810
  • Page 1811
  • …
  • 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