Compile functional