3 ms·
I'm taking "reactive" here to mean the language tracks data dependencies, so expensive computations are automatically made incremental. Facebook had a research
by dymk 4y ago
I'm taking "reactive" here to mean the language tracks data dependencies, so expensive computations are automatically made incremental. Facebook had a research language attempting to do "reactive" programming called Skip (originally Reflex), which is now defunct. The runtime made the language like textual statically-typed Excel.
The use-case was to abstract away having to manually figure out where to put caches and how to invalidate them on front-end servers. Rather, have the runtime figure out how to cache content and page fragments when e.g. rendering the Facebook timeline. However, it was too difficult to bridge the gap to the existing Hack codebase, iirc in particular to the entity system used. There were also a lot of headaches trying to figure out how to power the underlying cache invalidation system.
https://www.youtube.com/watch?v=AGkSHE15BSs https://www.youtube.com/watch?v=AGkSHE15BSs
https://web.archive.org/web/20200219222902/http://skiplang.com/docs/functions.html https://web.archive.org/web/20200219222902/http://skiplang.c...
The author I think means something slightly different though, closer to prologue where you define facts and then ask the runtime to make an inference about those facts.
- jcelerier 4y agoThere are a ton of reactive languages though ? QML is a mainstream one used in plenty of UIs and shipped as part of Qt (https://qmlonline.kde.org https://qmlonline.kde.org), there's ReactiveML, Céu...
- bruce343434 4y agomy take on a reactive language was a tiny AST manipulator language. Since `a=b+3` assigned the ast `b+3` to `a`, you would implicitly get `a==4` when `b=1`. There was also an "eval" operator for when you really wanted `a=b+3` to just assign the evaluation of `b+3` (a single number) to a.