Skip to content

Instantly share code, notes, and snippets.

View scohen's full-sized avatar

Steve Cohen scohen

View GitHub Profile
@scohen
scohen / macro.ex
Last active September 1, 2022 02:09
defmodule Zipper.Macro do
@heads 2..10
defmacro __using__(_) do
zipper_heads = Enum.map(@heads, &build_zipper_head(&1, __CALLER__))
zipper_bodies = Enum.map(@heads, &build_zipper_body(&1, __CALLER__))
unzipper_heads = Enum.map(@heads, &build_unzipper_head(&1, __CALLER__))
unzipper_bodies = Enum.map(@heads, &build_unzipper_body(&1, __CALLER__))
unzipper_base = build_unzipper_base(__CALLER__)