: base [ 0 _d ] literal ;
: here [ 1 cells _d ] literal @ ;
: allot [ 1 cells _d ] literal +! ;
+: _latest [ 2 cells _d ] literal ;
: state [ 3 cells _d ] literal ;
: _compxt [ 4 cells _d ] literal ;
: _source [ 5 cells _d ] literal ;
swap postpone literal postpone literal ; imm
: ." postpone s" state @ if ['] type compile, else type then ; imm
+: create : here [ 4 cells ] literal + postpone literal postpone ; 0 , ;
+: >body cell+ @ ;
+
+: _does> _latest @ @ [ 4 cells ] literal +
+ ['] _jmp @ over !
+ r@ [ 2 cells ] literal +
+ swap cell+ ! ;
+
+: does> ['] _does> compile, ['] exit compile, ; imm
+
+: variable create [ 1 cells ] literal allot ;
+: constant create , does> @ ;
+
: move dup 0 <= if drop 2drop exit then
>r 2dup < r> swap if
1- 0 swap do over i + c@ over i + c! -1 +loop
: fibs 10 0 do i fib . loop cr ;
+5 constant five
+five .
fibs ." hello world"