Raymond, you have mastered a magnificent balance of technical expertise and clear/concise communication. Love your talks and conferences man, I’ve learned so much!
Hmm, its so easy to use Hy to convert those doctests into temporary static types so that you can use mypy. The algorithm is simple, when you see a list in a doctest it stands for a Sequence, when you see a set its an UnorderedSequence, when you see an integer it stands for a Number, when you see a float it stands for a float, when you see a str it stands for a str, when you see an Object it stands for Object (if you set the __astype__ attr in Object and it uses that type instead of the object), when you see a dict it stands for dict. What do you guys think? Also mypy should have IDE intergration where it tells you what type it thinks something is.
cutting and pasting from the interactive prompt to the docstring is all well and good unless you've spent an entire afternoon trying to get an up-to-date (YouCompleteMe-compatible) build of Vim installed, and configuring the makefile to turn on "paste from system clipboard" has entirely defeated you
It's not reimplementing. You implement constraints over them. The example in the talk was a quadratic equation solver. The code finds the equation roots, but the testing plugs those roots back in and sees that they output near-zero. I have a different example: if you're implementing an encode -> decode pair of functions, then you can test that decode(encode(x)) == x. Or you can test that no matter what input you get, your function does not crash (by simply calling it). It's implementing "constraints", not re-implementing the code.
I see a talk from Raymond -> I click, simple business
Raymond, you have mastered a magnificent balance of technical expertise and clear/concise communication. Love your talks and conferences man, I’ve learned so much!
Viewing Raymond Hettinger as an educator and entertaining speaker? (Bangs table) ... No, there isn't a better way😉
I love his talks. He makes me believe that I can learn, do, understand anything.
Raymond's the best
Raymond you're the best sir.
Almost, if he wouldn't use emacs instead of vim.
Slides here: pybay.com/site_media/slides/raymond2018-keynote/intro.html
Interesting little insight on the 3-means voting patterns!
God I love that guy (as a speaker of course!).
Hmm, its so easy to use Hy to convert those doctests into temporary static types so that you can use mypy. The algorithm is simple, when you see a list in a doctest it stands for a Sequence, when you see a set its an UnorderedSequence, when you see an integer it stands for a Number, when you see a float it stands for a float, when you see a str it stands for a str, when you see an Object it stands for Object (if you set the __astype__ attr in Object and it uses that type instead of the object), when you see a dict it stands for dict. What do you guys think? Also mypy should have IDE intergration where it tells you what type it thinks something is.
cutting and pasting from the interactive prompt to the docstring is all well and good unless you've spent an entire afternoon trying to get an up-to-date (YouCompleteMe-compatible) build of Vim installed, and configuring the makefile to turn on "paste from system clipboard" has entirely defeated you
Isn't hypothesis just reimplementing your functions? Why is that useful?
It's not reimplementing. You implement constraints over them.
The example in the talk was a quadratic equation solver.
The code finds the equation roots, but the testing plugs those roots back in and sees that they output near-zero.
I have a different example: if you're implementing an encode -> decode pair of functions, then you can test that decode(encode(x)) == x.
Or you can test that no matter what input you get, your function does not crash (by simply calling it).
It's implementing "constraints", not re-implementing the code.