blob: 9d1c146b83f4125d66da1e382ff187f7bb7f12f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
package org.lambdanantes.lcgoji.ast;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import static org.lambdanantes.lcgoji.ast.Var.var;
@AllArgsConstructor(access = AccessLevel.PROTECTED)
@EqualsAndHashCode
public final class Abs implements Term {
public static final Abs IDENTITY = λ("x", var("x"));
public String arg;
public Term body;
public static Abs λ(String arg, Term body) {
return new Abs(arg, body);
}
@Override
public String toString() {
return "λ" + arg + "." + body;
}
}
|