summaryrefslogtreecommitdiff
path: root/src/CHAD/Heuristics.hs
blob: 6ab82222df931ae8d317c1dcaf270ba22063d846 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{-# LANGUAGE GADTs #-}
module CHAD.Heuristics where

import AST


hasArrays :: STy t' -> Bool
hasArrays STNil = False
hasArrays (STPair a b) = hasArrays a || hasArrays b
hasArrays (STEither a b) = hasArrays a || hasArrays b
hasArrays (STMaybe t) = hasArrays t
hasArrays STArr{} = True
hasArrays STScal{} = False
hasArrays STAccum{} = error "Accumulators not allowed in source program"