1
阅读John Hughes的Generalising monads to arrows,我知道箭头可用于表示和组合流处理器与单输入和单输出。也可以使用成对来表示多个输入和输出,或使用ArrowChoice
。具有多个输入和输出的流处理器,如箭头所示
但是,使用一对意味着输入是一串对,它不足以表达处理速率不同的处理流。 ArrowChoice
能够表达,但它在一个单独的“多路复用”两个流。
我正在寻找一种方法来结合具有多个输入和多个输出的流,同时仍能够区分流复用的情况和单独流的情况。
这可能吗?
我不确定这是否解决了我的问题。我想定义一种类型来表示具有0个或更多输入和0个或更多个输出的流处理器,并且能够组合这些处理器类似于使用箭头的单输入单输出处理器。 –
我不确定我是否理解。假设你有'S(或b)(或c d)'类型的值,你想要某种方式来说明它是单流处理器还是流处理器复用两个流? – villou24
我的目标是将这些流处理器转换为FPGA的硬件。为此,我希望能够有两种不同的结构:接受两个流的处理器和接受任一类型的单个流的处理器。这些可以转换为不同的硬件接口:两个输入FIFO或一个多路复用的FIFO。 –