Final Paper to Appear in PLDI ' 97 Flick : A Flexible , Optimizing IDL