News for hackers. Stuff that matters.
Re:Runtime type information for JavaScript by Schampu on Sunday September 17, 2017 @01:58PM (#15270823)
I've recently worked on something similar, which uses dynamic analysis to be able to collect type informations and many other data which is only available at runtime.

Runtime type checking: https://maierfelix.github.io/Iroh/examples/type-checking/

JavaScript -> Flow conversion: https://maierfelix.github.io/Iroh/examples/auto-flow-types/

It's also possible to turn the runtime control-flow of running JavaScript into a playable game: https://maierfelix.github.io/src2game/

Re:Runtime type information for JavaScript by jw- on Sunday September 17, 2017 @07:42PM (#15272332)
Really interesting stuff! I tried out some higher-order examples:

INPUT >>> function add(f, b) { return f(b); };

let a = add(function(x) {return x + 1}, 3);

OUTPUT >>> function add(f: function, b: number): number { return f(b); };

let a: number = add(function(x: number): number {return x + 1}, 3);

and I noticed that the flow type annotations are added to the call site, rather than on the argument f in the definition of add. Are all the types that you generate first order?

Re:Runtime type information for JavaScript by dgolds on Sunday September 17, 2017 @03:53PM (#15271365)
Wow, That's some pretty interesting stuff you have there.