-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathmini-oof.fs
More file actions
16 lines (16 loc) · 735 Bytes
/
Copy pathmini-oof.fs
File metadata and controls
16 lines (16 loc) · 735 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\ Mini-OOF 12apr98py
: noop ;
: method ( m v "name" -- m' v ) Create over , swap cell+ swap
DOES> ( ... o -- ... ) @ over @ + @ execute ;
: var ( m v size "name" -- m v' ) Create over , +
DOES> ( o -- addr ) @ + ;
: class ( class -- class methods vars ) dup 2@ ;
: end-class ( class methods vars "name" -- )
Create here >r , dup , 2 cells ?DO ['] noop , 1 cells +LOOP
cell+ dup cell+ r> rot @ 2 cells /string move ;
: >vt ( class "name" -- addr ) ' >body @ + ;
: bind ( class "name" -- xt ) >vt @ ;
: defines ( xt class "name" -- ) >vt ! ;
: new ( class -- o ) align here over @ allot tuck ! ;
: :: ( class "name" -- ) bind compile, ;
Create object 1 cells , 2 cells ,