Ok, I think I get it. That cleared it up. =). So, if you have a functioned labelled pure, it's your job to not pass it mutable arguments, but the compiler's job to make sure it doesn't mutate anything not in the arguments. And that's why a strongly pure function can call a weakly pure one - only the first function's internal state can be mutated by a weakly pure function. Thanks!
- Pure not acting pure. Charles McAnany
- Re: Pure not acting pure. Jonathan M Davis
- Re: Pure not acting pure. Charles McAnany
- Re: Pure not acting pure. Jonathan M Davis
- Re: Pure not acting pure. Michel Fortin
- Re: Pure not acting pure. bearophile
- Re: Pure not acting pure. Lars T. Kyllingstad
- Re: Pure not acting pure. Charles McAnany
- Re: Pure not acting pure. Lars T. Kyllingstad
- Re: Pure not acting pure. Jonathan M Davis
- Re: Pure not acting pure. Steven Schveighoffer
- Re: Pure not acting pure. Jonathan M Davis
- Re: Pure not acting pure. Steven Schveighoffer
- Re: Pure not acting pur... Jonathan M Davis
- Re: Pure not acting pur... bearophile