Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

DAxelrod (4649)

DAxelrod
  (email not shown publicly)

I'm interested in hard problems.

Recently, I've started thinking a lot about what CP6AN might look like.

Class::MOP and the Perl 6 Metamodel make me more excited than I'd like to admit.

Also expect occasional wordy technology-related rantings.

Journal of DAxelrod (4649)

Thursday October 26, 2006
04:08 PM

Side-effects create dependencies

[ #31427 ]

All this discussion of side-effects has reminded me of something.

A particular bit of code has, potentially, a return value, and side-effects. Other parts of the program have a dependency on a bit of code if they rely on either the code's return value, or side-effects. Think of return values as explicit dependencies, and side-effects as implicit dependencies.

Purely functional programming languages are easier to paralellize because all of the dependencies in the code are explicit.

It would seem that parallelization of non-functional programming languages would be possible (without explicit design by the programmer) if we had a better way of analyzing code to map out dependencies.

I'll expand on this a little bit when I have more time.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Are you perhaps thinking of data-flow analysis [wikipedia.org]? You can reason about it even with return values, but it can get complex to traverse certain graphs....

    • Aha! I figured I was reinventing *some* principle of computer science, I just didn't know what it was called. Thanks for that link!