Sanscript is a visual dataflow programming language, available via its native IDE. It was developed by Northwoods Software as a simple visual scripting language. Its main purpose is manipulating file system, interacting with other applications and performing Dynamic Data Exchange (DDE) functions, so it provides a large set of library functions for these purposes. Sanscript works only with Windows platform.

Sanscript IDE is divided in three main parts: Overview, Catalog and Canvas.

Overview window (on the left) displays the list of folders available in Sanscript. These folders are grouped into General (libraries of standard functions), Examples and Templates (groups of ready-to-run sample programs and sample functions provided in the distribution) and USER (user-defined programs).

Catalog window (on the bottom) displays the contents of chosen folder: functions and programs. Functions can be dragged into Canvas for further usage, and programs can be clicked for editing. Note that a function can be not only library one but also a user-defined one.

Canvas window (the main one) displays the flowgram to be edited.

Elementary program unit in Sanscript is a function — an entity which accepts some input, processes it and turns it into some output. A function is displayed as a block with an image which denotes its purpose and a name which can (optionally) be changed to a more descriptive one. This block has inlets and outlets — slots which mark input and output data flows of the function and are used to connect the function to other blocks of the flowgram with links.

Some functions have only outlets: these are used to generate input data of the program. The most popular example of such functions is “Constant” (used to hold some predefined constant). Even “Prompt” function, which asks the user to enter some value, has an inlet for setting the text of prompt. In flowgrams of functions, the inlets of the function are represented with blocks of special types.

Some functions have only inlets: these are used mostly for outputting the results of calculation, like “Display Message”.

Most flow control statements in other languages have their function equivalent in Sanscript. Thus, loops are done with “Repeat” function (break statement is called “Stop Repeat”); if-then-else and case statements are replaced with “Pick One”.

Sanscript provides simple data types: integer, decimal (floating-point number), text (equivalent of string data types in other languages), boolean and pathname. Besides, there are two complex data types — List and Record, along with a number of functions to process them.