Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
NightGyr
Mar 7, 2005
I � Unicode

Steve French posted:

This is not quite what idempotent means. Idempotent functions can still have side effects, as long as the outcome is the same if called once or many times. "Set global variable foo to x" is idempotent; "add x to global variable foo" is not.

In a reasonably designed code base, the global state will be something like "log this statement" or "write to the database" or "increment a counter" - something more abstract than a raw global and easier to reason about. But it's still important to remember that these constitute global state, even if they're not your classic global variables.

Adbot
ADBOT LOVES YOU

NightGyr
Mar 7, 2005
I � Unicode

Steve French posted:

To be honest I am not totally sure why this quoted my post; I wasn't making a comment about global state, really, just clarifying what idempotent means in that context.

Continuing the general line of discussion with vague reference to what went before? I'm used to meandering email threads where someone quotes a random email that happened to be the tail end of the discussion.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply