copilot-core-3.3: An intermediate representation for Copilot.
Safe HaskellTrustworthy
LanguageHaskell2010

Copilot.Core.Locals

Description

Let expressions.

Although Copilot is a DSL embedded in Haskell and Haskell does support let expressions, we want Copilot to be able to implement explicit sharing, to detect when the same stream is being used in multiple places in a specification and avoid recomputing it unnecessarily.

Synopsis

Documentation

data Loc Source #

A local definition, with a given stream name and stream type.

Constructors

forall a. Loc 

Fields

Instances

Instances details
Show Loc Source #

Show the underlying stream name.

Instance details

Defined in Copilot.Core.Locals

Methods

showsPrec :: Int -> Loc -> ShowS #

show :: Loc -> String #

showList :: [Loc] -> ShowS #

locals :: Spec -> [Loc] Source #

Obtain all the local definitions in a specification.