Agda-2.8.0: A dependently typed functional programming language and proof assistant

Safe Haskell | None
Language | Haskell2010

Agda.Compiler.MAlonzo.Strict

Description

Strictification of Haskell code

Synopsis

- class MakeStrict a where
  - makeStrict :: a -> a

# Documentation

class MakeStrict a where Source #

The function `makeStrict` makes every function argument, case and generator pattern, and `LocalBind` binding strict (except for those patterns that are marked as irrefutable, and anything in a `FakeDecl` or `FakeExp`). Note that only the outermost patterns are made strict.

Methods

makeStrict :: a -> a Source #

#### Instances

Instances details

MakeStrict Alt Source # |
Instance details Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: Alt -> Alt Source #
MakeStrict Binds Source # |
Instance details Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: Binds -> Binds Source #
MakeStrict Decl Source # |
Instance details Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: Decl -> Decl Source #
MakeStrict Exp Source # |
Instance details Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: Exp -> Exp Source #
MakeStrict GuardedRhs Source # |
Instance details Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: GuardedRhs -> GuardedRhs Source #
MakeStrict Match Source # |
Instance details Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: Match -> Match Source #
MakeStrict Module Source # |
Instance details Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: Module -> Module Source #
MakeStrict Pat Source # |
Instance details Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: Pat -> Pat Source #
MakeStrict Rhs Source # |
Instance details Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: Rhs -> Rhs Source #
MakeStrict Stmt Source # |
Instance details Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: Stmt -> Stmt Source #
MakeStrict a => MakeStrict (Maybe a) Source # |
Instance details Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: Maybe a -> Maybe a Source #
MakeStrict a => MakeStrict [a] Source # |
Instance details Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: [a] -> [a] Source #