Thursday, October 2, 2025
What questions do you have? What questions does your neighbor have?
evalExpr
\[ \fbox{$\rho \vdash e \Downarrow\rho'$} \]
valToBool i.e. “truthy”
\[ \fbox{$v\Downarrow_bb$} \]
\(\inferrule[EvalBool]{ \phantom{\Downarrow} }{ b\Downarrow_bb }\)
\(\inferrule[EvalNumZero]{ n= 0 }{ n\Downarrow_b\mathbf{false} }\)
\(\inferrule[EvalNumNotZero]{ n\neq 0 }{ n\Downarrow_b\mathbf{true} }\)
valToNum \[
\fbox{$v\Downarrow_nn$}
\]
evalUop \[
\fbox{$\mathit{uop}, v_1 \hookrightarrow v$}
\]
\(\inferrule[EvalLogicalNegate]{ v_1 \Downarrow_bb }{ \texttt{!}, v_1 \hookrightarrow \neg b }\)
\(\inferrule[EvalNumericalNegate]{ v_1 \Downarrow_nn }{ \texttt{-}, v_1 \hookrightarrow - n }\)
evalBop \[
\fbox{$\mathit{bop}, v_1, v_2 \hookrightarrow v$}
\]