Checkpoint

This commit is contained in:
Tibo De Peuter 2025-04-05 17:36:37 +02:00
parent 39c3af4ba5
commit da21d890fb
39 changed files with 1166 additions and 48 deletions

View file

@ -0,0 +1,17 @@
package prolog.components.terms
import prolog.components.Functor
import prolog.components.Goal
open class Structure(val name: Atom, val arguments: List<Argument>): Head(), Term, Goal {
override val functor: Functor = Functor(name, arguments.size)
override fun toString(): String {
return when {
arguments.isEmpty() -> name.name
else -> "${name.name}(${arguments.joinToString(", ")})"
}
}
}
typealias CompoundTerm = Structure