LISP 12
11/9/21 LISP examples By dsimms360 on 9th November 2021 09:50:27 PM
  1. ;;11/9/21
  2.  
  3. (defun sumlist (l)
  4.   (cond
  5.     ( (null l) 0)
  6.     ( t (+ (car l) (sumlist (cdr l))))
  7.   )
  8. )
  9.  
  10. (defun multlist (l)
  11.   (cond
  12.     ( (null l) 1)
  13.     ( t (* (car l) (multlist (cdr l))))
  14.   )
  15. )
  16.  
  17. (sumlist '(2 4 6))
  18.  
  19. (multlist '(2 4 6))
  20.  
  21. (defun rember (x l)
  22.  ( cond
  23.    ( (null l) l)
  24.    ( (eq x (car l)) (rember x (cdr l)))
  25.    ( t (cons (car l) (rember x (cdr l))))
  26.  )
  27. )
  28.  
  29. (rember 2 '(2 3 7))
  30. (rember 2 '(3 2 4 5))
  31. (rember 2 '(3 2 4 2 5))
  32.  
  33. (defun firsts (l)
  34.   ( cond
  35.     ( (null l) l)
  36.     ( t (cons (car (car l)) (firsts (cdr l))))
  37.   )
  38. )
  39.  
  40. (firsts '((4 5) (6 3) (8 3 1)))
  41.  
  42. (defun replace (new old l)
  43.   ( cond
  44.     ( (null l) l)
  45.     ( (eq old (car l)) (cons new (cdr l)))
  46.     ( t (cons (car l) (replace new old (cdr l))))
  47.   )
  48. )
  49.  
  50. (defun replaceall (new old l)
  51.   ( cond
  52.     ( (null l) l)
  53.     ( (eq old (car l)) (cons new (replaceall new old (cdr l))))
  54.     ( t (cons (car l) (replaceall new old (cdr l))))
  55.   )
  56. )
  57.  
  58. (replace 3 6 '(9 4 6 5))
  59. (replace 3 6 '(6 5 7 6))
  60.  
  61. (replaceall 3 6 '(6 5 7 6))
  62.  
  63. (defun replace (new old l)
  64.   ( cond
  65.     ( (null l) l)
  66.     ( (eq old (car l)) (cons new (cdr l)))
  67.     ( t (cons (car l) (replace new old (cdr l))))
  68.   )
  69. )
  70.  
  71. (defun insertallR (new old l)
  72.   ( cond
  73.     ( (null l) l)
  74.     ( (eq old (car l)) (cons (car l) (cons new (insertallR new old (cdr l)))))
  75.     ( t (cons (car l) (insertallR new old (cdr l))))
  76.   )
  77. )
  78.  
  79. (insertR 3 6 '(6 5 2))
  80. (insertR 3 6 '(6 7 8))
  81. (insertR 3 6 '(1 4 6 7 6))
  82. (insertallR 3 6 '(1 4 6 7 6))

Paste is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.