huge wrench in my plans. python only supports building against openssl which is a much larger surface area than curl with gnutls
huge wrench in my plans. python only supports building against openssl which is a much larger surface area than curl with gnutls
however i'm realizing this is may also possibly be exactly what i want. because while python's pathlib is easy the best vfs interface, its networking protocols are outrageously unfit
this spans the range from parsing json, to url quoting, to its intentionally broken "email" parsing, to its disastrous reliance on implicit context like the User-Agent string sent to pypi upon every request, which after 5 years of working on pip came as a revelation to me
a revelation in the most literal sense that the word admits. i have spent many hours and finally succeeded at deriving the simplest version of a type system that mypy and corporate greed stole away from me all those years ago. it ends up looking like pydantic on the surface but with significantly more care for crafting the transitions between states such that an unambiguous unidirectional data flow is achieved and described
this is significant because it is precisely such transitions which the pants v2 engine fails to provide language to express. instead, it has synchronous and asynchronous (coroutine) paths in the graph. it has no conception of resource allocation or RAII. it has no conception of failure, and therefore not of trying again
this is not because we had failed to consider whether such affordances would enable safer faster more robust build tasks. Retry (a wrapper over a path in the task graph which could be separately tracked) was one of the several incredibly compact prototypes i developed (along with the composable --query syntax) which were poorly received
it remains shockingly clear that the model of pure functions alone cannot hold. the embarrassing parallelism for scala compiles that win wang and i developed the first successful model for was very specifically enabled by codifying two separate forms of persistent state, locally and remotely, allocating a local jvm jit to run eugene burmako's rsc and allocating remote scoot workers from drew gassaway's squadron within a compile context that enabled them to temporally and spatially share resources for the so-called "ephemeral" scalac workers