Codex geïmplementeerde predicaten
This commit is contained in:
parent
a5bd38ef01
commit
44d2876f57
1 changed files with 112 additions and 3 deletions
|
@ -1,17 +1,126 @@
|
|||
%! Author = tdpeuter
|
||||
%! Date = 27/03/2025
|
||||
|
||||
% Preamble
|
||||
\documentclass[11pt]{article}
|
||||
\documentclass[11pt,a4paper]{article}
|
||||
|
||||
% Packages
|
||||
\usepackage{amsmath}
|
||||
\usepackage[dutch]{babel} % Nederlands taal
|
||||
\usepackage{enumitem} % Aanpasbare lijsten
|
||||
\usepackage[margin=1in]{geometry} % Sane marges
|
||||
\usepackage{multicol} % Meerdere kolommen
|
||||
|
||||
\title{Ghent Prolog}
|
||||
\author{Tibo De Peuter}
|
||||
\date{\today}
|
||||
|
||||
% Document
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
% Lexer op basis van https://craftinginterpreters.com/scanning.html
|
||||
|
||||
\appendix
|
||||
\newpage
|
||||
|
||||
\section{Geïmplementeerde predicaten}\label{sec:predicaten}
|
||||
|
||||
\begin{multicols}{2}
|
||||
\begin{itemize}[label={}]
|
||||
\item \textbf{Analysing and Constructing Terms}
|
||||
\begin{itemize}
|
||||
\item \texttt{functor/3}
|
||||
\item \texttt{arg/3}
|
||||
\item \texttt{=..}
|
||||
\item \texttt{numbervars/1}
|
||||
\item \texttt{numbervars/3}
|
||||
\end{itemize}
|
||||
\item \textbf{Arithmetic}
|
||||
\begin{itemize}
|
||||
\item \texttt{between/3}
|
||||
\item \texttt{succ/2}
|
||||
\item \texttt{plus/3}
|
||||
\item \texttt{=\textbackslash=/2}
|
||||
\item \texttt{=:=/2}
|
||||
\item \texttt{is/2}
|
||||
\item \texttt{-/1}
|
||||
\item \texttt{+/1}
|
||||
\item \texttt{+/2}
|
||||
\item \texttt{*/2}
|
||||
\item \texttt{//2}
|
||||
\item \texttt{inf/0}
|
||||
\end{itemize}
|
||||
\item \textbf{Comparison and Unification of Terms}
|
||||
\begin{itemize}
|
||||
\item \texttt{=/2}
|
||||
\item \texttt{\textbackslash=/2}
|
||||
\item \texttt{==/2}
|
||||
\item \texttt{\textbackslash==/2}
|
||||
\end{itemize}
|
||||
\item \textbf{Control Predicates}
|
||||
\begin{itemize}
|
||||
\item \texttt{fail/0}
|
||||
\item \texttt{false/0}
|
||||
\item \texttt{true/0}
|
||||
\item \texttt{!/0}
|
||||
\item \texttt{,/2}
|
||||
\item \texttt{;/2}
|
||||
\item \texttt{|/2}
|
||||
\item \texttt{\textbackslash+/1}
|
||||
\end{itemize}
|
||||
\item \textbf{Database}
|
||||
\begin{itemize}
|
||||
\item \texttt{retract/1}
|
||||
\item \texttt{retractall/1}
|
||||
\item \texttt{asserta/1}
|
||||
\item \texttt{assertz/1}
|
||||
\item \texttt{assert/1}
|
||||
\end{itemize}
|
||||
\item \textbf{Declaring predicate properties}
|
||||
\begin{itemize}
|
||||
\item \texttt{dynamic/1}
|
||||
\end{itemize}
|
||||
\item \textbf{Delimited continuations}
|
||||
\begin{itemize}
|
||||
\item \texttt{reset/3}
|
||||
\item \texttt{shift/1}
|
||||
\end{itemize}
|
||||
\item \textbf{Examining the program}
|
||||
\begin{itemize}
|
||||
\item \texttt{clause/2}
|
||||
\end{itemize}
|
||||
\item \textbf{Forall}
|
||||
\begin{itemize}
|
||||
\item \texttt{forall/2}
|
||||
\end{itemize}
|
||||
\item \textbf{Loading Prolog source files}
|
||||
\begin{itemize}
|
||||
\item \texttt{consult/1}
|
||||
\item \texttt{initialization/1}
|
||||
\end{itemize}
|
||||
\item \textbf{Meta-Call Predicates}
|
||||
\begin{itemize}
|
||||
\item \texttt{call/1}
|
||||
\item \texttt{once/1}
|
||||
\item \texttt{ignore/1}
|
||||
\end{itemize}
|
||||
\item \textbf{Primitive character I/O}
|
||||
\begin{itemize}
|
||||
\item \texttt{nl/0}
|
||||
\end{itemize}
|
||||
\item \textbf{Term reading and writing}
|
||||
\begin{itemize}
|
||||
\item \texttt{write/1}
|
||||
\item \texttt{writeln/1}
|
||||
\item \texttt{read/1}
|
||||
\end{itemize}
|
||||
\item \textbf{Verify Type of a Term}
|
||||
\begin{itemize}
|
||||
\item \texttt{var/1}
|
||||
\item \texttt{nonvar/1}
|
||||
\item \texttt{atom/1}
|
||||
\item \texttt{compound/1}
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{multicols}
|
||||
|
||||
\end{document}
|
Reference in a new issue