func (ins *GreaterThanNumber) String() string {
	return fmt.Sprintf("%s = %s > %s", ins.Result, ins.Left, ins.Right)
}
String is the human-readable description of the instruction.
package vm
import (
	"fmt"
	"github.com/elliotchance/ok/ast/asttest"
	"github.com/elliotchance/ok/number"
)
type GreaterThanNumber struct {
	Left, Right, Result Register
}
func (ins *GreaterThanNumber) Execute(_ *int, vm *VM) error {
	vm.Set(ins.Result, asttest.NewLiteralBool(number.Cmp(
		number.NewNumber(vm.Get(ins.Left).Value),
		number.NewNumber(vm.Get(ins.Right).Value),
	) > 0))
	return nil
}