module Language.Noodle.Lib.Prod(env,decls) where import Language.Noodle.Evaluation env = extenv decls decls = [("head", extfun pHead) ,("tail", extfun pTail) ,("depth", extfun pDepth) ] pHead (Prod v1 _) = return v1 pTail (Prod _ v2) = return v2 pDepth (Prod _ v2) = return $ pdepth' 2 v2 where pdepth' n (Prod _ v2) = pdepth' (n+1) v2 pdepth' n _ = Number n pDepth _ = return $ Number 1