M: array symbol>string [ utf8 alien>string ] map ", " join ;
+<PRIVATE
+
: special-object>string ( n -- str )
special-object utf8 alien>string ;
+: string>cpu ( str -- cpu )
+ { x86.32 x86.64 arm ppc.32 ppc.64 } [ name>> = ] with find nip ;
+
+: string>os ( str -- os )
+ { windows macosx linux } [ name>> = ] with find nip ;
+
+PRIVATE>
+
[
OBJ-CPU special-object>string string>cpu \ cpu set-global
OBJ-OS special-object>string string>os \ os set-global
: vm-compile-time ( -- string ) \ vm-compile-time get-global ;
-<PRIVATE
-
-CONSTANT: string>cpu-hash H{
- { "x86.32" x86.32 }
- { "x86.64" x86.64 }
- { "arm" arm }
- { "ppc.32" ppc.32 }
- { "ppc.64" ppc.64 }
-}
-
-CONSTANT: string>os-hash H{
- { "windows" windows }
- { "macosx" macosx }
- { "linux" linux }
-}
-
-: string>cpu ( str -- class )
- string>cpu-hash at ;
-
-: string>os ( str -- class )
- string>os-hash at ;
-
-PRIVATE>
-
: image-path ( -- path ) \ image-path get-global ;
: vm-path ( -- path ) \ vm-path get-global ;