 
 <PRIVATE
 
+<<
+
 MEMO: c-type* ( name -- c-type ) c-type ;
 MEMO: heap-size* ( c-type -- n ) heap-size ;
 
 GENERIC: array-base-type ( c-type -- c-type' )
 M: object array-base-type ;
-M: string array-base-type "[" split1 drop ;
 M: array array-base-type first ;
 
 : (field-spec-of) ( field struct -- field-spec )

    define-guid-constants
    define-format-constants ;

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

: uninitialize ( variable quot -- )
    '[ _ when* f ] change-global ; inline

: free-dinput-constants ( -- )
    {

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 literals ;
SPECIALIZED-ARRAY: DIOBJECTDATAFORMAT
IN: windows.directx.dinput.constants

