PLDI

ACM PLDI paper using acmart sigplan. Double-column, theorem environments, code listings.

Category

Conference

License

Free to use (MIT)

File

pldi/main.tex

main.texRead-only preview
\documentclass[sigplan,screen]{acmart}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{booktabs}
\usepackage{listings}
\usepackage{xcolor}

\lstset{basicstyle=\ttfamily\footnotesize,breaklines=true}

\newtheorem{theorem}{Theorem}

\acmConference[PLDI '26]{ACM SIGPLAN Conference on Programming Language Design and Implementation}{June 2026}{City, Country}
\acmISBN{978-1-4503-XXXX-X/26/06}
\acmDOI{10.1145/XXXXXXX.XXXXXXX}
\setcopyright{acmlicensed}
\copyrightyear{2026}
\acmYear{2026}

\begin{document}

\title{Fluo: Fine-Grained Compilation for\\WebAssembly Component Systems}

\author{First Last}
\affiliation{\institution{University of Example}\country{Country}}
\email{[email protected]}
\author{Jane Doe}
\affiliation{\institution{Example Research Labs}\country{Country}}
\email{[email protected]}
\renewcommand{\shortauthors}{Last and Doe}

\begin{abstract}
WebAssembly component systems bring interface-typed linking to
native-speed code, but current compilers produce inefficient boundary
code. Fluo is a compiler that generates adapters via specialization of
the component type, reducing cross-component call overhead by
3.8$\times$ on real applications.
\end{abstract}

\keywords{WebAssembly, compilation, components}
\maketitle

\section{Introduction}
Component linking introduces marshaling overhead at every call boundary.
Existing compilers emit generic adapter code.

\section{Background}
WebAssembly, component model, interface types.

\section{Design}
Fluo partially evaluates the adapter code against the callee's
component type. Specialization produces straight-line marshaling with
no dispatch.

\begin{lstlisting}[language=Haskell]
specialize :: Adapter -> ComponentType -> NativeCode
specialize ad ct = fold (inline . partialEval) ad (signature ct)
\end{lstlisting}

\section{Correctness}
\begin{theorem}
For any well-typed program $P$, $P_{\text{Fluo}} \equiv_{\text{beh}} P_{\text{stock}}$.
\end{theorem}

\section{Evaluation}
\begin{table}[t]
\centering
\begin{tabular}{lcc}
\toprule
Benchmark & Stock (ns/call) & \textbf{Fluo} \\
\midrule
string-reverse & 840 & \textbf{220} \\
image-filter   & 1{,}220 & \textbf{310} \\
json-parse     & 3{,}400 & \textbf{920} \\
\bottomrule
\end{tabular}
\end{table}

\section{Conclusion}
Component-aware specialization closes most of the overhead of typed
cross-component calls.

\bibliographystyle{ACM-Reference-Format}
\bibliography{refs}
\end{document}
Bibby Mascot

PDF Preview

Create an account to compile and preview

PLDI LaTeX Template | Free Download & Preview - Bibby