Suppose we are writing software for the embedded processors that control the turnstiles on the T (the Boston subway, that is). During the switchover from tokens to the new ``Charlie'' stored-value mag-stripe cards, the turnstiles should handle both tokens and Charlie cards. So we use the following data definition to represent payments in either form:
(define-struct magstripe-card (value)) ;;; A Payment is one of ;;; - 'token ;;; - (make-magstripe-card Number)
Develop the template for a function that takes a Payment as its argument.
;;; Grader: Ryan (define (payment-template pmnt) ;; A COND with 2 arms -- [2pts] (cond [(symbol? pmnt) ... pmnt ...] ; SYMBOL? [1pt] [else ... (magstripe-card-value pmnt) ...])) ; accessor [1pt]