On Thu, Aug 30, 2012 at 09:41:14AM +0200, Lucio De Re wrote: > > The difficult bit for argumentative people to grasp is that the Go > Team use features that are portable across bourne-like shells, they > just refuse to commit to that level of compatibility. On the one > hand, requiring Bash gives them a reliable grounding and on the other > if they slip up and use an advanced feature the entire castle doesn't > come tumbling down on their head. >
This is indeed what I do. The request for a _subset_ of POSIX.2 is so that this will work for whatever Bourne like shell is there. When something doesn't work on an OS, I circumvent using a more limited subset on all. Bash is used as /bin/sh on a lot of Linuces, and R.I.S.K. then uses Bash, but with limited POSIX.2 features. (I had to circumvent some use of regexp because Plan9 APE relies on Plan9 regexp that does not implement "\{m,n\}" for example. I had to circumvent a peculiarity of Bash that exists with error when a function has an empty body---adding just a comment will do...--- Etc.) But as I said, this is not to argument about Go developers' choices: they do as they see fit, since I do it this way for myself ;) But an alternative is not only possible: it exists. (This is neither a plea for a wide use of R.I.S.K. since it has been published by side-effect: I didn't want to "support" it for external uses. But if I make a project public, I publish the framework too...) -- Thierry Laronde <tlaronde +AT+ polynum +dot+ com> http://www.kergis.com/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C