ihaskell-widgets: Port to vinyl-0.9

This commit is contained in:
Keito Kajitani 2019-02-09 00:28:42 +09:00
parent c070adf882
commit 17e67525f2
3 changed files with 17 additions and 2 deletions

View File

@ -102,7 +102,7 @@ library
, ipython-kernel >= 0.6.1.2
, text >= 0.11
, unordered-containers -any
, vinyl >= 0.5 && < 0.9
, vinyl >= 0.5
, vector -any
, scientific -any
, unix -any

View File

@ -1,3 +1,4 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeOperators #-}
@ -18,7 +19,12 @@ module IHaskell.Display.Widgets.Interactive
import Data.Text
import Data.Proxy
import Data.Vinyl.Core
#if MIN_VERSION_vinyl(0,9,0)
import Data.Vinyl.Core (Rec(..))
import Data.Vinyl.Recursive (recordToList, rmap, rtraverse)
#else
import Data.Vinyl.Core (Rec(..), recordToList, rmap, rtraverse)
#endif
import Data.Vinyl.Functor (Identity(..), Const(..))
import Data.Vinyl.Derived (HList)
import Data.Vinyl.Lens (type ())

View File

@ -75,7 +75,12 @@ import Text.Printf (printf)
import Data.Aeson hiding (pairs)
import Data.Aeson.Types (Pair)
import Data.Int (Int16)
#if MIN_VERSION_vinyl(0,9,0)
import Data.Vinyl (Rec(..), Dict(..))
import Data.Vinyl.Recursive ((<+>), recordToList, reifyConstraint, rmap)
#else
import Data.Vinyl (Rec(..), (<+>), recordToList, reifyConstraint, rmap, Dict(..))
#endif
import Data.Vinyl.Functor (Compose(..), Const(..))
import Data.Vinyl.Lens (rget, rput, type ())
import Data.Vinyl.TypeLevel (RecAll)
@ -844,7 +849,11 @@ setField' widget sfield val = do
-- | Pluck an attribute from a record
getAttr :: (f WidgetFields w) => IPythonWidget w -> SField f -> IO (Attr f)
#if MIN_VERSION_vinyl(0,9,0)
getAttr widget _ = rget <$> _getState <$> readIORef (state widget)
#else
getAttr widget sfield = rget sfield <$> _getState <$> readIORef (state widget)
#endif
-- | Get the value of a field.
getField :: (f WidgetFields w) => IPythonWidget w -> SField f -> IO (FieldType f)