aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDavid Waern <david.waern@gmail.com>2008-07-20 11:21:46 +0000
committerDavid Waern <david.waern@gmail.com>2008-07-20 11:21:46 +0000
commit9f215339900126328ccbdef6527634c34f44d56b (patch)
treeb99a7a8ee4766e0dca86bd2b4153fc838374aeb6 /tests
parentb888192534c7c070647755f1778fa5a55002d87f (diff)
Preparation for rendering instances as separate declarations
We want to be able to render instances as separate declarations. So we remove the Name argument of ExportDecl, since instances are nameless. This patch also contains the first steps needed to gather type family instances and display them in the backend, but the implementation is far from complete. Because of this, we don't actually show the instances yet.
Diffstat (limited to 'tests')
-rw-r--r--tests/tests/TypeFamilies.hs28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/tests/TypeFamilies.hs b/tests/tests/TypeFamilies.hs
new file mode 100644
index 00000000..561f95fd
--- /dev/null
+++ b/tests/tests/TypeFamilies.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE TypeFamilies #-}
+
+module TypeFamilies where
+
+-- | Type family G
+type family G a :: *
+
+-- | A class with an associated type
+class A a where
+ -- | An associated type
+ data B a :: * -> *
+ -- | A method
+ f :: B a Int
+
+-- | Doc for family
+type family F a
+
+
+-- | Doc for G Int
+type instance G Int = Bool
+type instance G Float = Int
+
+
+instance A Int where
+ data B Int x = Con x
+ f = Con 3
+
+g = Con 5