long ulong
longlong ulonglong
float double
- bool void*
- void ;
+ void* bool ;
+
+SINGLETON: void
DEFER: <int>
DEFER: *char
! C type protocol
GENERIC: c-type ( name -- c-type ) foldable
-: void? ( c-type -- ? )
- void = ; inline
-
PREDICATE: c-type-word < word
"c-type" word-prop ;
dup void? [ no-c-type ] when
dup c-type-name? [ c-type ] when ;
-<PRIVATE
-
-: parse-array-type ( name -- dims c-type )
- "[" split unclip
- [ [ "]" ?tail drop string>number ] map ] dip ;
-
-PRIVATE>
-
M: word c-type
dup "c-type" word-prop resolve-typedef
[ ] [ no-c-type ] ?if ;