{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE StandaloneKindSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} module Torch.GraduallyTyped.NN.Type where import Data.Singletons.TH (genSingletons) import GHC.Generics (Generic) data HasBias = WithBias | WithoutBias deriving stock (HasBias -> HasBias -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: HasBias -> HasBias -> Bool $c/= :: HasBias -> HasBias -> Bool == :: HasBias -> HasBias -> Bool $c== :: HasBias -> HasBias -> Bool Eq, Eq HasBias HasBias -> HasBias -> Bool HasBias -> HasBias -> Ordering HasBias -> HasBias -> HasBias forall a. Eq a -> (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: HasBias -> HasBias -> HasBias $cmin :: HasBias -> HasBias -> HasBias max :: HasBias -> HasBias -> HasBias $cmax :: HasBias -> HasBias -> HasBias >= :: HasBias -> HasBias -> Bool $c>= :: HasBias -> HasBias -> Bool > :: HasBias -> HasBias -> Bool $c> :: HasBias -> HasBias -> Bool <= :: HasBias -> HasBias -> Bool $c<= :: HasBias -> HasBias -> Bool < :: HasBias -> HasBias -> Bool $c< :: HasBias -> HasBias -> Bool compare :: HasBias -> HasBias -> Ordering $ccompare :: HasBias -> HasBias -> Ordering Ord, Int -> HasBias -> ShowS [HasBias] -> ShowS HasBias -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [HasBias] -> ShowS $cshowList :: [HasBias] -> ShowS show :: HasBias -> String $cshow :: HasBias -> String showsPrec :: Int -> HasBias -> ShowS $cshowsPrec :: Int -> HasBias -> ShowS Show, forall x. Rep HasBias x -> HasBias forall x. HasBias -> Rep HasBias x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep HasBias x -> HasBias $cfrom :: forall x. HasBias -> Rep HasBias x Generic) genSingletons [''HasBias] deriving instance Show (SHasBias hasBias) data HasDropout = WithDropout | WithoutDropout deriving stock (HasDropout -> HasDropout -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: HasDropout -> HasDropout -> Bool $c/= :: HasDropout -> HasDropout -> Bool == :: HasDropout -> HasDropout -> Bool $c== :: HasDropout -> HasDropout -> Bool Eq, Eq HasDropout HasDropout -> HasDropout -> Bool HasDropout -> HasDropout -> Ordering HasDropout -> HasDropout -> HasDropout forall a. Eq a -> (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: HasDropout -> HasDropout -> HasDropout $cmin :: HasDropout -> HasDropout -> HasDropout max :: HasDropout -> HasDropout -> HasDropout $cmax :: HasDropout -> HasDropout -> HasDropout >= :: HasDropout -> HasDropout -> Bool $c>= :: HasDropout -> HasDropout -> Bool > :: HasDropout -> HasDropout -> Bool $c> :: HasDropout -> HasDropout -> Bool <= :: HasDropout -> HasDropout -> Bool $c<= :: HasDropout -> HasDropout -> Bool < :: HasDropout -> HasDropout -> Bool $c< :: HasDropout -> HasDropout -> Bool compare :: HasDropout -> HasDropout -> Ordering $ccompare :: HasDropout -> HasDropout -> Ordering Ord, Int -> HasDropout -> ShowS [HasDropout] -> ShowS HasDropout -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [HasDropout] -> ShowS $cshowList :: [HasDropout] -> ShowS show :: HasDropout -> String $cshow :: HasDropout -> String showsPrec :: Int -> HasDropout -> ShowS $cshowsPrec :: Int -> HasDropout -> ShowS Show, forall x. Rep HasDropout x -> HasDropout forall x. HasDropout -> Rep HasDropout x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep HasDropout x -> HasDropout $cfrom :: forall x. HasDropout -> Rep HasDropout x Generic) genSingletons [''HasDropout] deriving instance Show (SHasDropout hasDropout)