From 5ec1c926b0189bbf61d171591a92337c2a60b568 Mon Sep 17 00:00:00 2001 From: Simon Brooke Date: Mon, 4 May 2026 18:24:38 +0100 Subject: [PATCH] And, of course, I'd forgotten to add the files for `quote`. --- src/c/ops/quote.c | 26 ++++++++++++++++++++++++++ src/c/ops/quote.h | 18 ++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 src/c/ops/quote.c create mode 100644 src/c/ops/quote.h 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