aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/java/coffee/liz/lambda/ast/LambdaProgram.java
blob: efd4c03872c59a8b6666bd3707c9a2bb4d5e2417 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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<Macro> macros, @NonNull Expression expression) {
}