package org.jactr.core.module.procedural;
/*
* default logging
*/
import java.util.Collection;
import org.jactr.core.production.CannotInstantiateException;
import org.jactr.core.production.IInstantiation;
import org.jactr.core.production.IProduction;
import org.jactr.core.production.VariableBindings;
/**
* code responsible for instantiating a production (possibly multiple times)
* given the provisional bindings (which are defined by the buffer contents)
*
* @author harrison
*/
public interface IProductionInstantiator
{
public void setProceduralModule(IProceduralModule module);
public Collection<IInstantiation> instantiate(IProduction production,
Collection<VariableBindings> provisionalBindings)
throws CannotInstantiateException;
}