Tonto: A Fortran Based Object-Oriented System for Quantum Chemistry and Crystallography

  • Dylan Jayatilaka
  • Daniel J. Grimwood
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2660)


Tonto is an object oriented system for computational chemistry. This paper focuses mainly on the Foo, the object oriented language used to implement Tonto. Foo currently translates into Fortran 95. It offers almost all the features of the coming Fortran 2000 except for dynamic types. It goes beyond the Fortran standard in that parameterised types and template-like inheritance mechanisms are provided. Since the method is based on textual inclusion, it generates code which is easy for the compiler and human to understand. Example code is given, and possible future work on the language is discussed.


Object Orientation Fortran Code Oriented Programming Object Oriented Language Inheritance Mechanism 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    B. Meyer. Object-Oriented Software Construction. Prentice Hall, Inc., second edition, 1997.Google Scholar
  2. 2.
    J. J. P. Stewart. MOPAC 2002. Fujitsu Limited, Tokyo, Japan, 1999.Google Scholar
  3. 3.
    Æ. Frisch and M. J. Frisch. Gaussian 98 User’s Reference. Gaussian, Inc., Pittsburgh PA, second edition, 1999.Google Scholar
  4. 4.
    B. J. Dupee. Object oriented methods using fortran 90. ACM Fortran Forum, 13:21–30, 1994.CrossRefGoogle Scholar
  5. 5.
    R. Lutowski. Object-oriented software development with traditional languages. ACM Fortran Forum, 14: 13–18, 1995.CrossRefGoogle Scholar
  6. 6.
    C. D. Norton, V. K. Decyk, and B. K. Szymanski. On parallel object oriented programming in fortran 90. ACM SIGAPP Applied Computing Review, 4:27–31, 1996.CrossRefGoogle Scholar
  7. 7.
    C. D. Norton, V. K. Decyk, and B. K. Szymanski. High performance object-oriented programming in fortran 90. In Proc. Eighth SIAM Conference on Parallel Processsing for Scientific Computing, March 1997.Google Scholar
  8. 8.
    J. R. Cary, S. G. Shasharina, C. Cummings, J. V. W. Reynders, and P. J. Hinker. Comparison of c++ and fortran 90 for object-oriented scientific programming. Computer Phys. Comm., 105:20–36, 1997.zbMATHCrossRefGoogle Scholar
  9. 9.
    V. K. Decyk, C. D. Norton, and B. K Szymanski. Expressing object-oriented concepts in fortran 90. ACM Fortran Forum, 16:13–18, 1997.CrossRefGoogle Scholar
  10. 10.
    L. Machiels and M. O. Deville. Fortran 90: An entry to object-oriented programming for the solution of partial differential equations. ACM Transactions on Mathematical Software, 23:32–49, 1997.zbMATHCrossRefGoogle Scholar
  11. 11.
    M. G. Gray and R. M. Roberts. Object-based programming in fortran 90. Computers in physics, 11: 355–361, 1997.Google Scholar
  12. 12.
    V. K. Decyk, C. D. Norton, and B. K. Szymanski. How to support inheritance and run-time polymorphism in fortran 90. Computer Phys. Comm., 115:9–17, 1998.CrossRefGoogle Scholar
  13. 13.
    V. Snyder. Constructive uses for include. ACM Fortran Forum, 20:2–4, 2001.CrossRefGoogle Scholar
  14. 14.
    A. Markus. Generic programming in fortran 90. ACM Fortran Forum, 20:20–23, 2001.CrossRefMathSciNetGoogle Scholar
  15. 15.
    B. Stroustrup. The Design and Evolution of C++. Addison-Wesley, 1994.Google Scholar
  16. 16.
    S. Khoshafian and R. Abnous. Object Orientation. John Wiley & Sons, Inc, second edition, 1995.Google Scholar
  17. 17.
    T. Stern and D. Grimwood. Cascade compilation revisited. ACM Fortran Forum, 21:12–24, 2002.CrossRefGoogle Scholar
  18. 18.
    JTC1/SC22/WG5. Enhanced module facilities in fortran. Technical Report 19767, ISO/IEC, 2002.Google Scholar
  19. 19.
    D. M. Conway. The man(1) of descent. The Perl J., 3:46–58, 1998.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Dylan Jayatilaka
    • 1
  • Daniel J. Grimwood
    • 1
  1. 1.Chemistry, School of Biomedical and Chemical SciencesUniversity of Western AustraliaCrawleyAustralia

Personalised recommendations