aboutsummaryrefslogtreecommitdiff
path: root/builtin.h
diff options
context:
space:
mode:
Diffstat (limited to 'builtin.h')
-rw-r--r--builtin.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/builtin.h b/builtin.h
index 7a34315..332e882 100644
--- a/builtin.h
+++ b/builtin.h
@@ -284,6 +284,35 @@ class SpecialOptApply: public SpecialOptObj {
ReprCons *get_repr_cons();
};
+/** @class SpecialOptDelay
+ * The implementation of `delay` operator
+ */
+class SpecialOptDelay: public SpecialOptObj {
+ public:
+ SpecialOptDelay();
+ void prepare(Pair *pc);
+ Pair *call(ArgList *args, Environment * &envt,
+ Continuation * &cont, FrameObj ** &top_ptr);
+
+ ReprCons *get_repr_cons();
+};
+
+/** @class SpecialOptForce
+ * The implementation of `force` operator
+ */
+class SpecialOptForce: public SpecialOptObj {
+ private:
+ bool state;
+ PromObj* prom;
+ public:
+ SpecialOptForce();
+ void prepare(Pair *pc);
+ Pair *call(ArgList *args, Environment * &envt,
+ Continuation * &cont, FrameObj ** &top_ptr);
+
+ ReprCons *get_repr_cons();
+};
+
#define BUILTIN_PROC_DEF(func)\