BML inherits non-determinism, choice, and backtracking from Prolog. The Cut primitive comes directly from Prolog's ! operator — a way of pruning the choice tree, telling the search "from this point on, do not reconsider." Here is the actual file from the archive, with author and date intact:
{`// Name: Cut.bml
// Author: Urs C. Muff
// Email: muff@colorado.edu
// Date: 11-Apr-2000
// Platform: BML Virtual Machine
// Compiler: JBMF (R) Compiler
package BMF.primitive;
import BMF.*;
class Cut [public] : Primitive {
section [public] {
void Match( Context hContext, Environment hEnv, String strTag ) {
System.Cut( hContext.Argument( 0 ));
}
String AsString() { return "#primitive( 2 )"; }
String AsCreateString() { return "BML.primitive.Cut()"; }
}
}`}
Three architectural readings live in this 12-line file: the section [public] visibility model (Smalltalk-style category panes, expressed as syntax); the AsCreateString method (every object knows how to print the BML expression that would re-create it — image-based reflection over text); and the bridge into System.Cut(...), which reaches into the VM to manipulate the speculation stack. Twelve lines, four ancestors, one primitive.