News for hackers. Stuff that matters.
Re:Measuring Polymorphism in Python Programs [pdf] by brianwawok on Tuesday June 14, 2016 @03:53PM (#11904822)
Or maybe not.. what about mypy?

http://mypy-lang.org/

If 98% of the code has very basic types (i.e. function takes a Integer and returns a Decimal)... we could encode that in type hints with something like mypy, and get many of the type checking that statically typed languages get, without a crazy type system.

Hey I will take a 98% statically type checked language over 0%... if in so many cases I clearly know the types of stuff, let's put that info in there and detect and code time. So much of the standard library could use this to be cleaner.

Re:Measuring Polymorphism in Python Programs [pdf] by btilly on Tuesday June 14, 2016 @04:06PM (#11904926)
That would be an interesting tool.

Run a program while it is instrumented. The tool figures out what every type seems to be. Then goes back through the program and tries to prove that those types are correct.

It could then automatically annotate large chunks of code in a way that lets them run faster and will produce a warning if an unexpected type makes its way in in a future iteration. (An unexpected type, of course, being either a bug or a likely candidate for something that might expose latent bugs.)

Re:Measuring Polymorphism in Python Programs [pdf] by scott_s on Tuesday June 14, 2016 @04:58PM (#11905253)
I think you will be interested in this submission from a few months ago: Just-In-Time Static Type Checking for Dynamic Languages, https://news.ycombinator.com/item?id=11528375
Re:Measuring Polymorphism in Python Programs [pdf] by jerf on Tuesday June 14, 2016 @04:15PM (#11904985)
That's basically how most JIT compilers work. But it would be nice to be able to get the annotations back out of the JIT. Anyone know of a JIT that lets you do that? (In any language, since now I'm just academically interested.) It that would be darned useful when one "inherits" a large, dynamically-typed code base... it would greatly increase freedom to refactor if you were more sure that such and such a function really does only ever get a number, despite all the code you see for handling objects and strings, for instance.
Re:Measuring Polymorphism in Python Programs [pdf] by webwarrior on Tuesday June 14, 2016 @05:32PM (#11905483)
In Pharo (modern Smalltalk implementation) you can get some info from VM and JIT.

Someone is already working on type inference using VM caches.

See http://forum.world.st/parameters-of-the-virtual-machine-td48...

Re:Measuring Polymorphism in Python Programs [pdf] by brianwawok on Tuesday June 14, 2016 @04:50PM (#11905211)
Re:Measuring Polymorphism in Python Programs [pdf] by trentnelson on Tuesday June 14, 2016 @11:29PM (#11907028)
That's pretty close to what I'm currently playing around with.