#include vi.cam FUNC unix(n:STR):S ; creates a pipe with the command n and reads its result RETURNS let(f = popen(n,"r"), r = m2read(f), x = pclose(f)) in r; FUNC p2e(n:SYM):SYM ; translates a word using the AWK command '$1==n' {print$2}' dic RETURNS let (com = strcat("awk '$1==\"", symstr(n), "\" {print \"(quote \" $2 \")\"}' dicn")) in unix(com); FUNC translate(x:SYM-list):SYM-list ; translates a phrase as a sequence of words RETURNS ;