parameter defines a compile-time constant. Modules often expose constants this way.

Program

Play the program to subtract from a constant defined in a module.

named_constants.f90
module constants_mod
    implicit none
    integer, parameter :: max_users = 100
end module constants_mod

program named_constants_demo
    use constants_mod
    implicit none
    integer :: free_slots, used
    used = 
    free_slots = max_users - used
    print '(I0)', free_slots
end program named_constants_demo
module constants_mod
    implicit none
    integer, parameter :: max_users = 100
end module constants_mod

program named_constants_demo
    use constants_mod
    implicit none
    integer :: free_slots, used
    used = 
    free_slots = max_users - used
    print '(I0)', free_slots
end program named_constants_demo
module constants_mod
    implicit none
    integer, parameter :: max_users = 100
end module constants_mod

program named_constants_demo
    use constants_mod
    implicit none
    integer :: free_slots, used
    used = 
    free_slots = max_users - used
    print '(I0)', free_slots
end program named_constants_demo
parameter `integer, parameter :: name = value` defines a constant.
module constant Modules can publish constants the same way they publish procedures.
immutable A `parameter` cannot be reassigned at run time.