# reverse-arguments: Reverse the arguments of arbitrary functions.

This module provides the `reverseArgs`

function which flips
the arguments of a function of arbitrary arity. The return
value of the flipped function can not be fully polymorphic
as this could imply it is a function.

Example:

myFlip :: (a -> b -> c -> d -> [e]) -> d -> c -> b -> a -> [e] myFlip = reverseArgs

However, if you supply a proof (of the form `IsFun a ~ 'False`

)
that a is not a function, you can also return a polymorphic type.

Example:

myFlip :: IsFun e ~ 'False => (a -> b -> c -> d -> e) -> d -> c -> b -> a -> e myFlip = reverseArgs

[Skip to Readme]

Versions | 0.1.0.0 |
---|---|

Dependencies | base (>=4.8 && <5) [details] |

License | BSD-3-Clause |

Copyright | (c) 2016 Anselm Jonas Scholl |

Author | Anselm Jonas Scholl |

Maintainer | anselm.scholl@tu-harburg.de |

Category | Data |

Source repo | head: git clone https://github.com/ajscholl/reverse-arguments.git |

Uploaded | by JonasScholl at Fri Mar 25 14:37:26 UTC 2016 |

Distributions | NixOS:0.1.0.0 |

Downloads | 287 total (15 in the last 30 days) |

Rating | (no votes yet) [estimated by rule of succession] |

Your Rating | |

Status | Docs uploaded by user Build status unknown [no reports yet] Hackage Matrix CI |

## Downloads

- reverse-arguments-0.1.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)