title: Vocabulary for a script that is expected to produce the same output no matter where it is run
body: <p>I'd like some advice on what vocabulary to use to describe the following. Having the right vocabulary will allow me to search for tools and ideas related to the concept</p>
  
  <p>I'd like to say a script is SomeWord if it is expected to produce the same output no matter where it is run.</p>
  
  <p>For example, the following script is <strong>not</strong> SomeWord:</p>
  
  <pre><code>#!/bin/bash
  ls ~
  </code></pre>
  
  <p>because of course it depends on where it is executed.</p>
  
  <p>Whereas the following (if it runs without error) is expected to always produce the same output:</p>
  
  <pre><code>#!/bin/bash
  echo "hello, world"
  </code></pre>
  
  <p>A more useful example would be something that loads and runs a docker or singularity container in a way that guarantees that a very particular container image is being used. For example by retrieving the singularity image by its content-hash.</p>
  
  <p>The advantages of SomeWord scripts are: (a) they may be safely run on a remote system without worrying about the environment and (b) their outputs may be cached.</p>