Question

I need to write a function in Scheme that acts as a zipper - meaning it takes two lists and creates a 'zipper' out of the two lists such that

(zip '(a b c) '(1 2 3)) => ((a 1) (b 2) (c 3))

Furthermore it takes each element in the nth position and pairs them together.

I'm fairly new to Scheme, so any help would be much appreciated! Thanks!

Was it helpful?

Solution

From my Standard Prelude: (define (zip . xss) (apply map list xss))

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top