    {-# OPTIONS_GHC -fno-warn-orphans #-}

    module Language.Futhark.CoreTests () where

    import Language.Futhark.Core
    import Language.Futhark.PrimitiveTests ()
    import Test.QuickCheck

    instance Arbitrary Name where
      arbitrary :: Gen Name
    arbitrary = String -> Name
    nameFromString (String -> Name) -> Gen String -> Gen Name
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    <$> Gen Char -> Gen String
    forall a. Gen a -> Gen [a]
    listOf1 (String -> Gen Char
    forall a. [a] -> Gen a
    elements [Char
    'a' .. Char
    'z'])

    instance Arbitrary VName where
      arbitrary :: Gen VName
    arbitrary = Name -> Int -> VName
    VName (Name -> Int -> VName) -> Gen Name -> Gen (Int -> VName)
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    <$> Gen Name
    forall a. Arbitrary a => Gen a
    arbitrary Gen (Int -> VName) -> Gen Int -> Gen VName
    forall a b. Gen (a -> b) -> Gen a -> Gen b
    forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
    <*> Gen Int
    forall a. Arbitrary a => Gen a
    arbitrary