/*
 * $VER: foldr.ced 0.1a (27.12.94)     Author(s) : Guichard Damien
 *
 * NAME
 *     foldr
 *
 * FUNCTION
 *     Arexx-Script for CygnusEd.
 *     Generate list functions. See lists.scm for examples.
 *
 * SYNOPSIS
 *     foldr
 *
 * $HISTORY:
 *    27 Dec 1994 :   v0.1a :   initial running version.
 *
 */

OPTIONS RESULTS                             /* enable return codes     */

ADDRESS "rexx_ced"

OPTIONS FAILAT 6                            /* ignore warnings         */

/* ------------------------ INSERT YOUR CODE HERE: ------------------- */

CR = '0A'X              /* Let's use a shortcut for the "cr" string... */
GETSTRING "sum" '"function name"'
NAME = RESULT

/* Now generating (define (foldr op k list) ... ) */
IF (NAME ~= 'RESULT') THEN DO
    TEXT '(define (' || NAME || ' list)'CR
    TEXT '  (if (null? list)'CR
    GETSTRING "0" '"Result for ""nil"" list"'
    K = RESULT
    TEXT '    ' || K CR
    GETSTRING "+" '"Operation to perform on list"'
    OP = RESULT
    TEXT '    (' || OP || ' (car list) (' || NAME ||' (cdr list))'CR
    TEXT '  )'CR
    TEXT ')'CR
END

/* ---------------------------- END OF YOUR CODE --------------------- */

EXIT 0

SYNTAX:

SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
EXIT

