{{language|Gri |site=http://gri.sourceforge.net/ |parampass=both |safety=safe |express=implicit |checking=dynamic }} '''Gri''' is a scripting language for drawing scientific graphs with output to [[PostScript]].

Data points to plot can be read from a file or can be generated by an external program such as [[Awk]]. Data manipulation within Gri is limited, it being designed to be done by external crunching.

Drawing commands are provided to add various kinds of symbols, textual annotations, trend lines, etc. Those commands can be used for general purpose drawing too, with no graph data at all.

New commands are defined with a kind of keyword matching

`My Command .arg1. to .arg2.'
Docstring describing this command.
  # code here

# call as
My Command 123 to 456

New commands can loop and call each other, including recursively. Commands can set global or local variables and can use "synonyms" to act on named variables.

Arithmetic is done in reverse-polish such as

{rpn 123 456 +}

New rpn functions can be defined. They're a simple substitution with no looping, conditionals or recursion.