Skip to main content
Home

Main navigation

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

Main navigation

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

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

Testing and Debugging Functional Reactive Programming

Series
International Conference on Functional Programming 2017
Embed
Ivan Perez, University of Nottingham, UK, gives the second presentation in the first panel, Art and Education, in the ICFP 2017 conference. Co-written by Henrik Nilsson, University of Nottingham, UK.
Many types of interactive applications, including video games, raise particular challenges when it comes to testing and debugging. Reasons include de-facto lack of reproducibility and difficulties of automatically generating suitable test data. This paper demonstrates that certain variants of Functional Reactive Programming (FRP) implemented in pure functional languages can mitigate such difficulties by offering referential transparency at the level of whole programs. This opens up for a multi-pronged approach for assisting with testing and debugging that works across platforms, including assertions based on temporal logic, recording and replaying of runs (also from deployed code), and automated random testing using QuickCheck. The approach has been validated on real, non-trivial games implemented in the FRP system Yampa through a tool providing a convenient Graphical User Interface that allows the execution of the code under scrutiny to be controlled, moving along the execution time line, and pin-pointing of violations of assertions on PCs as well as mobile platforms.
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
Ivan Perez
Keywords
computing
technology
Department: Department of Computer Science
Date Added: 12/12/2017
Duration: 00:17:42

Subscribe

Download

Stability and change in developmental language disorders

Series
Department of Education Public Seminars
Embed
Professor Professor Courtenay Norbury, University College London, gives a talk for the public seminar series hosted by the Department of Education's Applied Linguistics Research Group.

Episode Information

Series
Department of Education Public Seminars
People
Courtenay Norbury
Keywords
education
linguistics
language
language disorders
Department: Department of Education
Date Added: 11/12/2017
Duration: 00:52:40

Subscribe

Download

Mediatising religious education: BBC radio and television for children and schools, c.1920s-1970s

Series
Department of Education Public Seminars
Embed
Professor Stephen G Parker, University of Worcester, gives a talk for the public seminar series hosted by Department of Education's Philosophy, Religion and Education Forum.

Episode Information

Series
Department of Education Public Seminars
People
Stephen Parker
Keywords
education
religion
media
Department: Department of Education
Date Added: 11/12/2017
Duration: 00:48:18

Subscribe

Download

A View of Globalisation from its Margin: Searching for Karate’s Budo Roots in Contemporary Egypt

Series
Middle East Centre
Embed
Dr Hatsuki Aishima (National Museum of Ethnology, Osaka) gives a talk for the Middle East Studies Centre seminar series.
This paper explores karate as a cultural practice of Egyptian middle classes in which they experiment on a variety of ways to be 'global'. They perceive karate as a means to join the global community, which is a rare opportunity for citizens who are situated at the margins of international political economy. I will focus on the aspirations of Egyptian Traditional Karate Federation (ETKF) members to reinstitute Japanese 'traditions' of karate by searching for its budo roots. ETKF was established shortly after the January 25 Revolution of 2011 which ousted President Hosni Mubarak. In their view 'traditional karate (karate taqlidi)' should be distinguished from the World Karate Federation style 'karate riyadi (sport karate)' which has become a mere competitive sport. Their goal is to spread “educational karate (karate tarbawi)” which is derived from what they perceive as the original ethos of budo that 'karate must be a lifestyle'.
Although karate is the second most popular sports in Egypt after football, most practitioners are unaware of its Japanese or Okinawan origin. Alluding to Egyptian national team’s victories at international competitions, some asserted that “Karate might have come from Japan but it has become fully Egyptian”. It was the ETKF founder, an Egyptian karate master who has been residing Paris since the 1980s, that reintroduced the notion of budo to contemporary Egyptians. When budo means “the way of warrior” in Japanese, he defines the term as 'martial arts', using the English expression rather than its Arabic equivalent, funun al-qataliya. In other words, in Egyptian ears, budo sounds doubly foreign - Japanese and English, yet somewhat modern due to its English rendering. This complex genealogy of Egyptian karate illustrates the ways in which globalisation flows. Although the West ceased to be the colonial power, they continue to mediate and shape Egyptian images of Japan.

Episode Information

Series
Middle East Centre
People
Hatsuki Aishima
Keywords
politics
middle east
martial arts
egypt
Department: Middle East Centre
Date Added: 11/12/2017
Duration: 00:41:09

Subscribe

Download

Unlocking the Church

Series
TORCH | The Oxford Research Centre in the Humanities
Embed
Book at Lunchtime, Unlocking the Church
In Unlocking the Church, William Whyte explores a forgotten revolution in social and architectural history and in the history of the Church. He details the architectural and theological debates of the day, explaining how the Tractarians of Oxford and the Ecclesiologists of Cambridge were embroiled in the aesthetics of architecture, and how the Victorians profoundly changed the ways in which buildings were understood and experienced. No longer mere receptacles for worship, churches became active agents in their own rights, capable of conveying theological ideas and designed to shape people's emotions.
These church buildings are now a challenge: their maintenance, repair or repurposing are pressing problems for parishes in age of declining attendance and dwindling funds. By understanding their past, unlocking the secrets of their space, there might be answers in how to deal with the legacy of the Victorians now and into the future.
William Whyte (History, University of Oxford) joins an expert panel to discuss the book and its themes:
Dan Hicks (Archeology, University of Oxford)
Julia Smith (History, University of Oxford)
Chairing the event was Mark Chapman (Theology, University of Oxford)

Episode Information

Series
TORCH | The Oxford Research Centre in the Humanities
People
William Whyte
Dan Hicks
Julia Smith
Mark Chapman
Keywords
Church
Victorian
theological
architectural
Department: The Oxford Research Centre in the Humanities (TORCH)
Date Added: 11/12/2017
Duration: 00:43:00

Subscribe

Download

Pagination

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