From 8a6ae0bd379e701cb1646330b95b371aa3ac8613 Mon Sep 17 00:00:00 2001 From: Alec Theriault Date: Wed, 15 Feb 2017 15:59:24 -0800 Subject: [PATCH] Enable 'PolyKinds' in Linear.Trace (#122) This turns on 'PolyKinds' for appropriate GHC versions in 'Linear.Trace'. The particular motivation is to generalize the `instance Dim * n => Trace (V * n)` to the kind `Nat`, such that `trace m` compiles for types like `m :: V 5 (V 5 n)`. Fixes #121 --- src/Linear/Trace.hs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Linear/Trace.hs b/src/Linear/Trace.hs index 2c7a5c4..005152b 100644 --- a/src/Linear/Trace.hs +++ b/src/Linear/Trace.hs @@ -1,6 +1,9 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE DefaultSignatures #-} +#if __GLASGOW_HASKELL__ >= 707 +{-# LANGUAGE PolyKinds #-} +#endif #if __GLASGOW_HASKELL__ >= 702 && __GLASGOW_HASKELL__ < 710 {-# LANGUAGE Trustworthy #-} #endif