Not signed in (Sign In)

Not signed in

Want to take part in these discussions? Sign in if you have an account, or apply for one below

  • Sign in using OpenID

Site Tag Cloud

2-category 2-category-theory abelian-categories adjoint algebra algebraic algebraic-geometry algebraic-topology analysis analytic-geometry arithmetic arithmetic-geometry book bundles calculus categorical categories category category-theory chern-weil-theory cohesion cohesive-homotopy-type-theory cohomology colimits combinatorics complex complex-geometry computable-mathematics computer-science constructive cosmology deformation-theory descent diagrams differential differential-cohomology differential-equations differential-geometry digraphs duality elliptic-cohomology enriched fibration foundation foundations functional-analysis functor gauge-theory gebra geometric-quantization geometry graph graphs gravity grothendieck group group-theory harmonic-analysis higher higher-algebra higher-category-theory higher-differential-geometry higher-geometry higher-lie-theory higher-topos-theory homological homological-algebra homotopy homotopy-theory homotopy-type-theory index-theory integration integration-theory k-theory lie-theory limits linear linear-algebra locale localization logic mathematics measure-theory modal modal-logic model model-category-theory monad monads monoidal monoidal-category-theory morphism motives motivic-cohomology nforum nlab noncommutative noncommutative-geometry number-theory of operads operator operator-algebra order-theory pages pasting philosophy physics pro-object probability probability-theory quantization quantum quantum-field quantum-field-theory quantum-mechanics quantum-physics quantum-theory question representation representation-theory riemannian-geometry scheme schemes set set-theory sheaf sheaves simplicial space spin-geometry stable-homotopy-theory stack string string-theory superalgebra supergeometry svg symplectic-geometry synthetic-differential-geometry terminology theory topology topos topos-theory tqft type type-theory universal variational-calculus

Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.

Welcome to nForum
If you want to take part in these discussions either sign in now (if you have an account), apply for one now (if you don't).
    • CommentRowNumber1.
    • CommentAuthortrevorcook
    • CommentTimeFeb 16th 2016
    • (edited Feb 16th 2016)

    Hi All,

    I’m new to this forum, so I apologize if the question is out of order. Just let me know and I’ll kindly show myself out. On to the questions.

    I’m developing a workflow management system inspired by category theory and functional programming. Currently, I’ll say it’s “inspired”, but in the future I hope to be able to describe its functionality using the category theory. I am developing the tool, called expat (for “execute pattern”), in order to help with simulations and analyses. Expat provides a few basic patterns of application which help group inputs with outputs in various ways. For instance, one pattern is called a map, and it is used to apply a (user supplied) command to each file in a input directory and put the result in an output directory. Another pattern, called productOf, can create a directory full data which connects inputs and outputs; that is, an object of type AXBAXB defined by <id,f>\lt id,f \gt over AA. If this is not clear, the typical use is to map some simulation, ff, over a parameter directory, AA, putting the output in a directory BB, and then be able to do some further analysis which takes into account both the output and corresponding input. I refer to this output as <A,f.A> \lt A,f.A \gt, typically. Please forgive the abuse of standard notation.

    Expat provides filter and group functionality, which is where things get slippery for me. I think of the filter as the subobject identified by the user supplied characteristic function,Ω:A2. \Omega:A\to2. Actually, that’s not true, I think of a filter as an injective partial function, but am reasonably confident that it can be expressed as the subobject. Expat’s “group” functionality can be used to partition a directory based on the user supplied function, f:AStringf:A \to String, but I am less confident about how to express this. For one thing, if the domain of a grouping is A, the co-domain is in the powerset of A. Correct?

    My final pattern is more of a workflow analysis pattern. I map a simulation, f, over input parameters, A, yielding outputs, f.A. Next, I match up inputs with outputs, call it, <A,f.A>\lt A, f.A \gt. Then I group based on some commonalities in the parameters, yielding something like {<A,f.A>}\{\lt A, f.A \gt\}. Finally, I want to take the “raised” projection into {f.A}\{f.A\} so that i can map some summary statistics over each group of outputs. For sake of the vocabulary of expat, I think invoking “expat pullBack {<A,f.A>}\{\lt A, f.A \gt\} {f.A}\{f.A\}” has a nice ring to it, but is also wrong.

    So thanks for reading. Any light that can be shed on my effort is appreciated. The tool’s semantics need to be greatly clarified, so I understand if my particular concerns cannot be addressed directly. I’m also interested to hear if this community would have any use for a tool such as what i describe here, or if some other tool already exists which already does this. Links to resources are appreciated. I’m only glancingly familiar with the leading workflow management tools and they don’t appear to be take the same approach, but I could be better informed.