
On 09/10/2016 02:04 AM, Damien George wrote:
What is to stop you from adding this to micropython as a library extension?
That's what I would like to do, and usually we do just go ahead and add our own extensions, trying to be Pythonic as possible :)
But we do that a lot and sometimes I think it would be good to discuss with upstream (ie python-dev/python-ideas) about adding new functions/classes so that MicroPython doesn't diverge too much (eg Paul Sokolovsky had a discussion about time.sleep_ms, time.sleep_us etc, which was fruitful). sys.optimize(value) is a pretty simple addition so I thought it would be a straight forward discussion to have here.
I guess my main question to this list is: if CPython were to add a function to change the optimisation level at runtime, what would it look like? I don't want to push CPython to actually add such a thing if it's not seen as a useful addition. Instead I want to see how others would implement it if they needed to.
Hello, The API you proposed here comes is similar to something I see a lot in MicroPython libraries: functions/methods that combine a getter and setter. For example, to set the value on a pin, you do: pin.value(1) and to read, you do: result = pin.value() If an API like this was added to the stdlib, I'd expect it to use a property, e.g. pin.value = 1 result = pin.value I was wondering, what's the story of this aspect of MicroPython API? Does it have hidden advantages? Were you inspired by another library? Or was it just the easiest way to get the functionality (I assume you implemented functions before properties), and then it stuck?