-: define-deref ( c-type -- )
- [ name>> CHAR: * prefix "alien.c-types" create ]
- [ '[ 0 _ alien-value ] ]
- bi (( c-ptr -- value )) define-inline ;
-
-: define-out ( c-type -- )
- [ name>> "alien.c-types" constructor-word ]
- [ dup '[ _ heap-size (byte-array) [ 0 _ set-alien-value ] keep ] ] bi
- (( value -- c-ptr )) define-inline ;
-
-: define-primitive-type ( c-type name -- )
- [ typedef ] [ define-deref ] [ define-out ] tri ;
-