I found the question interesting and spent some time researching.

Based on that short research I don’t think some UML notation for Functional Programming (FP) exists.

I found three papers that looked promising:

A paper by Yusuf Moosa Motara (published in 2020) claims “*It is currently impossible to model functional programs in the same way that UML is used to model object-oriented programs: no analogous graphical notation exists.*” (source).

Another paper by Steffen Heinzl and Vitaliy Schreibmann (published in 2018) proposes a new `<<Function>>`

stereotype (source) which IMHO confirms that *currently* UML does not fully support FP.

A third paper by Marcin Szlenk (published in 2011) demonstrates how UML’s *profiles* can be used to define a dialect with *stereotypes* (source). This is the most concrete one I’ve seen, as an example it shows how this Haskell code:

```
module AStack (Stack, push, pop, top, size) where
data Stack a = Empty | MkStack a (Stack a)
push :: a -> Stack a -> Stack a
push x s = MkStack x s
size :: Stack a -> Int
size s = length (stkToLst s) where
stkToLst Empty = []
stkToLst (MkStack x s) = x : stkToLst s
pop :: Stack a -> (a, Stack a)
pop (MkStack x s) = (x, s)
top :: Stack a -> a
top (MkStack x s) = x
```

can be modeled as

```
┌───────────────────────────────────┐ ┌┄┄┄┐
│ «Module» │ ┌──────────────────────╴┊ a ┊
│ AStack │ │ «UserType» └┄┄┄┘
├───────────────────────────────────┤ │ + Stack │
│ «Function» │ ├─────────────────────────┤
│ + push(x a, s Stack<a>): Stack<a> │╌╌╌›│ «Constructor» │
│ + size(s Stack<a>): Int │ │ + Empty() │
│ + pop(s Stack<a>): (a, Stack<a>) │ │ + MkStack(:a, Stack<a>) │
│ + top(s Stack<a>): a │ └─────────────────────────┘
└───────────────────────────────────┘
```

This 3rd paper also concludes that “*It seems that, so far, no work has been done on tailoring UML to model functional programs.*”

Disclaimer: I am not a researcher nor do I use UML or FP in practice. One of my professors (many years ago) did publish in that area but I’ve never had much use for UML except for documenting high-level architectures and sequences.

May I ask what you’re hoping for? Do you want some graphical notation for documenting key aspects of your solution? Do you want a graphical editor to produce these diagrams? Do you want to program in UML and get the the source code generated for you?