module Directory (doesFileExist) where import NHC.GreenCard %-#include %-#include %-#define TRUE 1 %-#define FALSE 0 %fun doesFileExist :: FilePath -> IO Bool %call (filePath fp) %code % struct stat st; % int err = stat(fp,&st); % if ((err==0) && S_ISREG(st.st_mode)) b=TRUE; % else { % err=0; /* MUST reset err flag! */ % b=FALSE; % } %result (bool b)