I've read that go's portability is pretty impressive. How do they achieve that? What would it take to do that for ghc? (I'm sure a non-trivial amount of work)
I don't really see how that makes it more portable. Doesn't that just mean you have to reimplement the necessary parts of libc for every platform you want to port to?
https://cancel.fm/blog/2019-11/language-fragility/
s/o to Go I guess
Isn't that an "interesting" definition of fragility?
Yes, apparently golang is, yet again, the best solution :blush:
Yup, interesting definition for fragility. But those are valid concerns and use cases. I would love to have a more portable haskell binaries.
I've read that go's portability is pretty impressive. How do they achieve that? What would it take to do that for ghc? (I'm sure a non-trivial amount of work)
Very interesting. How does Go achieve that?
I think they just reimplement everything they need from libc
"Independence from C" seems like something hard to get. Independence from libc is even more.
I don't really see how that makes it more portable. Doesn't that just mean you have to reimplement the necessary parts of libc for every platform you want to port to?
you can also use musl by default, or some equivalent
Doesn't that make it even harder to port? (Maybe less "fragile" given the definition.)
Yes. But but musl is libc nonetheless.
Maybe the author means glibc specifically, which is bloated and hard to port compared to musl libc.