PERDICITIVE PROGRAMING