about summary refs log tree commit diff
path: root/language/dynamic
diff options
context:
space:
mode:
authorIrene Knapp <ireneista@irenes.space>2026-10-05 02:14:58 -0700
committerIrene Knapp <ireneista@irenes.space>2026-10-05 02:14:58 -0700
commit589e56e26b8e997fa748ccc8fcd5b4bfcd2241a7 (patch)
tree30d366e1d87151726e642b16e9ef0475c1622a76 /language/dynamic
parente889b122cee2eb60cd1577c22560c8918b30d749 (diff)
implement x'
this word is like ' and is shorthand to look up an execution token

Force-Push: yes
Change-Id: I672eb0c56f8eadc02a8aca14c2b5c6028a218b1b
Diffstat (limited to 'language/dynamic')
-rw-r--r--language/dynamic/interpret.e9
1 files changed, 9 insertions, 0 deletions
diff --git a/language/dynamic/interpret.e b/language/dynamic/interpret.e
index 02f3365..ff35b62 100644
--- a/language/dynamic/interpret.e
+++ b/language/dynamic/interpret.e
@@ -471,6 +471,15 @@ latest @
   ; make-immediate
 
 
+~   The word "x'", pronounced "ex-tick" or "executable-tick", quotes the
+~ following word as a constant, just like "'" does. Unlike "'", it returns the
+~ word's execution token rather than its entry pointer.
+: x' word value@ find dropstring-with-result
+  entry-to-execution-token
+  interpreter-flags @ 0x01 & { literal } if
+  ; make-immediate
+
+
 ~ Let's have strings now.
 : s"
   consume