RFC: Nengo 4.0 API changes

Hi Trevor,

Sorry for the lag, heavy teaching season for me! First off, it’s clear that you have been thinking about this topic much more intently than I. As for your first question, yes, I was referring to the explicitness of the decode operation. My point was not so much that there is an embedded call, more that (my) mental model of the decode operation is better served by the earlier syntax. But i do think that the explicitness comes at the cost as the decode object, that now lives somewhat independent from populations but IMHO shouldn’t.

In my head it would be possible to have a simple documentation of connection irrespectively, by setting some defaults that would leave NEF functionality to the expert user, but still under connection.

As for your argument about infix, I don’t think that is a central concern for most programers, as we commonly think of some sort of kwargs being passed at the end of the argument list).

Finally, on the conceptual point, this is potentially the most compelling of the arguments. It is true that a current injection is different than a decoded connection. But once again, while ‘decode’ is an extra mystical thing, it is a gentle way to introduce the user to that piece of powerful black magic. User goes “what is that mystical thing?” and learns about the true wonders of NEF. I know that from first hand experience!

So TL;DR I’m still not convinced that the a.decode provides a better mental model.

But then again I’m speaking as an individual ¯_(ツ)_/¯

1 Like