On Tuesday, 15. June 2010 19:43:26 Steve Schafer wrote: > On Tue, 15 Jun 2010 19:23:35 +0200, you wrote: > >When I know my supplies I want to know what I can produce. When I know > > what I want to produce I want to know what supplies I need for that. Both > > kinds of questions should be answered by a singe Process thingy. > > > >I want to be able to chain processes and the whole thing should still act > > like a Process. > > This is a type of constraint network. If you have access to _Structure > and Interpretation of Computer Programs_, there is a section therein > devoted to constraint networks.
Will check this out. I was hoping that something simpler would suffice. I am afraid of CSPs. Today I was playing with a matrix representation. I mean the one you learn in school for linear optimization problems. Usually the matrix is written so it tells you how much of each supply you need to produce a unit of outputs. So when you know the outputs you can compute what you need as a minimum. You can invert the matrix and it'll work on the oppsite direction: when you know the inputs it'll tell you what you can produce at most. Then I thought, what if I replace the (*) and (+) operations which are applied when I multipy the matrix with a vector (i.e. a vector if inputs or outputs) by something more general. So I replaced (+) by function application and my matrix was now a matrix of functions. But then I got lost trying to find a way to invert such a matrix. FWIW: while googeling around how to invert a matrix of functions I stumbeled across the "Process Specification Language". At least they defined an ontology, but there isn't much of computing stuff there. http://www.mel.nist.gov/psl/ -- Martin _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe