Loops, Menus, Do Something, Save

Yes you can using mutually referential namespaces. For example:

namespace rec X

open System

module B =
  let m1 = A.hello()


module A =

 let hello() =
    printfn "Hello world"

Note though that this feature was built so that modules A and B could reference each other, and not just so that you can re-order things how you wish. It’s not recommended to use this feature just as a way to re-order your definitions. It can really mess with the type inference and give hard-to-understand errors and warnings

Thanks, NT!! Just as a further note in order for a mutually referenced module to pass its functional exprsesions into the succeeding module you’ll need a goto type functioin such as with the let z = example.

namespace rec X

open System

module B =

  let y = "abc"
  printf "%A" y

  let z = A.test()
  z
 
module A =
open B

let e = B.y
printf "%A" e