I'm not too familiar with Bash, Linux Shell, and other scripting languages. But I don't see why this wouldn't be allowed, as long as you've mentioned it in the title. Similar things are done with internal libraries (Python 3, numpy, scikit, 100% or Bash + Cygwin (or WSL), 21 bytes) as well as with flags (i.e. C# (Visual C# Interactive Compiler) with flag /u:System.Text.RegularExpressions.Regex
, 99 bytes or Perl 5 with -nlF/\s|/
, 39 bytes).
Here is a relevant meta-answer for flags, for which I'll quote the first sentence:
Rather than dealing with inconsistent schemes for adding flags, let's just consider each separate invocation of a compiler/interpreter/whatever a separate implementation (and thus a separate language by our rules).
I don't see why the same wouldn't apply to external libraries as well. Where a regular Bash answer and a Bash answer with your sipcalc library are just two 'different languages'.
EDIT: Some examples of languages using external libraries (most are pre-2016 however):
- PHP using SimplePHPEasyPlus, 1299;
- Racket using an external library for clearing, 351 bytes;
- JavaScript (using external library Enumerable), 52 bytes;
- R using external library gmp
, 52 bytes;
- JavaScript using Node.js with moment + HumanizeDuration, 125 bytes;
- R using lubridate package, 99 bytes.
As long as you clearly mention it, and link to the external library used, it's allowed as far as I know (unless the challenge explicitly forbids it (i.e. "Use of external libraries is forbidden", which also happens pretty often).
I've also posted an answer with an external library once (although I now see I've forgot to link to the library..): Java 7 with JavaFX, 674 bytes