fork download
  1. (defun in (elem array)
  2. (cond
  3. ((null array) nil)
  4. ((eql elem (car array)) t)
  5. (t (in elem (cdr array)))
  6. )
  7. )
  8.  
  9. (defun set (array)
  10. (cond
  11. ((null array) nil)
  12. ((in (car array) (cdr array)) (set (cdr array)))
  13. (t (cons (car array) (set (cdr array))))
  14. )
  15. )
  16.  
  17. (defun union (set1 set2)
  18. (cond
  19. ((null set1) set2)
  20. ((null set2) set1)
  21. ((in (car set2) set1) (union set1 (cdr set2)))
  22. (t (union (cons (car set2) set1) (cdr set2)))
  23. )
  24. )
  25.  
  26. (print (union '(1 2 3 4) '(6 3 4 5)))
Success #stdin #stdout #stderr 0.03s 10468KB
stdin
Standard input is empty
stdout
(5 6 1 2 3 4) 
stderr
Warning: reserving address range 0x80000c0000...0x1fffffffffff that contains memory mappings. clisp might crash later!
Memory dump:
  0x8000000000 - 0x80000bffff
  0x14a542a00000 - 0x14a542ce4fff
  0x14a542e15000 - 0x14a542e39fff
  0x14a542e3a000 - 0x14a542facfff
  0x14a542fad000 - 0x14a542ff5fff
  0x14a542ff6000 - 0x14a542ff8fff
  0x14a542ff9000 - 0x14a542ffbfff
  0x14a542ffc000 - 0x14a542ffffff
  0x14a543000000 - 0x14a543002fff
  0x14a543003000 - 0x14a543201fff
  0x14a543202000 - 0x14a543202fff
  0x14a543203000 - 0x14a543203fff
  0x14a543280000 - 0x14a54328ffff
  0x14a543290000 - 0x14a5432c3fff
  0x14a5432c4000 - 0x14a5433fafff
  0x14a5433fb000 - 0x14a5433fbfff
  0x14a5433fc000 - 0x14a5433fefff
  0x14a5433ff000 - 0x14a5433fffff
  0x14a543400000 - 0x14a543403fff
  0x14a543404000 - 0x14a543603fff
  0x14a543604000 - 0x14a543604fff
  0x14a543605000 - 0x14a543605fff
  0x14a543653000 - 0x14a543656fff
  0x14a543657000 - 0x14a543657fff
  0x14a543658000 - 0x14a543659fff
  0x14a54365a000 - 0x14a54365afff
  0x14a54365b000 - 0x14a54365bfff
  0x14a54365c000 - 0x14a54365cfff
  0x14a54365d000 - 0x14a54366afff
  0x14a54366b000 - 0x14a543678fff
  0x14a543679000 - 0x14a543685fff
  0x14a543686000 - 0x14a543689fff
  0x14a54368a000 - 0x14a54368afff
  0x14a54368b000 - 0x14a54368bfff
  0x14a54368c000 - 0x14a543691fff
  0x14a543692000 - 0x14a543693fff
  0x14a543694000 - 0x14a543694fff
  0x14a543695000 - 0x14a543695fff
  0x14a543696000 - 0x14a543696fff
  0x14a543697000 - 0x14a5436c4fff
  0x14a5436c5000 - 0x14a5436d3fff
  0x14a5436d4000 - 0x14a543779fff
  0x14a54377a000 - 0x14a543810fff
  0x14a543811000 - 0x14a543811fff
  0x14a543812000 - 0x14a543812fff
  0x14a543813000 - 0x14a543826fff
  0x14a543827000 - 0x14a54384efff
  0x14a54384f000 - 0x14a543858fff
  0x14a543859000 - 0x14a54385afff
  0x14a54385b000 - 0x14a543860fff
  0x14a543861000 - 0x14a543863fff
  0x14a543866000 - 0x14a543866fff
  0x14a543867000 - 0x14a543867fff
  0x14a543868000 - 0x14a543868fff
  0x14a543869000 - 0x14a543869fff
  0x14a54386a000 - 0x14a54386afff
  0x14a54386b000 - 0x14a543871fff
  0x14a543872000 - 0x14a543874fff
  0x14a543875000 - 0x14a543875fff
  0x14a543876000 - 0x14a543896fff
  0x14a543897000 - 0x14a54389efff
  0x14a54389f000 - 0x14a54389ffff
  0x14a5438a0000 - 0x14a5438a0fff
  0x14a5438a1000 - 0x14a5438a1fff
  0x559f94d2a000 - 0x559f94e1afff
  0x559f94e1b000 - 0x559f94f24fff
  0x559f94f25000 - 0x559f94f84fff
  0x559f94f86000 - 0x559f94fb4fff
  0x559f94fb5000 - 0x559f94fe5fff
  0x559f94fe6000 - 0x559f94fe9fff
  0x559f96637000 - 0x559f96657fff
  0x7ffeb1129000 - 0x7ffeb1149fff
  0x7ffeb11c8000 - 0x7ffeb11cbfff
  0x7ffeb11cc000 - 0x7ffeb11cdfff
WARNING: DEFUN/DEFMACRO(SET): #<PACKAGE COMMON-LISP> is locked
         Ignore the lock and proceed
WARNING: DEFUN/DEFMACRO: redefining function SET in /home/Yytdu6/prog.lisp,
         was defined in C
WARNING: DEFUN/DEFMACRO(UNION): #<PACKAGE COMMON-LISP> is locked
         Ignore the lock and proceed
WARNING: DEFUN/DEFMACRO: redefining function UNION in /home/Yytdu6/prog.lisp,
         was defined in
         /build/clisp-kw1q0a/clisp-2.49.20180218+really2.49.92/debian/build/defs1.fas