# Is creating nested subroutines/functions considered good practice in Fortran?

**URL:** <https://fortran-lang.discourse.group/t/is-creating-nested-subroutines-functions-considered-good-practice-in-fortran/6545>\
**Category:** Help\
**Created:** [September 21, 2023, 6:59pm UTC](https://fortran-lang.discourse.group/t/is-creating-nested-subroutines-functions-considered-good-practice-in-fortran/6545 "2023-09-21T18:59:35Z")\
**Posts on this page:** 1\
**Showing post:** 22

<div class="post-metadata">

**Author:** ![certik](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/certik/32/4_2.png) [@certik](https://fortran-lang.discourse.group/u/certik)\
**Post date:** [September 27, 2023, 2:25am UTC](https://fortran-lang.discourse.group/t/is-creating-nested-subroutines-functions-considered-good-practice-in-fortran/6545/22 "2023-09-27T02:25:07Z")

</div>

@FortranFan your example works with LFortran also:

```plaintext
$ lfortran x.f90 
In eval: f(x) = 1.00000000e+04

```

I must say I am pleasantly surprised that it actually worked! We are in alpha, meaning I expect things to break. 🙂

@ivanpribec yes, I use nested functions for callbacks often, I think it’s a clean and fast way to do it.

---

_[View the full topic](https://fortran-lang.discourse.group/t/is-creating-nested-subroutines-functions-considered-good-practice-in-fortran/6545)._
