From e31dc3d5852da7196db6a53d616bd65416a27c4b Mon Sep 17 00:00:00 2001 From: Laria Carolin Chabowski Date: Wed, 29 Mar 2023 22:33:40 +0200 Subject: [PATCH] Add global raise function --- src/builtins.c | 8 ++++++++ src/globals.apfl | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/builtins.c b/src/builtins.c index 1091589..5e949b8 100644 --- a/src/builtins.c +++ b/src/builtins.c @@ -649,6 +649,13 @@ get_optional(apfl_ctx ctx) } } +static void +impl_raise(apfl_ctx ctx) +{ + ONE_ARG(ctx, "raise"); + apfl_raise_error(ctx, -1); +} + static void symbol(apfl_ctx ctx) { @@ -718,5 +725,6 @@ apfl_builtins(apfl_ctx ctx) add_builtin(ctx, "iterate-dict", iterate_dict); add_builtin(ctx, "symbol", symbol); add_builtin(ctx, "get-optional", get_optional); + add_builtin(ctx, "raise", impl_raise); add_builtin(ctx, "getsym-Some", apfl_sym_some); } diff --git a/src/globals.apfl b/src/globals.apfl index 31c73df..b8642aa 100644 --- a/src/globals.apfl +++ b/src/globals.apfl @@ -27,6 +27,7 @@ loadfile := builtins.loadfile loadstring := builtins.loadstring get-optional := builtins.get-optional + raise := builtins.raise symbol := builtins.symbol -serialize-bytecode := builtins.-serialize-bytecode -unserialize-bytecode := builtins.-unserialize-bytecode @@ -241,6 +242,7 @@ 'keach -> keach 'each -> each 'get-optional -> get-optional + 'raise -> raise 'has-key -> has-key 'symbol -> symbol 'Some -> Some