Task

 verify the version/revision of your currently running (compiler/interpreter/byte-compiler/runtime environment/whatever your language uses) and exit if it is too old.
 check whether the variable "bloop" exists and whether the math-function "abs()" is available and if yes compute abs(bloop).


Extra credit

 Report the number of integer variables in global scope, and their sum.


/* Get version information */
build_info();
/* build_info("5.27.0", "2012-05-08 11:27:57", "i686-pc-mingw32", "GNU Common Lisp (GCL)", "GCL 2.6.8") */
 
%@lisp_version;
/* "GCL 2.6.8" */
 
/* One can only check for user-defined objects: functions, variables, macros, ...
   Hence we won't check for 'abs, which is built-in, but for 'weekday, defined elsewhere on RosettaCode.
   Here year, month and day are 2012, 05, 29. */
 
if    subsetp({'year, 'month, 'day}, setify(values))
and   member('weekday, map(op, functions))
then  weekday(year, month, day)
else  'bad\ luck;
 
/* Sum of integer variables */
lreduce("+", sublist(map(ev, values), integerp));