I can figure out why the following process substitution doesn't work:
kompare <( echo one two ) <( echo three four )
Kompare opens, but says that the input files are identical.
kompare
probably needs a real file in order to read it more than once, but is not programmed to check whether the supplied arguments behave.
zsh
, at least, provides the =( cmd )
construct for process substitution when a real file is necessary.