Process substitution a form of inter-process communication that allows the input or output of a command to appear as a file (such as: `<(cmd)` or `>(cmd)`).
In bash manual we can read:
Process substitution is supported on systems that support named pipes (FIFOs) or the
/dev/fdmethod of naming open files. It takes the form of<(list)or>(list). The process list is run with its input or output connected to a FIFO or some file in/dev/fd.
Examples:
diff <(sort file1) <(sort file2)
Read more: