module farewell_m implicit none private public :: make_farewell contains function make_farewell(name) result(greeting) character(len=*), intent(in) :: name character(len=:), allocatable :: greeting greeting = "Goodbye, " // name // "!" end function make_farewell end module farewell_m