TVar is:module

Transactional variables, for use with MonadSTM. Deviations: There is no Eq instance for MonadSTM the TVar type. Furthermore, the newTVarIO and mkWeakTVar functions are not provided.
Primitive boxed mutable variables. This is a generalization of Data.IORef, Data.STRef and Data.STRef.Lazy to work in any PrimMonad.
This data structure holds an updateable environment which is used when compiling module loops.
This module defines a state monad for functional pointers represented by integers as keys into an IntMap. This technique was independently discovered by Dijkstra et al. This module extends the approach by using a state monad transformer, which can be made into a backtracking state monad by setting the underlying monad to some MonadLogic (part of the logict library, described by Kiselyov et al.).
  • Atze Dijkstra, Arie Middelkoop, S. Doaitse Swierstra (2008) Efficient Functional Unification and Substitution, Technical Report UU-CS-2008-027, Utrecht University.
  • Oleg Kiselyov, Chung-chieh Shan, Daniel P. Friedman, and Amr Sabry (2005) Backtracking, Interleaving, and Terminating Monad Transformers, ICFP.
A ranked variant of Control.Unification.IntVar.
A ranked variant of Control.Unification.STVar.
This module defines an implementation of unification variables using the ST monad.
Data type for holding variation-axis values. The minimum, default, and maximum values are in un-normalized, user scales. <note>Note: at present, the only flag defined for flags is HB_OT_VAR_AXIS_FLAG_HIDDEN.</note> Since: 2.2.0
Use OtVarAxisInfoT instead. Since: 1.4.2