I thought people might be interested in this “permissively-licensed command prompt w/ a 38kb footprint that’s nearly as good as gnu readline.”
But my main interest are some of the claims, not just applying to it:
Please do not contribute changes that have
#ifdef
statements. We don’t care if MSVC printed a warning, and we won’t accept Windows torture code since Windows compatibility can be abstracted by Cosmopolitan Libc which does C on Windows better than Windows does considering how there’s about ten different incompatible libc implementations, provided by the Windows platform, and they have a history of doing things like adding telemetry.
[I was surprised by “telemetry” (do I understand it right? does it belong in libc…?) and “ten different incompatible libc implementations”.]
So I thought people might be interested in that alternative libc. I know Julia supported MSVC to compile itself, but that support was recently dropped. I still see a lot of #ifdef
s in Julia’s C source code still (for other reasons). I’m not up to speed on all the details, I believe Julia is now compiled with Clang (and/or gcc?), so MSVC not needed. Not either Microsoft’s libc (or does Clang and/or gcc support it?)? Would it simplify even more for Julia (and other projects) as claimed to drop it?
If I recall Julia used GNU readline, but that’s one of my earliest memories of Julia, that it chose to use something else (written by Jeff?). At least the REPL is awesome, and not (no longer) relying on GPL code. I’m not suggesting Julia needs to adopt bestline, for maybe limited benefit?
Regarding it:
This library ignores platform-specific norms for multibyte encoding and it also ignores antiquated terminal capability databases. Libraries like ncurses were designed to reduce bandwidth on 300 bit per second modems. They’re bloated and huge because they needed to implement workarounds to all the “incompatible by design” engineering practices used by terminal platforms in the 70’s in 80’s.
Corporate America has long since moved on to making GUI platforms incompatible instead. Even the Windows command prompt supports VT100 and XTERM sequences these days. Seriously. It’s 2021 and and everyone in the world finally agrees on UTF-8 and ANSI VT100 style command sequences. That’s why bestline is now, for the first time in history, able to offer you a fully featured experience using simple bloat-free code.