.$

Emblem allows the user to run arbitrary shell commands with use of the .$ or ‘system’ directive. As the command it takes is run externally, there are two problems:

  1. The command given to the system directive has no guarantee of portability
  2. This directive has all the security risks associated with random code execution so be careful when executing someone else’s source code. This can be alleviated by use of sandboxing.

The system directive is given the .$ name for visual similarity to a terminal when used.

Example -- Listing files in the current directory

Using the standard UNIX ls program, we can see the contents of the current directory:

.$: ls
<!-- Hello, this is some text which may contain repeated words. -->
<!-- We wonder how long it is, but we we’d rather know now many repeated words the text might contain. -->