vector generation is a technique which allows us to generate lists without defining iterators and write loops. They are useful in many situations, and can turn code to much more succinct and compact. They also facilitate quick composition of more complex constructs via command expansion.
Here's an example: I have a program which operates on multiple host arguments. I need to generate a list of host names which have a sequential number embedded in them, e.g:
a1z a2z a3z a4z a5z
In bash one can write:
$ progname a{1..5}z
which will expand to:
$ progname a1z a2z a3z a4z a5z
In tcsh, which lacks this useful argument vector-generation feature, we can sometimes use seq. Unfortunately, seq is limited to numbers only. man seq says that seq supports a --format argument, but it doesn't seem to do the really useful thing (allowing arbitrary formats including a number). Instead it only supports changing the floating-point format of a number alone (a pity).
Of course, we can delegate the expansion to bash + echo using both command expansion and quoting of the full bash -c argument:
tcsh> progname `bash -c "echo a{1..5}z"`
Similarly, we could delegate the string vector generation to big utilities like awk, perl, python, lisp, or R using `` (command expansion).
The question is: are there any other simple ways to generate such vectors in tcsh. By 'simple' I mean a small utility like seq, or even better, a built-in shell construct, and without resorting to writing loops or delegating the vector generation to "big" programs like bash/awk/clisp/perl/python/R?