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:
D. Wiebusch, and M. Latoschik. Software Engineering and Architectures for Realtime Interactive Systems (SEARIS), proceedings of the IEEE Virtual Reality 2012 workshop, (2012)
D. Wiebusch, M. Latoschik, and H. Tramberend. Virtuelle und Erweiterte Realität, 7. Workshop of the GI special interest group VR/AR, page 47--58. Shaker Verlag, (2010)
M. Latoschik, and H. Tramberend. Software Engineering and Architectures for Realtime Interactive Systems (SEARIS), 2012 5th Workshop on, page 9-17. (March 2012)
M. Latoschik, and H. Tramberend. Software Engineering and Architectures for Realtime Interactive Systems (SEARIS), 2012 5th Workshop on, page 9-17. (March 2012)
S. Tasharofi, P. Dinges, and R. Johnson. ECOOP 2013 – Object-Oriented Programming, volume 7920 of Lecture Notes in Computer Science, page 302-326. Springer Berlin Heidelberg, (2013)
P. Suter, A. Köksal, and V. Kuncak. Proceedings of the 18th international conference on Static analysis, page 298--315. Berlin, Heidelberg, Springer-Verlag, (2011)