IN: gl
USING: alien gl-internals ;
-ALIAS: uint GLenum
-ALIAS: uchar GLboolean
-ALIAS: uchar* GLboolean*
-ALIAS: uint GLbitfield
-ALIAS: char GLbyte
-ALIAS: short GLshort
-ALIAS: short* GLshort*
-ALIAS: int GLint
-ALIAS: int* GLint*
-ALIAS: int GLsizei
-ALIAS: uchar GLubyte
-ALIAS: uchar* GLubyte*
-ALIAS: ushort GLushort
-ALIAS: ushort* GLushort*
-ALIAS: uint GLuint
-ALIAS: uint* GLuint*
-ALIAS: float GLfloat
-ALIAS: float* GLfloat*
-ALIAS: float GLclampf
-ALIAS: double GLdouble
-ALIAS: double* GLdouble*
-ALIAS: double GLclampd
-ALIAS: void* GLvoid*
-ALIAS: void* GLvoid**
+TYPEDEF: uint GLenum
+TYPEDEF: uchar GLboolean
+TYPEDEF: uchar* GLboolean*
+TYPEDEF: uint GLbitfield
+TYPEDEF: char GLbyte
+TYPEDEF: short GLshort
+TYPEDEF: short* GLshort*
+TYPEDEF: int GLint
+TYPEDEF: int* GLint*
+TYPEDEF: int GLsizei
+TYPEDEF: uchar GLubyte
+TYPEDEF: uchar* GLubyte*
+TYPEDEF: ushort GLushort
+TYPEDEF: ushort* GLushort*
+TYPEDEF: uint GLuint
+TYPEDEF: uint* GLuint*
+TYPEDEF: float GLfloat
+TYPEDEF: float* GLfloat*
+TYPEDEF: float GLclampf
+TYPEDEF: double GLdouble
+TYPEDEF: double* GLdouble*
+TYPEDEF: double GLclampd
+TYPEDEF: void* GLvoid*
+TYPEDEF: void* GLvoid**
! Constants
USING: alien gl-internals gl ;
! These are defined as structs in glu.h, but we only ever use pointers to them
-ALIAS: void* GLUnurbs*
-ALIAS: void* GLUquadric*
-ALIAS: void* GLUtesselator*
-ALIAS: char* GLubyte* ! is this right?
-ALIAS: void* GLUfuncptr ! will this work?
+TYPEDEF: void* GLUnurbs*
+TYPEDEF: void* GLUquadric*
+TYPEDEF: void* GLUtesselator*
+TYPEDEF: char* GLubyte* ! is this right?
+TYPEDEF: void* GLUfuncptr ! will this work?
! StringName
: GLU_VERSION 100800 ;
LIBRARY: libc
FUNCTION: ulong malloc ( ulong size ) ;
-FUNCTION: ulong free ( ulong ptr ) ;
+FUNCTION: void free ( ulong ptr ) ;
FUNCTION: ulong realloc ( ulong ptr, ulong size ) ;
FUNCTION: void memcpy ( ulong dst, ulong src, ulong size ) ;
unix? [
"/library/unix/syscalls.factor"
- ] pull-in
-
- unix? [
"/library/unix/io.factor"
"/library/unix/sockets.factor"
"/library/unix/files.factor"
! No delegation.
M: tuple simplify-node drop f ;
-: (simplify-1) ( ? list -- ? )
- dup [
- [ car simplify-node swap , or ] keep cdr (simplify-1)
- ] when ;
-
: simplify-1 ( list -- list ? )
#! Return a new linear IR.
- [ (simplify-1) ] make-list swap ;
+ dup [
+ dup car simplify-node
+ [ uncons simplify-1 drop cons t ]
+ [ uncons simplify-1 >r cons r> ] ifte
+ ] [
+ f
+ ] ifte ;
: simplify ( linear -- linear )
#! Keep simplifying until simplify-1 returns f.
- [ dup simplifying set simplify-1 ] with-scope
- [ simplify ] when ;
+ [
+ dup simplifying set simplify-1
+ ] with-scope [ simplify ] when ;
: label-called? ( label -- ? )
simplifying get [ calls-label? ] some-with? ;
IN: unix-internals
USING: alien errors kernel math namespaces ;
-ALIAS: ulonglong off_t
-ALIAS: long ssize_t
-ALIAS: ulong size_t
-ALIAS: uint socklen_t
-ALIAS: uint in_addr_t
+TYPEDEF: ulonglong off_t
+TYPEDEF: long ssize_t
+TYPEDEF: ulong size_t
+TYPEDEF: uint socklen_t
+TYPEDEF: uint in_addr_t