 kernel system namespaces combinators sequences fry math accessors
 macros words quotations libc continuations generalizations
 splitting locals assocs init specialized-arrays memoize
-classes.struct strings arrays ;
+classes.struct strings arrays literals ;
 SPECIALIZED-ARRAY: DIOBJECTDATAFORMAT
 IN: windows.directx.dinput.constants
 

: define-mouse-format-constant ( -- )
    c_dfDIMouse2 [
        DIDF_RELAXIS
        DIMOUSESTATE2 heap-size
        DIMOUSESTATE2 {
            { GUID_XAxis_malloced  "lX"         0 {                DIDFT_ANYINSTANCE DIDFT_AXIS   } 0 }
            { GUID_YAxis_malloced  "lY"         0 {                DIDFT_ANYINSTANCE DIDFT_AXIS   } 0 }

    define-guid-constants
    define-format-constants ;

! [ define-constants ] "windows.directx.dinput.constants" add-startup-hook

: uninitialize ( variable quot -- )
    [ '[ _ when* f ] change-global ]
    [ drop global delete-at ] 2bi ; inline

: free-dinput-constants ( -- )
    {
