Hi Jon,
[Also CCing the Racket mailing list. For folks who are writing bindings to graphical libraries such as SDL, the following should be relevant.] When using the Allegro bindings on Mac OS X, the user will see an exception on screen instantiation unless the program's running under a Cocoa context. Folks from other communities have figured out how to solve this. In particular, the PySDL folks have a small module to set it up. (https://github.com/albertz/PySDL/blob/master/SDL/__init__.py) I've ported the heart of this to Racket: https://gist.github.com/4526379 (Comment the use of initialize-ns-app in that code; I added it to make sure it was getting called.) initialize-ns-app provides a Cocoa context in which all the rest of the graphical library usage must occur on Mac OS X. So, typically code will look like: ;; load foreign libraries... (initiaize-ns-app (lambda () ;; Now it's safe to create the screen in here ... )) If you don't do something like this, you'll see this exception as soon as you start initializing the screen: 2013-01-13 15:07:22.716 racket[26263:707] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error (1000) creating CGSWindow on line 259' *** First throw call stack: ( 0 CoreFoundation 0x00007fff8e6ca0a6 __exceptionPreprocess + 198 1 libobjc.A.dylib 0x00007fff9681e3f0 objc_exception_throw + 43 2 CoreFoundation 0x00007fff8e6c9e7c +[NSException raise:format:] + 204 3 AppKit 0x00007fff951b2c29 _NSCreateWindowWithOpaqueShape2 + 655 4 AppKit 0x00007fff951b1420 -[NSWindow _commonAwake] + 2002 5 AppKit 0x00007fff9516fe62 -[NSWindow _commonInitFrame:styleMask:backing:defer:] + 1763 6 AppKit 0x00007fff9516efaf -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1568 7 AppKit 0x00007fff9516e97f -[NSWindow initWithContentRect:styleMask:backing:defer:] + 45 8 SDL 0x0000000102f515cc SDL_SoftStretch + 24672 9 SDL 0x0000000102f4fe38 SDL_SoftStretch + 18636 10 SDL 0x0000000102f44da1 SDL_SetVideoMode + 892 11 Racket 0x00000001002be82c ffi_call_unix64 + 76 12 ??? 0x00007fff5fbfd8d0 0x0 + 140734799796432 ) libc++abi.dylib: terminate called throwing an exception Abort trap: 6 ____________________ Racket Users list: http://lists.racket-lang.org/users