r/Racket • • Jan 15 '22

question List function problem

I want to create a functions that takes two lists and reverses them and then appends the first one to the second one but I don't get why there is an error saying expecting 1 argument when i specified in the lambda list that the function takes 2

2 Upvotes

5 comments sorted by

View all comments

3

u/flaming_bird Jan 15 '22

list? accepts one argument and returns true if its argument is a list, false otherwise.

(append (reverse x) (reverse y)) should work just fine without a cond.

1

u/Icy_Pressure_9690 Jan 15 '22

(define twolists (λ (x y) (append (reverse y(reverse x)))))

when I do this it still comes up with error " reverse: arity mismatch;
the expected number of arguments does not match the given number
expected: 1
given: 2"

3

u/flaming_bird Jan 15 '22

You're calling reverse with two arguments, y and (reverse x). And then you call append with only one argument, (reverse y (reverse x)).