In Fortran, as far as I could understand, one can declare a function in two different ways:
INTEGER FUNCTION my_func()
(...)
END FUNCTION
or:
FUNCTION my_func()
INTEGER :: my_func
(...)
END FUNCTION
After some searching and reading, I'm still not sure if these two ways are equivalent or if they have some subtle differences. Some lights shedding on this would be much appreciated!