For the latest version of JMP Help, visit

Scripting Guide > Introduction > Basic JSL Syntax
Publication date: 11/10/2021

Basic JSL Syntax

A JSL script is a series of expressions. Each expression is a section of JSL code that accomplishes a task. JSL expressions hold data, manipulate data, and send commands to objects.

Many expressions are nested message names. Message contents are enclosed in parentheses:

Message Name ( argument 1, argument 2, ... );

The meaning of JSL names depends on the context. The same name might mean one thing in a data table context and something entirely different in a function context. See Rules for Name Resolution.

Almost anything that follows certain punctuation rules, such as matching parentheses, is a valid JSL expression. For example:

win = New Window( "Window Example",
	Text Box( "Hello, World" ),
	Text Box( "-----" ),
	Button Box( "OK" )


Names can have embedded spaces. See Names.

Message contents are enclosed in parentheses, which must be balanced. See Parentheses.

Items are separated by commas. See Commas.

JSL is not case sensitive; you can type “text box();” or “Text Box()”.

Messages are commonly nested inside other messages.

Want more information? Have questions? Get answers in the JMP User Community (