diff --git a/src/c/ops/quote.c b/src/c/ops/quote.c new file mode 100644 index 0000000..88ec694 --- /dev/null +++ b/src/c/ops/quote.c @@ -0,0 +1,26 @@ +/** + * ops/quote.c + * + * Post Scarcity Soctware Environment + * + * Special form: protect an expression from evaluation. + * + * Copyright (c): 25 Apr 2026 Simon Brooke + * Licensed under GPL version 2.0, or, at your option, any later version. + */ + +#include "memory/pointer.h" +#include "memory/pso4.h" + +#include "ops/stack_ops.h" + +/** + * @brief Special form: protect an expression from evaluation. + * + * (quote expression) + * + * @return the expression. + */ +struct pso_pointer quote(struct pso_pointer frame_pointer){ + return fetch_arg(pointer_to_pso4(frame_pointer), 0); +} \ No newline at end of file diff --git a/src/c/ops/quote.h b/src/c/ops/quote.h new file mode 100644 index 0000000..6c6af0b --- /dev/null +++ b/src/c/ops/quote.h @@ -0,0 +1,18 @@ +/** + * ops/quote.c + * + * Post Scarcity Software Environment: quote. + * + * Special form: protect an expression from evaluation. + * + * (c) 2026 Simon Brooke + * Licensed under GPL version 2.0, or, at your option, any later version. + */ + +#ifndef __psse_ops_quote_h +#define __psse_ops_quote_h + +#include "memory/pointer.h" + +struct pso_pointer quote(struct pso_pointer frame_pointer); +#endif \ No newline at end of file