Nem atores nem FRP são sobre streaming. Os atores nem mesmo suportam a configuração externa de um fluxo de saída.
O FRP é fortemente caracterizado por seus sinais e eventos de modelagem em uma linha do tempo linear, o que permite que os comportamentos do FRP se componham de maneira determinística. Os atores são fortemente caracterizados pelo processamento de mensagens em ordem não determinística e têm quase nenhuma propriedade de composição (ou seja, você não pode tratar um arranjo de dois atores como um ator maior).
Se você está procurando semelhanças, os atores e o FRP têm uma relação estreita com o cálculo lambda. Ambos podem modelar sistemas sensíveis às informações humanas. Ambos suportam a modelagem do estado interno (local).
O FRP suporta o estado local por meio de integrais ou acumuladores (dobra ao longo do tempo), enquanto o modelo de atores suporta o estado, permitindo que cada ator especifique seu comportamento para a próxima mensagem em resposta à atual. Esse amplo suporte ao estado local torna o FRP e os atores inadequados para programação ao vivo (ou atualização em tempo de execução do código do programa); torna-se muito fácil perder um estado importante.
Em relação aos domínios de aplicativo:
O modelo de atores é adequado para sistemas abertos, nos quais podemos instalar ou manter atores em tempo de execução. O modelo de atores também é pouco adequado para sistemas distribuídos, pois a ordem não determinística das mensagens pode facilitar uma implementação em conformidade. (A razão pela qual os atores não se adaptam mais fortemente aos sistemas distribuídos é que garantir que uma mensagem chegue "uma vez e apenas uma vez" é bastante difícil diante de uma interrupção, e os atores também tendem a exigir GC distribuído, o que é uma dor.)
O FRP é adequado para sistemas fechados que operam ao longo do tempo - por exemplo, controladores robóticos, programação musical, brinquedos computacionais. O determinismo e os recursos de composição tornam o FRP mais conveniente para trabalhar do que os atores, pelo menos nos casos em que o FRP pode modelar diretamente uma solução. Integrar FRP com efeitos (elegantemente, sem invadir o modelo com impureza) se mostrou difícil. Tem havido trabalhos recentes sobre FRP eficaz através de 'buracos de minhoca' - efetivamente, acesso tipado exclusivo ou linear a recursos.
Existem outros modelos que se encontram em algum lugar entre o FRP e os atores.
A Programação Baseada em Fluxo (FBP), desenvolvida por John Paul Morrison, realmente suporta o fluxo de mensagens.
Os protocolos Time Warp (ou o trabalho mais recente sobre Lightweight Time Warp (LTW)) colocam mensagens semelhantes a atores em uma linha do tempo lógica para fornecer uma noção mais controlada e composicional da passagem de mensagens. Time warp é frequentemente usado para grandes sistemas paralelos e distribuídos, por exemplo, computação científica. O time warp original não era adequado para simulações interativas (capacidade de resposta às informações humanas) e o LTW é apenas marginalmente adequado.
Estou desenvolvendo RDP (Reactive Demand Programming), que permite manipulação e processamento responsivos, composicionais e semelhantes a FRP e processamento de sinais em sistemas abertos e distribuídos, além de eliminar o estado local. O RDP é alcançado restringindo os efeitos colaterais à influência comutativa e idempotente no estado do recurso por sinais ao longo do tempo. O RDP requer repensar os modelos de recursos e estados.