The simple essence of automatic differentiation

C Elliott - Proceedings of the ACM on Programming Languages, 2018 - dl.acm.org
Automatic differentiation (AD) in reverse mode (RAD) is a central component of deep
learning and other uses of large-scale optimization. Commonly used RAD algorithms such …

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 …

Feat: functional enumeration of algebraic types

J Duregård, P Jansson, M Wang - ACM SIGPLAN Notices, 2012 - dl.acm.org
In mathematics, an enumeration of a set S is a bijective function from (an initial segment of)
the natural numbers to S. We define" functional enumerations" as efficiently computable …

Type-safe observable sharing in Haskell

A Gill - Proceedings of the 2nd ACM SIGPLAN symposium on …, 2009 - dl.acm.org
Haskell is a great language for writing and supporting embedded Domain Specific
Languages (DSLs). Some form of observable sharing is often a critical capability for allowing …

Observable sharing for functional circuit description

K Claessen, D Sands - Annual Asian Computing Science Conference, 1999 - Springer
Pure functional programming languages have been proposed as a vehicle to describe,
simulate and manipulate circuit specifications. We propose an extension to Haskell to solve …

Everything old is new again: quoted domain-specific languages

S Najd, S Lindley, J Svenningsson… - Proceedings of the 2016 …, 2016 - dl.acm.org
We describe a new approach to implementing Domain-Specific Languages (DSLs), called
Quoted DSLs (QDSLs), that is inspired by two old ideas: quasi-quotation, from McCarthy's …

Semantic encapsulation using linking types

D Patterson, A Wagner, A Ahmed - Proceedings of the 8th ACM …, 2023 - dl.acm.org
Interoperability pervades nearly all mainstream language implementations, as most systems
leverage subcomponents written in different languages. And yet, such linking can expose a …

Calling hell from heaven and heaven from hell

S Finne, D Leijen, E Meijer… - Proceedings of the fourth …, 1999 - dl.acm.org
The increasing popularity of component-based programming tools offer a big opportunity to
designers of advanced programming languages, such as Haskell. If we can package our …

Practical principled FRP: forget the past, change the future, FRPNow!

A Ploeg, K Claessen - Proceedings of the 20th ACM SIGPLAN …, 2015 - dl.acm.org
We present a new interface for practical Functional Reactive Programming (FRP) that (1) is
close in spirit to the original FRP ideas,(2) does not have the original space-leak problems …

FranTk-a declarative GUI language for Haskell

M Sage - ACM SIGPLAN Notices, 2000 - dl.acm.org
FranTk is a new high level library for programming Graphical User Interfaces (GUIs) in
Haskell. It is based on Fran (Functional Reactive Animation), and uses the notions of …