packages feed

aihc-parser-1.0.0.2: test/Test/Fixtures/golden/module/instance-parenthesized-head-multiline.yaml

extensions: []
input: |
  module ParenthesizedInstanceHead where

  import qualified Data.List as List

  class Collect a where
    collect :: a -> [a]

  data Box a = Box a

  instance
      Eq a
      => (Collect (Box a))
    where
      collect value = List.reverse [value]
status: pass
ast: |-
  Module {ModuleHead {"ParenthesizedInstanceHead"}, [ImportDecl {"Data.List", True, "List"}], [DeclClass (ClassDecl {Prefix "Collect" [TyVarBinder {"a"}], [ClassItemTypeSig {[UnqualifiedName {"collect"}], TFun (TVar "a") (TList [TVar "a"])}]}), DeclData (DataDecl {Prefix "Box" [TyVarBinder {"a"}], [PrefixCon {UnqualifiedName {"Box"}, [BangType {TVar "a"}]}]}), DeclInstance (InstanceDecl {[TApp (TCon "Eq") (TVar "a")], TParen (TApp (TCon "Collect") (TParen (TApp (TCon "Box") (TVar "a")))), [InstanceItemBind (FunctionBind "collect" [Match {MatchHeadPrefix, [PVar "value"], EApp (EVar "List" "reverse") (EList [EVar "value"])}])]})]}