File: T10819.hs

package info (click to toggle)
haskell-ghc-exactprint 1.7.1.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,044 kB
  • sloc: haskell: 32,076; makefile: 7
file content (28 lines) | stat: -rw-r--r-- 479 bytes parent folder | download | duplicates (3)
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
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TemplateHaskell #-}

module T10819 where

import T10819_Lib

import Language.Haskell.TH.Syntax

class C a b | b -> a where
  f :: b -> a

data D = X

instance C Int D where
  f X = 2

$(doSomeTH "N" (mkName "D")
    [DerivClause Nothing [ConT (mkName "C") `AppT` ConT (mkName "Int")]])

thing :: N
thing = N X

thing1 :: Int
thing1 = f thing