package migl.lisp;

import migl.util.ConsList;

/**
 * Implementation d'un operateur lisp
 * 
 * @author Arthur Brandao
 */
@FunctionalInterface
public interface LispOperator {

	/**
	 * Applique l'operateur lisp sur une liste
	 * @param operator Symbole de l'operateur
	 * @param lisp Liste d'element à traiter sans le symbole de l'operateur
	 * @return
	 * @throws LispError
	 */
	LispElement apply(String operator, ConsList<Object> lisp) throws LispError;
	
}
