Remix.run Logo
hansvm 6 days ago

I didn't see a DSL anywhere, just normal JS code.

As to what it adds?

- It's more accessible to a wider audience (and looks like how you'd implement autodiff in most languages)

- It runs in the browser trivially (powering those demos)

- The author (potentially) didn't have to learn a new language just to get started

- Programs are not fully differentiable, or at the very least there are some crazy edge cases and dragons lurking if you attempt to make them so. A dedicated whitelist of supported operations isn't necessarily a bad design, contrasted with an implicit whitelist in Clojure (depending on the implementation of course, but there wasn't a lot of source-to-source boilerplate even in this example, so I assume the benefit of a functional language would be stripping away some of the characteristics I think are important).