On Saturday, 12 September 2015 at 18:59:11 UTC, Ola Fosheim Grøstad wrote:
Array.slice create value copies, not reference views. I don't think there is a "slice" for Array. :-/

Right, that's why I said "kinda similarly"... the copy is really important if you want to mutate it, but it is good enough for viewing (tho poorly performing by comparsion).

Compile GC-based D-JS -> JavaScript + TypeScript definitions.

That's basically what my D->JS thing did back in 2011.

The problem is that you might need a little bit of Dependent Typing in order to provide types for the browser API. I.e. return type depending on parameter values? Not sure.

That doesn't actually happen very often, and when it does, you can do a function overload like string foo(string s) { return s;} vs int foo(int i) { return i; } and it works in D land pretty well. Then use a pragma(mangle) to make both refer to the same browser function.

That actually worked somewhat well in my dtojs but it was a mild hassle too once function callbacks got more involved. You can template them in D but then it bloats the generated JS for no real reason since they all have identical dynamically typed code! I suppose that is solvable too but i never got around to it and just went back to writing normal javascript. (I write small JS files anyway, it is an ok language for small scripts.)

Reply via email to