  We have used Fortran 90 to implement lattice QCD. We have designed a set of
machine independent modules that define fields (gauge, fermions, scalars,
etc...) and overloaded operators for all possible operations between fields,
matrices and numbers. With these modules it is very simple to write high-level
efficient programs for QCD simulations. To increase performances our modules
also implements assignments that do not require temporaries, and a machine
independent precision definition. We have also created a useful compression
procedure for storing the lattice configurations, and a parallel implementation
of the random generators. We have widely tested our program and modules on
several parallel and single processor supercomputers obtaining excellent
performances.
