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

Browse archivesActive forum topics 
Recent comments
18 hours 40 min ago
18 hours 56 min ago
20 hours 57 min ago
1 day 19 min ago
6 days 18 hours ago
1 week 26 min ago
1 week 17 hours ago
1 week 23 hours ago
1 week 1 day ago
1 week 1 day ago