logoalt Hacker News

yodsanklai12/09/20242 repliesview on HN

If I understand correctly, Starlark is a strict subset of Python (at least very close to Python). Can anything be more established than Python?

Also I don't think pure data is an option. The point is that you want to generate data, which has many benefits (avoid duplication, easier to test).

It seems that Starlark is a good trade-off given the constraints. My main grief is that it doesn't have type.


Replies

kevindamm12/09/2024

The syntax is a pure subset but the implementations are bespoke, so I wouldn't equate the established position of Python with whether Starlark is considered established.

I agree that sometimes pure data isn't an option, and I've had to write some Skylark to assist blaze build rules too, but every time it also added tech debt, reduced the number of people on the team who completely understood the build system, and wasn't convenient/practical to test the build extension. The problem I'm referring to above is when the use of a source-controlled data file would have been sufficient but someone had to write a build extension because it's fun or something new to do (or whatever reason seemed convincing at the time).

Then there are people who think that those same data files shouldn't be part of the build process at all and should be part of system turn-up/tear-down, stored in a global config or DB where versioning is alongside the data instead of alongside the program build. Certain kinds of migration are made more difficult if everything is built into the binary. Of course, that strategy comes with its own caveats.

phyrex12/09/2024

The rust implementation has types