{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE OverloadedStrings #-} module HaXPath.Schematic.Examples where import Data.Proxy (Proxy(Proxy)) import qualified HaXPath.Schematic as S import HaXPath.Schematic.Operators -- Empty data type for our schema data MenuSchema -- Type of the document root in our schema type MenuRoot = S.DocumentRoot MenuSchema -- Type of absolute paths in our schema which return nodes of type rn type AbsolutePath rn = S.AbsolutePath MenuSchema rn root :: MenuRoot root = S.root -- Type of the