  Language workbenches are software engineering tools that help domain experts
develop solutions to various classes of problems. Some of these tools focus on
non-technical users and provide languages to help organize knowledge while
other workbenches provide means to create new programming languages. A key
advantage of language workbenches is that they support the composition of
independently developed languages. This capability is useful when developing
programs that can benefit from different levels of abstraction. We reasoned
that language workbenches could be useful to develop bioinformatics software
solutions. In order to evaluate the potential of language workbenches in
bioinformatics, we tested a prominent workbench by developing an alternative to
shell scripting. While shell scripts are widely used in bioinformatics to
automate computational analysis, existing scripting languages do not provide
many of the features present in modern programming languages. We report on our
design of NYoSh (Not Your ordinary Shell). NYoSh was implemented as a
collection of languages that can be composed to write programs as expressive
and concise as shell scripts. NYoSh offers a concrete illustration of the
advantages that language workbench technologies can bring to bioinformatics.
For instance, NYoSh scripts can be edited with an environment-aware editor that
provides semantic error detection and can be compiled interactively with an
automatic build and deployment system. In contrast to shell scripts, NYoSh
scripts can be written in a modern development environment, supporting context
dependent intentions and can be extended seamlessly with new abstractions and
language constructs. We demonstrate language extension and composition by
presenting a tight integration of NYoSh scripts with the GobyWeb system. The
NYoSh Workbench prototype is distributed at http://nyosh.campagnelab.org
