\documentclass{article}

\usepackage{standalone}
\usepackage{luacas}
\usepackage{amsmath}
\usepackage{amssymb}

\usepackage[margin=1in]{geometry}
\usepackage[shortlabels]{enumitem}

\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usetikzlibrary{positioning,calc}
\usepackage{forest}
\usepackage{minted}
\usemintedstyle{pastie}
\usepackage[hidelinks]{hyperref}
\usepackage{parskip}
\usepackage{multicol}
\usepackage[most]{tcolorbox}
    \tcbuselibrary{xparse}
\usepackage{microtype}

\usepackage[
backend=biber,
style=numeric,
]{biblatex}
\addbibresource{sources.bib}

\newtcolorbox{codebox}[1][sidebyside]{
    enhanced,skin=bicolor,
    #1,
    arc=1pt,
    colframe=brown,
    colback=brown!15,colbacklower=white,
    boxrule=1pt,
    notitle
}

\definecolor{rose}{RGB}{128,0,0}
\definecolor{roseyellow}{RGB}{222,205,99}
\definecolor{roseblue}{RGB}{167,188,214}
\definecolor{rosenavy}{RGB}{79,117,139}
\definecolor{roseorange}{RGB}{232,119,34}
\definecolor{rosegreen}{RGB}{61,68,30}
\definecolor{rosewhite}{RGB}{223,209,167}
\definecolor{rosebrown}{RGB}{108,87,27}
\definecolor{rosegray}{RGB}{84,88,90}

\begin{document}

\section{The \LaTeX{} code}

As noted above, this package is really a Lua program; the package {\ttfamily luacas.sty} is merely a shell to make accessing that Lua program easy and manageable from within \LaTeX{}. 
\inputminted[
    firstline=12,
    lastline=14,
    breaklines,
    linenos,
    numbersep=5pt]
    {latex}
    {luacas.dat}

We check to make sure the user is compiling with Lua\LaTeX{}; if not, an error message is printed and compilation is aborted. 

\inputminted[
    firstline=16,
    lastline=24,
    breaklines,
    linenos,
    numbersep=5pt]
    {latex}
    {luacas.dat}

The following packages are required for various macros:

\inputminted[
    firstline=27,
    lastline=32,
    breaklines,
    linenos,
    numbersep=5pt]
    {latex}
    {luacas.dat}

The files \verb|helper.lua| and \verb|parser.lua| help bridge the gap between the Lua program and \LaTeX{}. 

\inputminted[
    firstline=35,
    lastline=37,
    breaklines,
    linenos,
    numbersep=5pt]
    {latex}
    {luacas.dat}

We now define the \mintinline{latex}{\begin{CAS}..\end{CAS}} environment:

\inputminted[
    firstline=39,
    lastline=42,
    breaklines,
    linenos,
    numbersep=5pt]
    {latex}
    {luacas.dat}

{\bf Note:} The contents are wrapped in the function \mintinline{lua}{CASparse()}. We now define the retrieving macros \mintinline{latex}{\get}, \mintinline{latex}{\fetch}, and \mintinline{latex}{\store}:

\inputminted[
    firstline=44,
    lastline=67,
    breaklines,
    linenos,
    numbersep=5pt]
    {latex}
    {luacas.dat}
And now we define the printing macros \mintinline{latex}{\print}, \mintinline{latex}{\vprint}, and \mintinline{latex}{\lprint}:

\inputminted[
    firstline=75,
    lastline=128,
    breaklines,
    linenos,
    numbersep=5pt]
    {latex}
    {luacas.dat}

And finally, we define the macros useful for printing expression trees:

\inputminted[
    firstline=130,
    lastline=230,
    breaklines,
    linenos,
    numbersep=5pt]
    {latex}
    {luacas.dat}

\end{document}