Fortran 90

5.1 Interface Block Example
 PROGRAM stress
INTERFACE
SUBROUTINE squash(a,n)
REAL :: a(n)
END SUBROUTINE
END INTERFACE
INTEGER, PARAMETER :: m = 100
REAL :: q(m)
q=71
CALL squash(q,m)
...
The compiler can now check calls to squash for consistency.