FCMP is the SAS function compilation language, allowing users to write functions and subroutines that can be used in SAS data steps, DS2 packages, and certain proc steps.
PROC FCMP allows you to compile SAS user-written functions and subroutines for use in the SAS data step, and certain SAS procs (such as modelling procs). FCMP is a language that is still under substantial development, and has significant feature improvements with every iteration of the SAS language.