User loginNavigation 
Formal treatments (or examples of) of "function concatenation"?We're familiar with the notion of function composition which is essentially sticking functions endtoend: (a > b) > (b > c) > (a > c) However, is there any formal treatment of function "concatenation" for functions that operate on ntuples that would be essentially sticking functions "sidebyside"? The type would be something like this (where a, b, c, and d are ntuples and ++ is the concatenation operator): (a > b) > (c > d) > (a ++ c) > (b ++ d) I think a visual example allows a good intuition for what I'm talking about. If F is a function from a 1tuple to a 2tuple, and G is a function from a 2tuple to a 1tuple, then their composition would be this: IN  .o.  F  oo   .oo.  G  o  OUT and their concatenation would be this: IN IN IN    .o.oo.  F  G  ooo    OUT OUT OUT Composition indicates a dependence (e.g. G is dependent on the output of F) that requires sequential evaluation whereas concatenation indicates an independence (e.g. F and G do not share inputs) that allows for parallel evaluation. Both operations are associative. There exist operations with a similar spirit to the concatenation expressed above: the functional form of construction in Backus's FP, the *** operator for the > arrow in Haskell, and the family of spread combinators in Factor to name a few. However, none of these deal with concatenated inputs/outputs and none of these are associative, so they're not quite what I'm after. Any pointers towards related mathematical notions or languages with a similar feature would be much appreciated. By John Nowak at 20100203 06:11  LtU Forum  previous forum topic  next forum topic  other blogs  5879 reads

Browse archivesActive forum topics 
Recent comments
5 days 9 hours ago
1 week 12 hours ago
1 week 13 hours ago
1 week 13 hours ago
1 week 14 hours ago
1 week 14 hours ago
1 week 16 hours ago
1 week 20 hours ago
1 week 21 hours ago
1 week 1 day ago