Previous | Next --- Slide 12 of 48
Back to Lecture Thumbnails

Wouldn't it be relatively straight forward for a compiler of a strongly-typed functional language to determine data dependencies at compile time and thus generate an automatic decomposition? What are the barriers for example that SML/NJ or GHC would have to overcome to implement this?


@xyz as per the slide says, some of the dependencies might be data dependent, which is only known at runtime.


Is there any systematic way for the programmers to check for dependency and try to decomposite the computations?


@RX I think its unlikely for there to be a systematic way for programmers to check for dependency - since that is program specific. There might be some common pointers/markers for dependency but most of it will be program specific and that is why in most cases it is the responsibility of the programmer to look for dependencies.


@RX In the design phase of complicated computations, we can make dependency graphs to outline the computation process, which can help decomposition. Yet this is only for conceptual dependencies at a very high level, and implementation-wise details remain unclear.