packages feed

clash-lib-1.8.0: src/Clash/Unique.hs

{-# LANGUAGE TypeSynonymInstances #-}

module Clash.Unique
  ( Unique
  , Uniquable (..)
  ) where

type Unique = Int

class Uniquable a where
  getUnique :: a -> Unique
  setUnique :: a -> Unique -> a

instance Uniquable Unique where
  getUnique = id
  setUnique = flip const