package de.renew.expression;

import java.io.Serializable;

import de.renew.unify.Impossible;


/**
 * A {@code NoArgFunction} is a function that takes in no arguments.
 */
public interface NoArgFunction extends Serializable {
    /**
     * Returns the value the function evaluates to.
     *
     * @throws Impossible if evaluation is impossible
     * @return the value the function evaluates to
     */
    public Object function() throws Impossible;
}