+\ ---- Loading files ---- {{{
+
+: charlist>cstr ( charlist addr -- n )
+
+ dup 2swap ( origaddr addr charlist )
+
+ begin
+ nil? false =
+ while
+ 2dup cdr 2swap car
+ drop ( origaddr addr charlist char )
+ -rot 2swap ( origaddr charlist addr char )
+ over !
+ 1+ -rot ( origaddr nextaddr charlist )
+ repeat
+
+ 2drop ( origaddr finaladdr )
+ swap -
+;
+
+: load ( addr n -- finalResult )
+ open-input-file
+
+ empty-parse-str
+
+ ok-symbol ( port res )
+
+ begin
+ 2over read-port ( port res obj )
+
+ 2dup EOF character-type objeq? if
+ 2drop 2swap close-port
+ exit
+ then
+
+ 2swap 2drop ( port obj )
+
+ global-env obj@ eval ( port res )
+ again
+;
+
+\ }}}
+
+\ ---- Standard Library ---- {{{
+
+ include scheme-primitives.4th
+
+ s" scheme-library.scm" load 2drop
+
+\ }}}
+