Skip to content

Commit 4601596

Browse files
committed
update xhaskell.tex design
1 parent 00bbef0 commit 4601596

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

src/Repl.lhs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
\section{MicroHs REPL Mechanism}
2-
\label{sec:repl}
3-
41
The MicroHs REPL layer provides the continuity required by notebooks: each cell is evaluated against a persistent semantic context rather than in isolation. The C++ Xeus interpreter forwards requests through a small FFI surface, and this module translates those requests into explicit, auditable transitions over \verb|ReplCtx|.
52

63
A practical constraint of MicroHs is that startup work and incremental compilation cost must be managed carefully.

xhaskell.tex

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
\usepackage{pifont}
77
\usepackage{enumitem}
88
\usepackage{minted}
9+
\usepackage[sfdefault]{carlito}
10+
\renewcommand{\familydefault}{\sfdefault}
911
\geometry{margin=1in}
1012

1113
\definecolor{xhbg}{HTML}{FAFAFA}
@@ -108,15 +110,15 @@ \subsection{System Stack}
108110
\subsection{Layer Details}
109111

110112

111-
\subsubsection{1. Jupyter and Xeus Protocol Layer}
113+
\subsubsection{Jupyter and Xeus Protocol Layer}
112114

113115

114116
This layer handles the ZeroMQ-based Jupyter protocol. It manages the heartbeat, shell, and control sockets.
115-
\subsubsection{2. Xeus to Kernel Interpreter Layer}
117+
\subsubsection{Xeus to Kernel Interpreter Layer}
116118

117119

118120
The \texttt{xinterpreter} implementation hooks into the Xeus kernel lifecycle. It receives execution requests and delegates them to the Haskell backend.
119-
\subsubsection{3. C++ Bridge to Haskell Runtime Layer}
121+
\subsubsection{C++ Bridge to Haskell Runtime Layer}
120122

121123

122124
This is the bridge layer between C++ and the Haskell-compiled Compiler API wrapper (\texttt{Repl.lhs}).
@@ -186,7 +188,7 @@ \subsection{Haskell Display API}
186188

187189

188190
The protocol is abstracted in Haskell through the \texttt{Display} typeclass.
189-
\subsubsection{1. Display Typeclass Interface}
191+
\subsubsection{Display Typeclass Interface}
190192

191193

192194
To enable rich output for a custom type, implement the \texttt{Display} typeclass:
@@ -201,7 +203,7 @@ \subsubsection{1. Display Typeclass Interface}
201203
\end{minted}
202204

203205

204-
\subsubsection{2. Implementation Examples}
206+
\subsubsection{Implementation Examples}
205207

206208

207209
\begin{minted}{haskell}
@@ -219,7 +221,7 @@ \subsubsection{2. Implementation Examples}
219221
\end{minted}
220222

221223

222-
\subsubsection{3. Protocol Generation}
224+
\subsubsection{Protocol Generation}
223225

224226

225227
The \texttt{DisplayData} record implements a \texttt{Show} instance that automatically formats the string into the \texttt{<STX>...<ETX>} protocol.

0 commit comments

Comments
 (0)