Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Applicative TH
applicative :: Q Exp -> [Q Exp] -> Q Exp
applicative cons [] = [| pure $(cons) |]
applicative cons (x:ys) = foldl (\inner y -> [| $(inner) <*> $(y) |]) [|$(cons) <$> $(x)|] ys
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.