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  6223 reads

Browse archivesActive forum topics 
Recent comments
21 hours 30 min ago
23 hours 38 min ago
1 day 6 hours ago
1 day 11 hours ago
1 day 12 hours ago
1 day 14 hours ago
1 day 20 hours ago
1 day 22 hours ago
2 days 1 hour ago
2 days 1 hour ago