// $Id: RunRefalCompiler.java 2453 2007-02-23 21:09:41Z yura $

import org.refal.plus.*;

public class RefalThread extends Thread
{
	private final Expr func;
	private final Expr args;

	@RefalFormat("$func RefalThread s e = s;")
	static public void RefalThread (Expr func, Expr args, Result res) {
		Thread thread = new RefalThread(func, args);
		res.assign(thread);
	}

	public RefalThread (Expr func, Expr args) {
		this.func = func;
		this.args = args;
	}

	public void run () {
		Result res = new Result();
		try {
		refal.plus.Apply.Apply(func, args, res);
		} catch (RefalException e) {}
	}
}
