SML, Ruby and Prolog