Unifiable
public enum Unifiable<Element: Equatable>
                Recursively unifiable type that allows for representation of both variables and constant values. May be used as a building block to build tree-like unification types.
- 
                  
                  
A value that cannot be changed.
Declaration
Swift
case Constant(Element) 
- 
                  
                  
A value that is determined by unification.
Declaration
Swift
case Variable(Binding<Element>) 
- 
                  
                  
The current value otherwise
nilif it is undetermined.Declaration
Swift
public var value: Element? 
- 
                  
                  
A textual representation of the value or the binding if no value exists.
Declaration
Swift
public var description: String 
- 
                  
                  
Unifies
lhswithrhs, otherwise throws aUnificationError.Declaration
Swift
public static func unify(lhs: Unifiable, _ rhs: Unifiable) throws - 
                  
                  
Performs
actionas an operation onselfsuch that theselfpreserves its initialgluevalue if the operation fails.Declaration
Swift
public static func attempt(value: Unifiable, _ action: () throws -> ()) throws 
- 
                  
                  
Recursively unifies
lhswithrhs, otherwise throws aUnificationError.Declaration
Swift
public static func unify(lhs: Unifiable, _ rhs: Unifiable) throws - 
                  
                  
Performs
actionas an operation onselfsuch that theselfpreserves its initialgluevalue if the operation fails.Declaration
Swift
public static func attempt(value: Unifiable, _ action: () throws -> ()) throws 
- 
                  
                  
Copies
thisreusing any substructure that has already been copied within this context, and storing any newly generated substructure into the context.Declaration
Swift
public static func copy(this: Unifiable, withContext context: CopyContext) -> Unifiable 
- 
                  
                  
Copies
thisreusing any substructure that has already been copied within this context, and storing any newly generated substructure into the context.Declaration
Swift
public static func copy(this: Unifiable, withContext context: CopyContext) -> Unifiable 
View on GitHub
        Unifiable Enum Reference