Safe Haskell | None |
---|---|

Language | Haskell2010 |

## Synopsis

- data Tails (f :: k -> k -> Type ) (xs :: [k]) where
- mk1 :: Tails f '[x]
- mk2 :: f x y -> Tails f '[x, y]
- mk3 :: f x y -> f x z -> f y z -> Tails f '[x, y, z]
- hcmap :: forall proxy c f g xs. All c xs => proxy c -> ( forall x y. (c x, c y) => f x y -> g x y) -> Tails f xs -> Tails g xs
- hcpure :: forall proxy f c xs. All c xs => proxy c -> ( forall x y. (c x, c y) => f x y) -> Tails f xs
- hmap :: SListI xs => ( forall x y. f x y -> g x y) -> Tails f xs -> Tails g xs
- hpure :: SListI xs => ( forall x y. f x y) -> Tails f xs

# Documentation

data Tails (f :: k -> k -> Type ) (xs :: [k]) where Source #

For every tail
```
(x ': xs)
```

of the list, an
```
f x y
```

for every
```
y
```

in
```
xs
```

# Convenience constructors

# SOP-like operators

hcmap :: forall proxy c f g xs. All c xs => proxy c -> ( forall x y. (c x, c y) => f x y -> g x y) -> Tails f xs -> Tails g xs Source #