Optimising purely functional GPU programs

TL McDonell, MMT Chakravarty, G Keller… - ACM SIGPLAN …, 2013 - dl.acm.org
Purely functional, embedded array programs are a good match for SIMD hardware, such as
GPUs. However, the naive compilation of such programs quickly leads to both code …

Three complementary approaches to bidirectional programming

N Foster, K Matsuda, J Voigtländer - … , SSGIP 2010, Oxford, UK, March 22 …, 2012 - Springer
This paper surveys three distinct approaches to bidirectional programming. The first
approach, syntactic bidirectionalization, takes a program describing the forward …

Generic programming

R Backhouse, P Jansson, J Jeuring… - … Third International School …, 1999 - Springer
The development of science proceeds in a cycle of activities, the so-called abstraction-
specialisation cycle. Abstraction is the process of seeking patterns or commonalities, which …

Higher-order multi-parameter tree transducers and recursion schemes for program verification

N Kobayashi, N Tabuchi, H Unno - ACM Sigplan Notices, 2010 - dl.acm.org
We introduce higher-order, multi-parameter, tree transducers (HMTTs, for short), which are
kinds of higher-order tree transducers that take input trees and output a (possibly infinite) …

How functional programming mattered

Z Hu, J Hughes, M Wang - National Science Review, 2015 - academic.oup.com
In 1989 when functional programming was still considered a niche topic, Hughes wrote a
visionary paper arguing convincingly 'why functional programming matters'. More than two …

GRoundTram: An integrated framework for developing well-behaved bidirectional model transformations

S Hidaka, Z Hu, K Inaba, H Kato… - 2011 26th IEEE/ACM …, 2011 - ieeexplore.ieee.org
Bidirectional model transformation is useful for maintaining consistency between two
models, and has many potential applications in software development including model …

Parallelization in calculational forms

Z Hu, M Takeichi, WN Chin - Proceedings of the 25th ACM SIGPLAN …, 1998 - dl.acm.org
The problems involved in developing efficient parallel programs have proved harder than
those in developing efficient sequential ones, both for programmers and for compilers …

The third homomorphism theorem on trees: downward & upward lead to divide-and-conquer

A Morihata, K Matsuzaki, Z Hu, M Takeichi - ACM SIGPLAN Notices, 2009 - dl.acm.org
Parallel programs on lists have been intensively studied. It is well known that associativity
provides a good characterization for divide-and-conquer parallel programs. In particular, the …

You Say'What', I Hear'Where'and'Why':(Mis-) Interpreting SQL to Derive Fine-Grained Provenance

T Müller, B Dietrich, T Grust - arXiv preprint arXiv:1805.11517, 2018 - arxiv.org
SQL declaratively specifies what the desired output of a query is. This work shows that a non-
standard interpretation of the SQL semantics can, instead, disclose where a piece of the …

Sparcl: a language for partially-invertible computation

K Matsuda, M Wang - Proceedings of the ACM on Programming …, 2020 - dl.acm.org
Invertibility is a fundamental concept in computer science, with various manifestations in
software development (serializer/deserializer, parser/printer, redo/undo, compressor …