[ create a new paste ] login | about

Link: http://codepad.org/57fUfmw6    [ raw code | fork ]

Scheme, pasted on Feb 7:
(define car&cdr 
  (lambda (s slst errval)
    (letrec ((carHelp
              (lambda (s slst final)
                (cond
                  ((null? slst) errval) ;base case
                  ((list? (car slst)) (> (count-occurrences s (car slst)) 0) 
                                      (carHelp s (car slst) (string-append "(car " final ")"))
                                      (carHelp s (cdr slst) (string-append "(cdr " final ")")))
                  ((equal? s (car slst))   
                   (string-append "(lambda (lst)"
                                   "(car " final ")")
                                   
                                   )
                  (else (carHelp s (cdr slst) (string-append "(cdr " final ")")))
                  
                  )
                )))
      (carHelp s slst "slst))")
      )))

(define count-occurrences 
  (lambda (x alist)
    (cond
      ((null? alist) 0) ;base case - empty list
      ; recursive cases
      ((list? (car alist)) (+ (count-occurrences x (car alist)) (count-occurrences x (cdr alist))))
      ((equal? x (car alist)) (+ 1 (count-occurrences x (cdr alist)))) 
      (else                  (count-occurrences x (cdr alist)))
      )))  


Output:
No errors or program output.


Create a new paste based on this one


Comments: