| DOES> ( -- addr ) |
DOES> ( -- addr ) |
| [ 2 cells ] Literal + @ ; |
[ 2 cells ] Literal + @ ; |
| |
|
| : lib: ( "name" "file" -- ) |
: library ( "name" "file" -- ) |
| \G loads library "file" and creates a proc defining word "name" |
\G loads library "file" and creates a proc defining word "name" |
| \G library format: |
\G library format: |
| \G linked list of libraries |
\G linked list of libraries |
| |
|
| : init-shared-libs ( -- ) |
: init-shared-libs ( -- ) |
| defers 'cold libs |
defers 'cold libs |
| BEGIN @ dup WHILE >r |
0 libs BEGIN @ dup WHILE dup REPEAT drop |
| |
BEGIN dup WHILE >r |
| r@ @lib |
r@ @lib |
| r@ 2 cells + BEGIN @ dup WHILE r@ over @proc REPEAT |
r@ 2 cells + BEGIN @ dup WHILE r@ over @proc REPEAT |
| drop r> |
drop rdrop |
| REPEAT drop ; |
REPEAT drop ; |
| |
|
| ' init-shared-libs IS 'cold |
' init-shared-libs IS 'cold |