Can someone explain for me?
code stack
I Forth love
Forth love I
love I
Forth
; love presumably pops
; subject, object args
; from stack - and does something
; perhaps prints as side effecthttps://donhopkins.com/home/code/tomt-cam-forth-scr.txt
https://donhopkins.com/home/code/tomt-users-forth-scr.txt
( FMOVE -- functional intersegment move ) HEX
88 CONSTANT *MOV* ( fn = 0 ) 20 CONSTANT *AND* ( fn = 1 )
08 CONSTANT *OR* ( fn = 2 ) 30 CONSTANT *XOR* ( fn = 3 )
CODE FMOVE ( fn s.seg s.off d.seg d.off length --) AX, SI MOV
CX POP DI POP ES POP SI POP DS POP DX POP AX PUSH
AL, # *XOR* MOV DX, # 3 CMP 1$ JE
AL, # *OR* MOV DX, # 2 CMP 1$ JE
AL, # *AND* MOV DX, # 1 CMP 1$ JE
AL, # *MOV* MOV 1$:
CS: HERE 5 + , AL MOV ( modify "[DI], AL MOV" ) 2$:
LODS ES: [DI], AL MOV DI INC 2$ LOOP
AX, CS MOV ES, AX MOV DS, AX MOV SI POP NEXT, END-CODE
--> Forth
I3 4 +
for example, would return 7.
more pedantically, it would push 7 onto the stack
On the other hand, PostScript also has a dictionary stack, which you can use to implement a Smalltalk-like object oriented programming system. And its data types and executable code are basically polymorphic homoiconic JSON (like Lisp), not raw untyped bytes like FORTH.
That is, you provide the data first (I and Forth) and the command (heart) last.