Remix.run Logo
semiinfinitely 2 hours ago

I do not understand why in the age of ai coding we would implement this in javascript

mccoyb 2 hours ago | parent | next [-]

It’s straightforward: JavaScript is a dynamic language, which allows code (for instance, code implementing an extension to the harness) to be executed and loaded while the harness is running.

This is quite nice — I do think there’s a version of pi’s design choices which could live in a static harness, but fully covering the same capabilities as pi without a dynamic language would be difficult. (You could imagine specifying a programmable UI, etc — various ways to extend the behavior of the system, and you’d like end up with an interpreter in the harness)

At least, you’d like to have a way to hot reload code (Elixir / Erlang could be interesting)

This is my intuition, at least.

jatari an hour ago | parent | next [-]

Code hotloading isn't a particularly difficult feature to implement in any language.

mccoyb an hour ago | parent [-]

Sure, but why implement a novel language with said feature if your concern is a harness ... not on implementing a brand new language with this feature?

sergiomattei an hour ago | parent | prev [-]

I built my own harness on Elixir/Erlang[0]. It's very nice, but I see why TypeScript is a popular choice.

No serialization/JSON-RPC layer between a TS CLI and Elixir server. TS TUI libraries utilities are really nice (I rewrote the Elixir-based CLI prototype as it was slowing me down). Easy to extend with custom tools without having to write them in Elixir, which can be intimidating.

But you're right that Erlang's computing vision lends itself super well to this problem space.

[1]: https://github.com/matteing/opal

sean_pedersen 30 minutes ago | parent | prev | next [-]

There is a Rust port: https://github.com/Dicklesworthstone/pi_agent_rust

2 hours ago | parent | prev | next [-]
[deleted]
Blackarea 2 hours ago | parent | prev | next [-]

yes! I just don't understand that as well. Up until some time ago claud code's preferred install was a npm i, wasn't it? Please serious answers for why anyone would use a web language for a terminal app

2 hours ago | parent | prev [-]
[deleted]