aboutsummaryrefslogtreecommitdiff
path: root/html-test/src/FunArgs.hs
blob: 9d7c19dc454c78825d38e7b3f5c3ace2865014b0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{-# LANGUAGE Haskell2010 #-}
{-# LANGUAGE RankNTypes, DataKinds, TypeFamilies #-}
module FunArgs where

f :: forall a. Ord a
  => Int          -- ^ First argument
  -> a            -- ^ Second argument
  -> Bool         -- ^ Third argument
  -> (a -> a)     -- ^ Fourth argument
  -> ()           -- ^ Result
f = undefined


g :: a -- ^ First argument
  -> b -- ^ Second argument
  -> c -- ^ Third argument
  -> d -- ^ Result
g = undefined


h :: forall a b c
  .  a -- ^ First argument
  -> b -- ^ Second argument
  -> c -- ^ Third argument
  -> forall d. d -- ^ Result
h _ _ _ = undefined


i :: forall a (b :: ()) d. (d ~ '())
  => forall c
  .  a b c d -- ^ abcd
  -> ()      -- ^ Result
i = undefined


j :: forall proxy (a :: ()) b
  .  proxy a -- ^ First argument
  -> b       -- ^ Result
j = undefined