We're updating the issue view to help you get more done. 

Create a zipper by dispatching on type using protocols

Description

The zip namespace currently contains 3 functions for creating a zipper: `seq-zip`, `vector-zip` and `xml-zip`. These tend to expose the implementation details instead of exposing a user to just the specification details.

Proposal

A zip2 namespace that dispatches on the type, which allows curtailing the implementation details. A new zip namespace (in zip2) is proposed instead of retrofitting the protocol in the existing zip namespace in the interest of not making breaking changes by removing the existing functions. zip2 consists of a protocol to create a zipper based on the type and will be an additive API built on top of the existing zip.

Questions

Is a new namespace (zip2) the best way to go about this change? How do I retrofit this change in the existing zip namespace without making any breaking changes (the breaking change here being the removal of the existing functions that are used to create a zipper)?

Environment

None

Status

Assignee

Unassigned

Reporter

Murtaza Akbari

Labels

Approval

None

Patch

Code

Priority

Minor