futhark-0.9.1: An optimising compiler for a functional, array-oriented language.

Safe HaskellNone
LanguageHaskell2010

Futhark.Analysis.Metrics

Contents

Description

Abstract Syntax Tree metrics. This is used in the futhark-test program.

Synopsis

Documentation

Extensibility

class OpMetrics op where Source #

Methods

opMetrics :: op -> MetricsM () Source #

Instances
OpMetrics () Source # 
Instance details

Defined in Futhark.Analysis.Metrics

Methods

opMetrics :: () -> MetricsM () Source #

OpMetrics (Op lore) => OpMetrics (SOAC lore) Source # 
Instance details

Defined in Futhark.Representation.SOACS.SOAC

Methods

opMetrics :: SOAC lore -> MetricsM () Source #

OpMetrics (Op lore) => OpMetrics (KernelExp lore) Source # 
Instance details

Defined in Futhark.Representation.Kernels.KernelExp

Methods

opMetrics :: KernelExp lore -> MetricsM () Source #

OpMetrics (Op lore) => OpMetrics (Kernel lore) Source # 
Instance details

Defined in Futhark.Representation.Kernels.Kernel

Methods

opMetrics :: Kernel lore -> MetricsM () Source #

OpMetrics inner => OpMetrics (MemOp inner) Source # 
Instance details

Defined in Futhark.Representation.ExplicitMemory

Methods

opMetrics :: MemOp inner -> MetricsM () Source #

data MetricsM a Source #

Instances
Monad MetricsM Source # 
Instance details

Defined in Futhark.Analysis.Metrics

Methods

(>>=) :: MetricsM a -> (a -> MetricsM b) -> MetricsM b #

(>>) :: MetricsM a -> MetricsM b -> MetricsM b #

return :: a -> MetricsM a #

fail :: String -> MetricsM a #

Functor MetricsM Source # 
Instance details

Defined in Futhark.Analysis.Metrics

Methods

fmap :: (a -> b) -> MetricsM a -> MetricsM b #

(<$) :: a -> MetricsM b -> MetricsM a #

Applicative MetricsM Source # 
Instance details

Defined in Futhark.Analysis.Metrics

Methods

pure :: a -> MetricsM a #

(<*>) :: MetricsM (a -> b) -> MetricsM a -> MetricsM b #

liftA2 :: (a -> b -> c) -> MetricsM a -> MetricsM b -> MetricsM c #

(*>) :: MetricsM a -> MetricsM b -> MetricsM b #

(<*) :: MetricsM a -> MetricsM b -> MetricsM a #

bodyMetrics :: OpMetrics (Op lore) => Body lore -> MetricsM () Source #

bindingMetrics :: OpMetrics (Op lore) => Stm lore -> MetricsM () Source #

lambdaMetrics :: OpMetrics (Op lore) => Lambda lore -> MetricsM () Source #