https://github.com/dan4thewin/FreeForth2/blob/master/ff.asm
which uses a double loop to lookup first macro words, and then immediate words
https://github.com/ablevm/able-forth/blob/current/forth.scr
Ableforth implements a defer/expand operation \ to effectively quote words. The basic loop is then simply parse a text word, look it up and execute it.
Both make use of macros (code generators) to implement deferred behaviour, as well as code inlining. Ultimately all these operations implement defer by manipulating the execution flow, something that algebraic effects also do.
I have a feeling that algebraic effects can be used in a Forth to implement DOES.