Maybe you meant to post in the other thread? https://news.ycombinator.com/item?id=22465476
HN user
laszlok
Maybe you meant to post in the other thread? https://news.ycombinator.com/item?id=22465474
Finally TCO! Actually in my UI-heavy Elm programs it isn't that often that I have to write functions with large recursion depth. But it is really comforting to know that the compiler is analyzing my code and making it more efficient. :)
Chromium graphics engineer | Prezi (http://prezi.com) | Budapest (visa) or SF (visa) or remote (depending on your qualifications and needs)
Prezi is looking for an expert in web graphics to help us build our zooming rendering engine for modern browsers. You should have deep knowledge of the Chromium web browser and have experience building high-performance JavaScript apps using Canvas or WebGL.
Despite being a presentation tool, Prezi’s rendering needs are closer to a 3d game engine: 60fps zooming transitions, level of detail for vectors and images, and pixel-perfect rendering across platforms. On top of that, we have to provide high reliability because artifacts and dropped frames are incredibly painful for our users when they are presenting in front of hundreds of people on a big screen.
For more info, see http://prezi.com/jobs/oq2t0fwF or email me directly: laszlo.pandy at prezi dot com
I think what you are looking for is called auto-lifting. That is, automatically lifting functions into reactive streams.
While it sounds like an awesome idea, things get crazy really fast. It's hard to explain briefly, but make it explicit and clear to the programmer which things are reactive streams and which are simply values makes it much easier to predict what the program is doing.
Wow. It's cool that it shows you which part was re-rendered. And it's great to see that my Elm prototype inspired someone.
This change is more about consistency than anything else.
The problem is that other things, like shapes, are specified in pixels. So if text size isn't, it makes it impossible to position any shapes relative to text.
Think about a title in a game; you don't want it to go off the screen and you don't want it to wrap either.
I think the idea here is that you aren't /forced/ into inversion of control. That is, if it is clearer to write things side by side, instead of separated into another callback function, you can keep them together.