Earlier quoted context omitted.
You're not coming across as argumentative. By poor support for higher-order functions, I mean that e.g. you have to do "from functools import reduce, partial" for fold or partial function application. It's a trivial complaint, I'll give you, but it's one that's bitten me on more than one occasion (you think I'd learn!). There's also no foldr unless you implement it yourself. I badly misspoke when I said that you coul…
I don't understand. You can't pickle functions; when you pickle a function, you get a reference to the function, not the actual function code. E.g., this doesn't work: Dump.py: def isEven(n): return n % 2 == 0 import pickle with open('pickled','w') as dumpfile: pickle.dump(isEven, dumpfile) Loader.py import pickle with open('pickled') as loadfile: isEven = pickled.load(loadfile) This throws AttributeError: 'module' o…
Right - that's usually what I want. (I've used pickle to store tests against game assets, e.g. that a model has all of its textures checked into perforce, or that a texture for a model does not exceed 128x128, unless otherwise specified). Marshalling functions is usually a non-starter for this, since a) it's complicated to analyse the call graph before execution, and b) native functions can't be marshalled - an awful lot of code executed against this asset pipeline is thin bindings over native/Java/C# code. Maybe I have found the 1% of the Python use-cases where lambdas suck a bit and everywhere else it's fine--it would be great if my experience was exceptional and no-one else had ever had a similar problem doing something else.