On Fri, Dec 13, 2013 at 01:15:48PM +0100, Petr Pudlák wrote:
> I'll add "-- * ..." section markers appropriately instead of those double
> new lines.

Sounds good.

> 
> 
> On Fri, Dec 13, 2013 at 12:57 PM, Jose A. Lopes <[email protected]>wrote:
> 
> > On Fri, Dec 13, 2013 at 12:47:49PM +0100, Petr Pudlak wrote:
> > > This puts all PyValue code into one module, getting rid of orphan
> > > instances.
> > >
> > > Signed-off-by: Petr Pudlak <[email protected]>
> > > ---
> > >  src/Ganeti/PyValueInstances.hs | 19 +++++++++++++++++--
> > >  src/Ganeti/THH.hs              | 17 ++---------------
> > >  2 files changed, 19 insertions(+), 17 deletions(-)
> > >
> > > diff --git a/src/Ganeti/PyValueInstances.hs
> > b/src/Ganeti/PyValueInstances.hs
> > > index b1ca816..4464582 100644
> > > --- a/src/Ganeti/PyValueInstances.hs
> > > +++ b/src/Ganeti/PyValueInstances.hs
> > > @@ -27,9 +27,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor,
> > Boston, MA
> > >  02110-1301, USA.
> > >
> > >  -}
> > > +{-# LANGUAGE ExistentialQuantification #-}
> > >  {-# LANGUAGE FlexibleInstances, OverlappingInstances,
> > >               TypeSynonymInstances, IncoherentInstances #-}
> >
> > Everything in the same LANGUAGE pragma.
> >
> > > -{-# OPTIONS_GHC -fno-warn-orphans #-}
> >
> > Nice that this gets removed.  Never liked this sort of stuff.
> >
> > >  module Ganeti.PyValueInstances where
> > >
> > >  import Data.List (intercalate)
> > > @@ -38,7 +38,15 @@ import qualified Data.Map as Map
> > >  import qualified Data.Set as Set (toList)
> > >
> > >  import Ganeti.BasicTypes
> > > -import Ganeti.THH
> > > +
> > > +-- | Converts Haskell values into Python values
> > > +--
> > > +-- This is necessary for the default values of opcode parameters and
> > > +-- return values.  For example, if a default value or return type is a
> > > +-- Data.Map, then it must be shown as a Python dictioanry.
> > > +class PyValue a where
> > > +  showValue :: a -> String
> > > +
> > >
> >
> > 1 empty line instead of 2.
> >
> > >  instance PyValue Bool where
> > >    showValue = show
> > > @@ -79,3 +87,10 @@ instance (PyValue k, PyValue a) => PyValue (Map k a)
> > where
> > >
> > >  instance PyValue a => PyValue (ListSet a) where
> > >    showValue = showValue . Set.toList . unListSet
> >
> > 1 empty line instead of 2.
> >
> > Rest LGTM.
> >
> > Thanks,
> > Jose
> >
> > > +
> > > +
> > > +-- | Encapsulates Python default values
> > > +data PyValueEx = forall a. PyValue a => PyValueEx a
> > > +
> > > +instance PyValue PyValueEx where
> > > +  showValue (PyValueEx x) = showValue x
> > > diff --git a/src/Ganeti/THH.hs b/src/Ganeti/THH.hs
> > > index 363c230..8f4f73d 100644
> > > --- a/src/Ganeti/THH.hs
> > > +++ b/src/Ganeti/THH.hs
> > > @@ -1,4 +1,4 @@
> > > -{-# LANGUAGE ExistentialQuantification, ParallelListComp,
> > TemplateHaskell #-}
> > > +{-# LANGUAGE ParallelListComp, TemplateHaskell #-}
> > >
> > >  {-| TemplateHaskell helper for Ganeti Haskell code.
> > >
> > > @@ -77,6 +77,7 @@ import qualified Text.JSON as JSON
> > >  import Text.JSON.Pretty (pp_value)
> > >
> > >  import Ganeti.JSON
> > > +import Ganeti.PyValueInstances
> > >
> > >  import Data.Maybe
> > >  import Data.Functor ((<$>))
> > > @@ -584,20 +585,6 @@ type OpParam = (String, Q Type, Q Exp)
> > >
> > >  -- * Python code generation
> > >
> > > --- | Converts Haskell values into Python values
> > > ---
> > > --- This is necessary for the default values of opcode parameters and
> > > --- return values.  For example, if a default value or return type is a
> > > --- Data.Map, then it must be shown as a Python dictioanry.
> > > -class PyValue a where
> > > -  showValue :: a -> String
> > > -
> > > --- | Encapsulates Python default values
> > > -data PyValueEx = forall a. PyValue a => PyValueEx a
> > > -
> > > -instance PyValue PyValueEx where
> > > -  showValue (PyValueEx x) = showValue x
> > > -
> > >  -- | Transfers opcode data between the opcode description (through
> > >  -- @genOpCode@) and the Python code generation functions.
> > >  type OpCodeDescriptor =
> > > --
> > > 1.8.5.1
> > >
> >
> > --
> > Jose Antonio Lopes
> > Ganeti Engineering
> > Google Germany GmbH
> > Dienerstr. 12, 80331, München
> >
> > Registergericht und -nummer: Hamburg, HRB 86891
> > Sitz der Gesellschaft: Hamburg
> > Geschäftsführer: Graham Law, Christine Elizabeth Flores
> > Steuernummer: 48/725/00206
> > Umsatzsteueridentifikationsnummer: DE813741370
> >

-- 
Jose Antonio Lopes
Ganeti Engineering
Google Germany GmbH
Dienerstr. 12, 80331, München

Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Graham Law, Christine Elizabeth Flores
Steuernummer: 48/725/00206
Umsatzsteueridentifikationsnummer: DE813741370

Reply via email to