package coffee.liz.lambda.ast; import lombok.NonNull; import java.util.List; /** * A complete lambda calculus program consisting of macro definitions and a main * expression. * * @param span * source span covering the entire program * @param macros * named macro definitions that can be referenced in the expression * @param expression * the main expression to evaluate */ public record LambdaProgram(@NonNull SourceSpan span, @NonNull List macros, @NonNull Expression expression) { }