Expected results for test: P3-45.pl460 P3-45.pl460 : (define (sum L) (if (null? L) 0 (if (not (number? (car L))) (sum (cdr L)) (+ (car L) (sum (cdr L))) ) ) ) (define (main) (display (sum '(2.0 5/4))) (newline) (display (sum '(03 2/5 3 78 "hello" 5))) (newline) (display (sum '(03 a 3 b 01 xyz))) (newline) (display (sum '(This list contains no numeric values))) (newline) ) (main) Input file: P3-45.pl460 0 errors found in input file P3-45.cpp : // Autogenerated PL460 to C++ Code // File: P3-45.cpp #include #include "Object.h" using namespace std; Object sum (Object L) { Object __RetVal; if (nullp (L)) { __RetVal = Object("0"); } else { if (! (numberp (listop ("car", L)))) { __RetVal = sum(listop ("cdr", L)); } else { __RetVal = (listop ("car", L) + sum(listop ("cdr", L))); } } return __RetVal; } int main () { Object __RetVal; cout << sum(Object("(2.0 5/4 )")); cout << endl; cout << sum(Object("(03 2/5 3 78 hello 5 )")); cout << endl; cout << sum(Object("(03 a 3 b 01 xyz )")); cout << endl; cout << sum(Object("(This list contains no numeric values )")); cout << endl; return 0; } PL460 program output: 3.25 447/5 7 0 C++ program output: 3.25 447/5 7 0 Differences: < pl460 | cpp > 3.25 3.25 447/5 447/5 7 7 0 0