diff --git a/snippets/userlib-tests.f b/snippets/userlib-tests.f index 150dc9e..f2d8019 100644 --- a/snippets/userlib-tests.f +++ b/snippets/userlib-tests.f @@ -120,6 +120,13 @@ (eq? (join l ".") "1.2.(3)")))) + ('extend extends sets' + (quote + (let ((s1 (1 2 3)) + (s2 (4 5 6))) + (eq? (extend s1 s2) + (1 2 3 4 5 6))))) + ;; add more test cases here )) diff --git a/snippets/userlib.f b/snippets/userlib.f index 816684b..c54167c 100644 --- a/snippets/userlib.f +++ b/snippets/userlib.f @@ -156,3 +156,9 @@ interspersing a provided delimiter in between elements' (string elem) (concat res delim elem))) list)) + +(def extend +'adds all elements in set2 to set1' + (set1 set2) + (reduce (lambda (res elem) (cons res elem)) + (prepend set1 set2)))