I've been thinking about the best approach to implement pure function verification in the Scala compiler. An approach similar to the one in D would fit a lot better than the one used in Haskell (which would break all existing code and cause some problems due to strict evaluation). A solution using annotations would be quite simple to implement:
M. Steindorfer, und J. Vinju. Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, Seite 783--800. New York, NY, USA, ACM, (2015)
M. Odersky, und A. Moors. IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, Volume 4 von Leibniz International Proceedings in Informatics (LIPIcs), Seite 427--451. Dagstuhl, Germany, Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, (2009)
V. Ureche, C. Talau, und M. Odersky. Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages &\#38; Applications, Seite 73--92. ACM, (2013)
A. Sewe, M. Mezini, A. Sarimbekov, und W. Binder. Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, Seite 657--676. ACM, (2011)
Y. Hayduk, A. Sobe, und P. Felber. Distributed Applications and Interoperable Systems, Volume 9038 von Lecture Notes in Computer Science, Springer, (2015)