summary refs log tree commit diff
path: root/evoke.e
diff options
context:
space:
mode:
authorIrene Knapp <ireneista@irenes.space>2026-05-20 21:35:05 -0700
committerIrene Knapp <ireneista@irenes.space>2026-05-20 21:35:05 -0700
commit272c9cf16bbca81ff0e15840c4dc8fd0bbce3ad8 (patch)
treec10fbbeccf4b6360211ee70b7566cdd213d10f71 /evoke.e
parent2fcfc1bcb59e0c1716a6a7dffcad4e0b90790a20 (diff)
the entirety of core.e now log-loads
wow!!!!!! wow

making this work required implementing comma and keyword in the log-load transform

Force-Push: yes
Change-Id: If888d89c23389720840b49b72478e4826a15a269
Diffstat (limited to 'evoke.e')
-rw-r--r--evoke.e52
1 files changed, 5 insertions, 47 deletions
diff --git a/evoke.e b/evoke.e
index 1d545b1..fa9ccb0 100644
--- a/evoke.e
+++ b/evoke.e
@@ -1,57 +1,15 @@
 ~ (cat labels.e elf.e transform.e execution.e \
-~  echo 131072 read-to-buffer; \
+~  echo 262144 read-to-buffer; \
 ~  cat core.e core-plus.e linux.e output.e \
 ~      amd64.e execution-support.e log-load.e; \
-~  echo pyrzqxgl; \
+~  echo pyrzqxgl 262144 read-to-buffer; \
+~  cat core.e; \
+~  echo 0 sys-exit pyrzqxgl; \
 ~  cat evoke.e) \
 ~     | ./quine > evoke && chmod 755 evoke && ./evoke
 
-s" source-to-precompile" variable
-
-1024 read-to-buffer
-~   We begin by outputting the actual docol routine, the one that codewords
-~ should point to. Note that this is before we've done any word header.
-here @
-dup L!' docol-codeword-value
-:rsi pack-pushcontrol
-8 :rax add-reg64-imm8
-:rax :rsi mov-reg64-reg64
-pack-next
-8 packalign
-here !
-
-~   We can't use colon to create docol, not even the part that's a word,
-~ because colon tries to dynamically invoke docol to fill in the codeword.
-s" docol" create
-here @
-dup 8 + pack64
-L@' docol-codeword-value :rax mov-reg64-imm64
-:rax push-reg64
-pack-next
-8 packalign
-here !
-
-~   Now that we have docol, colon will work and we can define exit the normal
-~ way.
-: exit
-  [ here @
-    :rsi pack-popcontrol
-    here ! ] ;asm
-
-~   Now that we have exit, semicolon will also work and we can define
-~ non-assembly words. However, it will be hard to make them do much until we
-~ have lit as well.
-: lit
-  [ here @
-    lods64
-    :rax push-reg64
-    here ! ] ;asm
-
-42 sys-exit
-
-pyrzqxgl
-~ 0 sys-exit
 s" source-to-copy-to-log" variable
+s" source-to-precompile" variable
 
 ~ (output memory start, current output point
 ~  -- output memory start, current output point)