\doxysection{lispops.\+h}
\hypertarget{lispops_8h_source}{}\label{lispops_8h_source}\index{workspace/post-\/scarcity/src/ops/lispops.h@{workspace/post-\/scarcity/src/ops/lispops.h}}
\mbox{\hyperlink{lispops_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00001}00001\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00002}00002\ \textcolor{comment}{\ *\ lispops.h}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00003}00003\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00004}00004\ \textcolor{comment}{\ *\ List\ processing\ operations.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00005}00005\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00006}00006\ \textcolor{comment}{\ *\ The\ general\ idea\ here\ is\ that\ a\ list\ processing\ operation\ is\ a}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00007}00007\ \textcolor{comment}{\ *\ function\ which\ takes\ two\ arguments,\ both\ cons\_pointers:}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00008}00008\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00009}00009\ \textcolor{comment}{\ *\ 1.\ args,\ the\ argument\ list\ to\ this\ function;}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00010}00010\ \textcolor{comment}{\ *\ 2.\ env,\ the\ environment\ in\ which\ this\ function\ should\ be\ evaluated;}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00011}00011\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00012}00012\ \textcolor{comment}{\ *\ and\ returns\ a\ cons\_pointer,\ the\ result.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00013}00013\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00014}00014\ \textcolor{comment}{\ *\ They\ must\ all\ have\ the\ same\ signature\ so\ that\ I\ can\ call\ them\ as}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00015}00015\ \textcolor{comment}{\ *\ function\ pointers.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00016}00016\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00017}00017\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00018}00018\ \textcolor{comment}{\ *\ (c)\ 2017\ Simon\ Brooke\ <simon@journeyman.cc>}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00019}00019\ \textcolor{comment}{\ *\ Licensed\ under\ GPL\ version\ 2.0,\ or,\ at\ your\ option,\ any\ later\ version.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00020}00020\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00021}00021\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00022}00022\ \textcolor{preprocessor}{\#ifndef\ \_\_psse\_lispops\_h}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00023}00023\ \textcolor{preprocessor}{\#define\ \_\_psse\_lispops\_h}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00024}00024\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00025}00025\ \textcolor{keyword}{extern}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_ae98f233f522769b02aa734cc43a0fe7b}{prompt\_name}};}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00026}00026\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00027}00027\ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00028}00028\ \textcolor{comment}{\ *\ utilities}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00029}00029\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00030}00030\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00031}00031\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a8e1a3da3aea36db9cf736ceb76046810}{c\_keys}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ store\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00032}00032\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00033}00033\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a3222877b61c27e3b6f0d18d485fbe143}{c\_reverse}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ arg\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00034}00034\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00035}00035\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a643f4b78bb2f84baae37a6f73085470b}{c\_progn}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00036}00036\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00037}00037\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ expressions,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00038}00038\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00039}00039\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00040}00040\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00041}00041\ \textcolor{comment}{\ *\ Useful\ building\ block;\ evaluate\ this\ single\ form\ in\ the\ context\ of\ this}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00042}00042\ \textcolor{comment}{\ *\ parent\ stack\ frame\ and\ this\ environment.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00043}00043\ \textcolor{comment}{\ *\ @param\ parent\ the\ parent\ stack\ frame.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00044}00044\ \textcolor{comment}{\ *\ @param\ form\ the\ form\ to\ be\ evaluated.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00045}00045\ \textcolor{comment}{\ *\ @param\ env\ the\ evaluation\ environment.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00046}00046\ \textcolor{comment}{\ *\ @return\ the\ result\ of\ evaluating\ the\ form.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00047}00047\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00048}00048\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a44a5860734b40a3b74b9bcf681422017}{eval\_form}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *parent,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00049}00049\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ parent\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00050}00050\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ form,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00051}00051\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00052}00052\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00053}00053\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00054}00054\ \textcolor{comment}{\ *\ eval\ all\ the\ forms\ in\ this\ \`{}list`\ in\ the\ context\ of\ this\ stack\ \`{}frame`}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00055}00055\ \textcolor{comment}{\ *\ and\ this\ \`{}env`,\ and\ return\ a\ list\ of\ their\ values.\ If\ the\ arg\ passed\ as}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00056}00056\ \textcolor{comment}{\ *\ \`{}list`\ is\ not\ in\ fact\ a\ list,\ return\ nil.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00057}00057\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00058}00058\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a75b0b6eb243d1137eb9daa78d03e51f6}{eval\_forms}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00059}00059\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00060}00060\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ list,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00061}00061\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00062}00062\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00063}00063\ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00064}00064\ \textcolor{comment}{\ *\ special\ forms}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00065}00065\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00066}00066\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a723a97602491ca6737289d7437f96d40}{lisp\_eval}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00067}00067\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00068}00068\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00069}00069\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a5f46a92d58e16619fe9f3df406948f7f}{lisp\_apply}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00070}00070\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00071}00071\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00072}00072\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00073}00073\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_aa555248e9a265261bf7f2b2395b01b54}{lisp\_keys}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00074}00074\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00075}00075\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00076}00076\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00077}00077\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_ada3567423dc08d9a59a5c5fff911aa2a}{lisp\_oblist}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00078}00078\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00079}00079\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00080}00080\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00081}00081\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_acb0b12e6b1e85b766821e6a088d98d43}{lisp\_set}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00082}00082\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00083}00083\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00084}00084\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00085}00085\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_abcba0ec3ef4ee8df493af82538e06fd2}{lisp\_set\_shriek}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00086}00086\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00087}00087\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00088}00088\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00089}00089\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00090}00090\ \textcolor{comment}{\ *\ Construct\ an\ interpretable\ function.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00091}00091\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00092}00092\ \textcolor{comment}{\ *\ @param\ frame\ the\ stack\ frame\ in\ which\ the\ expression\ is\ to\ be\ interpreted;}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00093}00093\ \textcolor{comment}{\ *\ @param\ lexpr\ the\ lambda\ expression\ to\ be\ interpreted;}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00094}00094\ \textcolor{comment}{\ *\ @param\ env\ the\ environment\ in\ which\ it\ is\ to\ be\ intepreted.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00095}00095\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00096}00096\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_ad01fa34e71190873e229778577b350d0}{lisp\_lambda}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00097}00097\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00098}00098\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00099}00099\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a5ce5878a7fe40eb09fbae6b6c3111cdd}{lisp\_length}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00100}00100\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00101}00101\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );\textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00102}00102\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00103}00103\ \textcolor{comment}{\ *\ Construct\ an\ interpretable\ special\ form.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00104}00104\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00105}00105\ \textcolor{comment}{\ *\ @param\ frame\ the\ stack\ frame\ in\ which\ the\ expression\ is\ to\ be\ interpreted;}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00106}00106\ \textcolor{comment}{\ *\ @param\ env\ the\ environment\ in\ which\ it\ is\ to\ be\ intepreted.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00107}00107\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00108}00108\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a022029c6b7753a6f99fcba31ca51751f}{lisp\_nlambda}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00109}00109\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00110}00110\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00111}00111\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00112}00112\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_ac8551f91422af8672b2b35b097e073d0}{lisp\_quote}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00113}00113\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00114}00114\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00115}00115\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00116}00116\ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00117}00117\ \textcolor{comment}{\ *\ functions}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00118}00118\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00119}00119\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a02dbbf32cdf97a3c49d03de2af28b56d}{lisp\_assoc}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00120}00120\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00121}00121\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00122}00122\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a17fe7aebbf97744d912402087ae1622b}{lisp\_cons}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00123}00123\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00124}00124\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00125}00125\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a3a7c2b4fe66e0c4b62f274443c9add70}{lisp\_car}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00126}00126\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00127}00127\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00128}00128\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_ad4fc50e8dfc244fa5881ef577c000d49}{lisp\_cdr}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00129}00129\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00130}00130\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00131}00131\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a53cd12e5e167232513707b89291e6d08}{lisp\_inspect}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00132}00132\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00133}00133\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00134}00134\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a1bcd755166a33b1cc3952ee495bfcffb}{lisp\_eq}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00135}00135\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00136}00136\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00137}00137\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_aa5c4d9285dc36c3231cb93af9e9192bf}{lisp\_equal}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00138}00138\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00139}00139\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00140}00140\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_ad10bc08ad7c7e794b180cf27cfed1d0d}{lisp\_print}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00141}00141\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00142}00142\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00143}00143\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a211a982339c3c992f77a436d3872a958}{lisp\_read}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00144}00144\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00145}00145\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00146}00146\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_ab9755455107909ddd1f0f4eaacebd3e1}{lisp\_repl}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00147}00147\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00148}00148\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00149}00149\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_ae3d8526a48dadb8a2d1042eb1a30599d}{lisp\_reverse}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00150}00150\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00151}00151\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00152}00152\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00153}00153\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00154}00154\ \textcolor{comment}{\ *\ Function:\ Get\ the\ Lisp\ type\ of\ the\ single\ argument.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00155}00155\ \textcolor{comment}{\ *\ @param\ frame\ My\ stack\ frame.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00156}00156\ \textcolor{comment}{\ *\ @param\ env\ My\ environment\ (ignored).}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00157}00157\ \textcolor{comment}{\ *\ @return\ As\ a\ Lisp\ string,\ the\ tag\ of\ the\ object\ which\ is\ the\ argument.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00158}00158\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00159}00159\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a7647de62289a00570d25be62cc3d3a58}{lisp\_type}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00160}00160\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00161}00161\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00162}00162\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00163}00163\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00164}00164\ \textcolor{comment}{\ *\ Function;\ evaluate\ the\ forms\ which\ are\ listed\ in\ my\ single\ argument}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00165}00165\ \textcolor{comment}{\ *\ sequentially\ and\ return\ the\ value\ of\ the\ last.\ This\ function\ is\ called\ 'do'}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00166}00166\ \textcolor{comment}{\ *\ in\ some\ dialects\ of\ Lisp.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00167}00167\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00168}00168\ \textcolor{comment}{\ *\ @param\ frame\ My\ stack\ frame.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00169}00169\ \textcolor{comment}{\ *\ @param\ env\ My\ environment\ (ignored).}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00170}00170\ \textcolor{comment}{\ *\ @return\ the\ value\ of\ the\ last\ form\ on\ the\ sequence\ which\ is\ my\ single}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00171}00171\ \textcolor{comment}{\ *\ argument.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00172}00172\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00173}00173\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a9831a05871538397b3bd1f6ee83a6b54}{lisp\_progn}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00174}00174\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00175}00175\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00176}00176\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00177}00177\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00178}00178\ \textcolor{comment}{\ *\ Special\ form:\ conditional.\ Each\ arg\ is\ expected\ to\ be\ a\ list;\ if\ the\ first}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00179}00179\ \textcolor{comment}{\ *\ item\ in\ such\ a\ list\ evaluates\ to\ non-\/NIL,\ the\ remaining\ items\ in\ that\ list}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00180}00180\ \textcolor{comment}{\ *\ are\ evaluated\ in\ turn\ and\ the\ value\ of\ the\ last\ returned.\ If\ no\ arg\ (clause)}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00181}00181\ \textcolor{comment}{\ *\ has\ a\ first\ element\ which\ evaluates\ to\ non\ NIL,\ then\ NIL\ is\ returned.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00182}00182\ \textcolor{comment}{\ *\ @param\ frame\ My\ stack\ frame.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00183}00183\ \textcolor{comment}{\ *\ @param\ env\ My\ environment\ (ignored).}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00184}00184\ \textcolor{comment}{\ *\ @return\ the\ value\ of\ the\ last\ form\ of\ the\ first\ successful\ clause.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00185}00185\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00186}00186\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_ada539c994fddd1943492b6c0a9abdcb7}{lisp\_cond}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00187}00187\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00188}00188\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00189}00189\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00190}00190\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00191}00191\ \textcolor{comment}{\ *\ Throw\ an\ exception.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00192}00192\ \textcolor{comment}{\ *\ \`{}throw\_exception`\ is\ a\ misnomer,\ because\ it\ doesn't\ obey\ the\ calling}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00193}00193\ \textcolor{comment}{\ *\ signature\ of\ a\ lisp\ function;\ but\ it\ is\ nevertheless\ to\ be\ preferred\ to}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00194}00194\ \textcolor{comment}{\ *\ make\_exception.\ A\ real\ \`{}throw\_exception`,\ which\ does,\ will\ be\ needed.}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00195}00195\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00196}00196\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a24b5ba8eb0cb1705e44fdf3cd90d6f75}{throw\_exception}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ message,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00197}00197\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00198}00198\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00199}00199\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a2a9243d54e3891ae97b25dd314a91a2a}{lisp\_exception}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00200}00200\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00201}00201\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00202}00202\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00203}00203\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a0b72bf4f6e9fb8381c0e6c73da6c26c9}{lisp\_source}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00204}00204\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00205}00205\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00206}00206\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00207}00207\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_ad91d964e274bbb8abf38aaa3522664a2}{c\_append}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ l1,\ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ l2\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00208}00208\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00209}00209\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_abdc42c3fca33f19b155b35ef0a572680}{lisp\_append}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00210}00210\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00211}00211\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00212}00212\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00213}00213\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a1537dbeaaee54b95ab9ca1c12307bb52}{lisp\_mapcar}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00214}00214\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00215}00215\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00216}00216\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00217}00217\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_ad5ed6a7754f8aac2352165f675549f3c}{lisp\_list}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00218}00218\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00219}00219\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00220}00220\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00221}00221\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a536dcbdd60e4ff3bf74b617e488b0c75}{lisp\_let}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00222}00222\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00223}00223\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00224}00224\ }
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00225}00225\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ \mbox{\hyperlink{lispops_8h_a5cfeb36141e705d2f5a885c57af4674e}{lisp\_try}}(\ struct\ \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\_frame}}\ *frame,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00226}00226\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ frame\_pointer,}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00227}00227\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ env\ );}
\DoxyCodeLine{\Hypertarget{lispops_8h_source_l00228}00228\ \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
