Below is the syntax highlighted version of DifferentiableFunction.java from §3.3 Designing Data Types.
public interface DifferentiableFunction { public double evaluate(double x); public double differentiate(double x); }