Commit 8e50301f authored by Simon Peyton Jones's avatar Simon Peyton Jones

Test Trac #11379

parent e2c7b7ee
{-# LANGUAGE ExistentialQuantification, RankNTypes, MultiParamTypeClasses,
FunctionalDependencies, FlexibleInstances, FlexibleContexts
#-}
module XMonad.Layout.MultiToggle where
import Data.Typeable
-- This appears to be the culprit
expand :: (HList ts a) => MultiToggleS ts l a -> MultiToggle ts l a
expand (MultiToggleS b ts) =
resolve ts id
(\x mt -> let g = transform' x in mt{ currLayout = g $ currLayout mt })
(MultiToggle (EL b id) ts)
class (Typeable t) => Transformer t a | t -> a where
transform :: t
-> l a
-> (forall l'. l' a -> (l' a -> l a) -> b)
-> b
data EL l a = forall l'. EL (l' a) (l' a -> l a)
transform' :: (Transformer t a) => t -> EL l a -> EL l a
transform' t (EL l det) = undefined
data MultiToggleS ts l a = MultiToggleS (l a) ts
deriving (Read, Show)
data MultiToggle ts l a = MultiToggle{
currLayout :: EL l a,
transformers :: ts
}
class HList c a where
resolve :: c -> b -> (forall t. (Transformer t a) => t -> b) -> b
......@@ -488,3 +488,4 @@ test('T11237', normal, compile, [''])
test('T10592', normal, compile, [''])
test('T11305', normal, compile, [''])
test('T11254', normal, compile, [''])
test('T11379', normal, compile, [''])
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment