[Haskell-cafe] Analysing Haskell with Graph Theory

Arnar Birgisson arnarbi at gmail.com
Fri Mar 7 08:17:38 EST 2008

On Fri, Mar 7, 2008 at 12:42 PM, Ivan Miljenovic
<ivan.miljenovic at gmail.com> wrote:
> On 07/03/2008, Arnar Birgisson <arnarbi at gmail.com> wrote:
>  > Will you be considering parallel programs? Also, perhaps some
>  >  information flow analysis would be interesting.
>  What do you mean by parallel programs? The parallelism hints used by
>  ghc?  In that case, I'll be supporting whatever the parser I can find
>  supports :p

I mean parallel programs in general. For example, you mention that
preferably one would want "main" to be the only function that has no
incoming edges. With parallel programs that may not be the case. This
ties into also considering reactive programs (i.e. programs which main
function is of the form "while (1) { ... }"). I'm not quite sure if it
fits the project you describe, but looking for certain properties like
possible deadlocks or livelocks in such programs is something of

There is also a security angle to this. Consider two agents, one
representing an ATM and one representing the branch office of a bank.
Analysing the possible possible information paths between the two can
help you define a clear interface between the two (assuming one
doesn't exist already). Having such an interface rigorously defined
helps with maintaining security properties.

Also related to considering parallel programs are coroutines.
Analysing the "call graph" of systems of coroutines might be
interesting as well.

I'm just thinking outloud though, some of these might not be
interesting at all :)


More information about the Haskell-Cafe mailing list