clash-lib-1.9.0: Clash: a functional hardware description language - As a library
Copyright(C) 2012-2016 University of Twente
2017-2018 Google Inc.
2021 QBayLogic B.V.
LicenseBSD2 (see the file LICENSE)
MaintainerQBayLogic B.V. <devops@qbaylogic.com>
Safe HaskellNone
LanguageHaskell2010

Clash.Core.Var

Description

Variables in CoreHW

Synopsis

Documentation

data Var a Source #

Variables in CoreHW

Constructors

TyVar

Constructor for type variables

Fields

Id

Constructor for term variables

Fields

Instances

Instances details
Eq (Var a) Source # 
Instance details

Defined in Clash.Core.Var

Methods

(==) :: Var a -> Var a -> Bool Source #

(/=) :: Var a -> Var a -> Bool Source #

Ord (Var a) Source # 
Instance details

Defined in Clash.Core.Var

Methods

compare :: Var a -> Var a -> Ordering Source #

(<) :: Var a -> Var a -> Bool Source #

(<=) :: Var a -> Var a -> Bool Source #

(>) :: Var a -> Var a -> Bool Source #

(>=) :: Var a -> Var a -> Bool Source #

max :: Var a -> Var a -> Var a Source #

min :: Var a -> Var a -> Var a Source #

Show (Var a) Source # 
Instance details

Defined in Clash.Core.Var

Methods

showsPrec :: Int -> Var a -> ShowS Source #

show :: Var a -> String Source #

showList :: [Var a] -> ShowS Source #

Generic (Var a) Source # 
Instance details

Defined in Clash.Core.Var

Associated Types

type Rep (Var a) :: Type -> Type Source #

Methods

from :: Var a -> Rep (Var a) x Source #

to :: Rep (Var a) x -> Var a Source #

Hashable (Var a) Source # 
Instance details

Defined in Clash.Core.Var

Methods

hashWithSalt :: Int -> Var a -> Int Source #

hash :: Var a -> Int Source #

Binary (Var a) Source # 
Instance details

Defined in Clash.Core.Var

Methods

put :: Var a -> Put Source #

get :: Get (Var a) Source #

putList :: [Var a] -> Put Source #

NFData (Var a) Source # 
Instance details

Defined in Clash.Core.Var

Methods

rnf :: Var a -> () Source #

Uniquable (Var a) Source # 
Instance details

Defined in Clash.Core.Var

Methods

getUnique :: Var a -> Unique Source #

setUnique :: Var a -> Unique -> Var a Source #

ClashPretty (Var a) Source # 
Instance details

Defined in Clash.Core.Pretty

Methods

clashPretty :: Var a -> Doc () Source #

PrettyPrec (Var a) Source # 
Instance details

Defined in Clash.Core.Pretty

HasType (Var a) Source # 
Instance details

Defined in Clash.Core.HasType

Methods

coreTypeOf :: Var a -> Type Source #

PrettyPrec (Id, Term) Source # 
Instance details

Defined in Clash.Core.Pretty

type Rep (Var a) Source # 
Instance details

Defined in Clash.Core.Var

data IdScope Source #

Constructors

GlobalId 
LocalId 

Instances

Instances details
Eq IdScope Source # 
Instance details

Defined in Clash.Core.Var

Ord IdScope Source # 
Instance details

Defined in Clash.Core.Var

Show IdScope Source # 
Instance details

Defined in Clash.Core.Var

Generic IdScope Source # 
Instance details

Defined in Clash.Core.Var

Associated Types

type Rep IdScope :: Type -> Type Source #

Hashable IdScope Source # 
Instance details

Defined in Clash.Core.Var

Binary IdScope Source # 
Instance details

Defined in Clash.Core.Var

NFData IdScope Source # 
Instance details

Defined in Clash.Core.Var

Methods

rnf :: IdScope -> () Source #

type Rep IdScope Source # 
Instance details

Defined in Clash.Core.Var

type Rep IdScope = D1 ('MetaData "IdScope" "Clash.Core.Var" "clash-lib-1.9.0-inplace" 'False) (C1 ('MetaCons "GlobalId" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LocalId" 'PrefixI 'False) (U1 :: Type -> Type))

type Id = Var Term Source #

Term variable

type TyVar = Var Type Source #

Type variable

mkId :: Type -> IdScope -> TmName -> Id Source #

Make a term variable

mkTyVar :: Kind -> TyName -> TyVar Source #

Make a type variable

modifyVarName :: (Name a -> Name a) -> Var a -> Var a Source #

Change the name of a variable