Compare commits

..

1 commit

Author SHA1 Message Date
28168cb0f1
test: Summer example 2025-05-15 21:25:58 +02:00
3 changed files with 3 additions and 9 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before After
Before After

Binary file not shown.

View file

@ -131,8 +131,6 @@
Het unificatie-algoritme is gebaseerd op Robinsons Unificatie-algoritme, zoals beschreven door~\cite{boizumault-1993}, met inspiratie van~\cite{russell2016}.
Merk op dat er gebruik gemaakt wordt van de \textit{occurs check}.
De broncode voor het algoritme kan teruggevonden worden in \texttt{prolog/logic/unification.kt}.
\subsection{Cut}\label{subsec:cut}
De cut operator geeft altijd een \mintinline{kotlin}{Result.failure(AppliedCut)} terug wanneer \mintinline{kotlin}{satisfy} wordt opgeroepen.
@ -152,10 +150,6 @@
In dit geval zal de \mintinline{kotlin}{AppliedShift} steeds doorgespeeld worden, totdat de \mintlinline{kotlin}{Reset} de uitzondering opvangt.
Daarna gaat het programma verder met de nieuwe substituties en continuatie.
De broncode voor de meta abstracties kan teruggevonden worden in
\texttt{prolog/builtins/delimitedContinuationsOperators.kt}.
\section{Resultaat}\label{sec:resultaat}
@ -173,7 +167,7 @@
De code in~\ref{lst:nesting} komt bijvoorbeeld in de meeste termen voor, weliswaar in verschillende vorm.
\begin{listing}[H]
\begin{minted}{kotlin}
\begin{minted}{kotlin}
/* Function entry logic */
unifyLazy(a, b, subs).forEach { firstResult ->
firstResult.map { firstSubs ->
@ -189,8 +183,8 @@
is AppliedCut -> /* Cut logic */
is AppliedShift -> /* Shift logic */
} } ) } } }
\end{minted}
\caption{Voorbeeld van geneste boilerplate code}\label{lst:nesting}
\end{minted}
\caption{Voorbeeld van geneste boilerplate code}\label{lst:nesting}
\end{listing}
% KERN: Overerving zorgt voor boilerplate