IDEAL: An Ideal DEductive Applicative Language