% This is samplepaper.tex, a sample chapter demonstrating the
% LLNCS macro package for Springer Computer Science proceedings;
% Version 2.21 of 2022/01/12
%
\documentclass[runningheads]{llncs}
%
\usepackage[T1]{fontenc}
% T1 fonts will be used to generate the final print and online PDFs,
% so please use T1 fonts in your manuscript whenever possible.
% Other font encondings may result in incorrect characters.
%
\usepackage{graphicx}
% Used for displaying a sample figure. If possible, figure files should
% be included in EPS format.
%
% If you use the hyperref package, please uncomment the following two lines
% to display URLs in blue roman font according to Springer's eBook style:
%\usepackage{color}
%\renewcommand\UrlFont{\color{blue}\rmfamily}
%\urlstyle{rm}
%

% My packages:
\usepackage{unicode-math}
\usepackage{hyperref}

\begin{document}
%
\title{Topics in Compilers and Concurrency \\ Seminar Report on\\ Background Materials and Related Work}
%
%\titlerunning{Abbreviated paper title}
% If the paper title is too long for the running head, you can set
% an abbreviated paper title here
%
\author{Julius Fischer}
%
%
\institute{Student at Univerity of Freiburg (ALU)\\
    \email{julius.fischer@email.uni-freiburg.com}\\
    Matriculation Number: 5317202
    }


%
\maketitle              % typeset the header of the contribution
%
%\begin{abstract}
%The abstract should briefly summarize the contents of the paper in
%150--250 words.
%
%\keywords{First keyword  \and Second keyword \and Another keyword.}
%\end{abstract}
%
%
%

\newcommand{\lad}{$\lambda_d$}
\newcommand{\dpsf}{DPS-$\tilde{F}$}

\section{Introduction}
In their work Bagrel and Spiwack \cite{bagrel_dp_2025} build on many prior contributions,
both directly in their calculus grammar and semantics, but also in their structural approach regarding typing and evaluation contexts.
From now on the calculus introduced in this specific paper will be referred to as \lad.
This report will highlight a number of select works, which are of significance to the $lambda_d$ calculus.

\section{A Functional Representation of Data Structures with a Hole by Y. Minamide\cite{minamide_holes_1998}}
This paper contributes fundamental work on holes in functional languages. 
It introduces a hole abstraction $\hat\lambda x. T$ to formalize data structures with a single hole. 
Which, while syntactically different, in principle remains similar to the \lad calculus.
Both utilize holes as the core features, where \lad has a type $T_1 \ltimes T_2$ to represent a
structure that is missing $T_1$ to complete a $T_2$, Minamide's calculus features $(T_1, T_2) hfun$.
In generael Minamide focusses more on the similarity of his hole abstraction to the regular $\lambda$ abstraction
and the similarity of a strucutre containing a hole, to a function that returns an type $T_2$, when applied argument to an argument $T_1$.
Notably both calculi contain linearity constraints on holes, but Bagrel's work eliviates some of those constraints by allowing for weakening.
Overall Minamide lays a lot of ground work, and influences that can be seen in the \lad formulation and in its discussion, as
similar benefits regarding tail recursion are adressed.

\section{Destination-Passing Style for Efficient Memory Management - Shaikhha et al. \cite{shaikhha_array_dps_2017}}
While Bagrel mostly theorizes on the advantages of the \lad calculus,
this paper give emprical evidence on runtime and memory improvements of Destination Passing Style (DPS) in a functional language.
Shaikhha et al. demonstrate the benefits of implementing a DPS-transformation step into the compilation of an array-programming language.
The authors chose to not give any direct memory control to the programmer, but their intermediate language '\dpsf' still feature
some similarity to \lad.
\dpsf is typed using a shape type, which contains the dimensions of the array, which will be written to a memory location/ destination.
Because of to the array-programming nature of the langauge, the shape type is fit only to arrays, but displays some flexibility, 
which, in a way, is more akin to the constructors used in \lad than to the holes used by Minamide \cite{minamide_holes_1998}.

\input{./bibliography/all.tex}
\bibliographystyle{splncs04}
\end{document}
