@132ikl @takipsizad i am unfortunately very upset about FP people taking up all the oxygen about build tooling despite very rarely having interacted with the space or the prior art so i have a somewhat negative view of their ability to understand what shell is and/or codify it appropriately. simon peyton-jones wrote a truly terrible paper with MSR that ruined build tooling for years maybe forever
@132ikl @takipsizad these are the kind of people (i'm literally talking about a specific guy) who claim "rust can't do graphs because linked lists don't work without unsafe" like sir if you think the only real graph is a specific implementation your favorite language happens to use everywhere i do not consider you remotely serious
@hipsterelectron @132ikl does that guy have anything to do with msbuild?
@takipsizad @132ikl not as far as i'm aware he is a prof at some UK uni i think i forgot his name after blocking him on twitter many years ago
@takipsizad @132ikl but yes that is a valence to be aware of. handling windows strings is so fucked up
@hipsterelectron @132ikl mmm sure get me a windows-1254 string
@takipsizad @132ikl rust does the worst possible thing with every fs operation for windows compat bc they don't have a good model for platform-specific code yet so they just fucking heap allocate everything
@takipsizad @132ikl the stdlib fs module is not exactly high quality code either. working on that now
@hipsterelectron @132ikl idk why but the fact that windows-gnu target still links against mscvrt is still funny
@takipsizad @132ikl now python is a language that has platform compat down. path handling is just fucking solved. i'm solving it myself for rust
@takipsizad @132ikl apparently python also has an mscvrt module lol https://docs.python.org/3/library/msvcrt.html
msvcrt — Useful routines from the MS VC++ runtime

These functions provide access to some useful capabilities on Windows platforms. Some higher-level modules use these functions to build the Windows implementations of their services. For example, t...

Python documentation
@hipsterelectron @132ikl official binary releases are linked against ucrt/mscvrt so i think its just the name part that remains

@takipsizad @132ikl here's another shit i fucking love:

Changed in version 3.3: Operations in this module now raise OSError where IOError was raised.

they care!! they fucking care!!

@takipsizad @132ikl when i interned at microsoft i used emacs on cygwin
@takipsizad @132ikl this is also bc windows strings are utf-16 and rust always encodes them to wtf-8 which like great good work thanks for doing that for windows users but why is that my problem exactly? they don't really have a good model of "user provides a buffer that the OS fills up" that generalizes yet
@takipsizad @132ikl currently working on a rust proc macro for fixing several issues with using cfg flags on impl traits so i can release the smallvec crate with my changes to use the allocator api but still be usable for ppl without nightly
@takipsizad @132ikl will probably just make it an rfc if it works