haskell-language-server-2.7.0.0: plugins/hls-semantic-tokens-plugin/test/testdata/T1.hs
-- patter syn
{-# LANGUAGE PatternSynonyms #-}
module Main where
-- import Data.Set (Set, insert)
data Foo = Foo { foo :: Int }
class Boo a where
boo :: a -> a
instance Boo Int where
boo x = x + 1
data Dd = Dd Int
pattern One = Foo 1
ggg = One
data Doo = Doo Prelude.Int
type Bar1 = Int
type Bar2 = Doo
bb :: (Boo a) => a -> a
bb x = boo x
aa :: cool -> Int -> cool
aa x = \c -> aa x c
where (xx, yy) = (1, 2)
dd = 1
(zz, kk) = (1, 2)
cc :: Foo -> (Int, Int) -> Int
cc f (gg, vv)=
case gg of
1 -> foo $ f { foo = 1 }
2 -> foo $ f { foo = 1 }
go = foo
add = (Prelude.+)
-- sub :: Int -> Int -> Int
-- sub x y = add x y
main :: IO ()
main = putStrLn "Hello, Haskell!"