WHAT Command Language (11-May-16)

WHAT, Wolfberg's Helpful Anagramming Tool, is really a toolbox of powerful tools, with many facilities. The "WHAT User Guide" is an extensive reference document that includes a description of the command language which the program accepts. This separate document is meant to be used in conjunction with the user guide, and this can be used as a quick reference.

This document has these four sections:

The first section can be used as the minimal documentation for using WHAT. It is also available alone as the small document "WHAT Common Queries Reference Sheet", which is available in both HTML as what_common_queries.html or as an MS Word document what_common_queries.doc. The latter does fit on one page, whereas the HTML version may not, according to you browser's font and other settings.

The second and third of these four sections are copies of what is included in the WHAT User Guide.

The Most Common Queries

What To Do How To Do It Examples
Anagram Type letters in any order EQUITAN and Enter yields: ANTIQUE QUINATE
SQUIRAL and Enter reports "(nothing)"
Anagram, yielding shorter words Type the letters, then press Ctrl and a digit quixote and Ctrl+5 yields: QUIET QUITE QUIXOTE QUOIT QUOTE TOQUE
Indicate a blank in anagramming Type a question mark Q?? and Enter yields: QAT QUA SUQ
Indicate a blank in a pattern Type a period ..J and Enter yields: HAJ RAJ TAJ
Indicate zero or more blanks in a pattern Type an asterisk *Q and Enter yields: SUQ TRANQ UMIAQ
QA* and Enter yields: QAID QAIDS QANAT QANATS QAT QATS
Denote a consonant or vowel Type (C) or (V) 5(V)2(C)Q and Enter yields: ACEQUIAS ADEQUATE AEQUORIN and many others. Notice the use of repetition counts.
Fill in a pattern with a rack Type a comma as separator QU...T.,AI?? and Enter yields: QUALITY QUINATE
Does a rack play through certain letters Enclose those letters within parentheses LIQUIDS(COZ) and Enter yields: SOLIQUID
See definitions Type the quotation mark ..V" and Enter yields the 8 words with their definitions
Word acceptability Type the word and /-? liquers/-? and Enter reports it is not a word
See only a count Include a number sign QRSTEOU# and Enter reports "Number of words = 4"
See what 1 or 2 blanks match Include an equal sign quito?= and Enter reports the blank can be only an S
Get a hidden answer Include a backslash aeiou??q\ and Enter gets the answer, but shows nothing
See a particular letter Type <letter-#>/<word-#> Following the above example, 1/2 and Enter reports "Letter 1 of word 2 is: E"
See a particular word Type /<word-#> Following the above 2 examples, /2 and Enter shows the 2nd word: EQUATION
Challenge a play Press Esc or Tab, and follow the instructions In the Challenge Window, type JOS,DEELY and Tab, and you are shown "No, the play is UNACCEPTABLE"
Command Type-In

As you type a command line to WHAT, you have the ability to edit the line before submitting it for processing (i.e., getting performed). These editing characters are supported:



Backspace - at the command start, do nothing; otherwise erase the character before the cursor and move the cursor to the left by one character.
Ctrl+Backspace - erase one or more previous characters in the current command back such that what looks like the previous word is eliminated.
Delete - at the command end, do nothing; otherwise erase the character at the cursor and leave the cursor where it is.
Ctrl+Delete - erase all the characters in the current command and move the cursor to the position of the command start.
Insert - toggle between two modes of character input - inserting and overlaying.
Ctrl+Enter - check the current command and report any errors in the middle part of the status bar at the lower border of the WHAT window.
Ctrl+T - at the command start or end, do nothing; otherwise interchange the character to the left of the cursor with the character to the right of the cursor and then move the cursor to the right by a character.
Home - move the cursor to the start of the command.
Ctrl+Home - scroll the workspace to its beginning.
End - move the cursor to the end of the command.
Ctrl+End - scroll the workspace to its end.
left-arrow - at the command start, do nothing; otherwise move the cursor one character to the left.
right-arrow - at the command end, do nothing; otherwise move the cursor one character to the right.
Ctrl+A - select all text in the workspace.
Ctrl+B - same as left-arrow, Backup one character.
Ctrl+C - copy selected text (see below).
Ctrl+E - same as End.
Ctrl+F - same as right-arrow, go Forward one character.
Ctrl+V - paste text from the clipboard (see below).
Ctrl+X - cut (or copy) selected text (see below).
Ctrl+Z - minimize the WHAT window - this works even from within the Challenge Dialog.
F1 through F12 - function keys are used to input user-chosen character sequences. You can specify these assignments via a dialog available via the Edit menu, and initial values can be established in WHAT's initialization file. F10 cannot be used, since it selects the menu. Function keys represent text to be appended to the command line, and there are two options, whether to:
  • first clear the command line, and/or
  • follow the appended text with an automatic Enter key press to cause the command to be performed.

WHAT deals with selecting, cutting, and pasting, in conjunction with the Windows system clipboard. You may insert text only on the command line to the right of the prompt. If the cursor is elsewhere when you attempt to paste, it is first moved to the end of the command line. Inserted text must be all on one line. If the clipboard includes more than one line of text, only the text on the first line is used in the paste operation, and then any text following the end of the pasted first line is lost. If you attempt to cut text that is not all within the current command (following the prompt), a copy is done instead. One exception to this is if you include part of the WHAT prompt in what you are cutting; in this case, a cut is done, but it does not include characters from the prompt.

If your mouse or your computer has a mouse wheel, WHAT will respond to the wheel by scrolling the workspace. You can also use the scroll bars on the right edge of the workspace to do this.

Character Conventions

This section describes how you use each of the characters of the keyboard within WHAT commands. The order of this section is based on the order of ASCII numerical encoding.

Individual keyboard characters other than digits and letters are employed as common constituents of commands. Less-used command constituents are expressed using multi-character sequences.

<tab> - The Tab key can be pressed to terminate a command line which has one or more words to be challenged. The Challenge Dialog is brought up, primed with any comma-separated words on the command line.
Esc - The Esc key can be pressed to terminate a query which is taking too long or a slate presentation which is more than you want to see. It is used other than during the processing of a command to alternate between the Challenge dialog and normal WHAT use.
<space> - Spaces terminate subcommands. They are usually optional. A space ends the specification of rack characters (introduced by a comma).
! - The exclamation point is used in these ways:
  • as the first character of a command line to indicate you are reusing the most recently used query and rack specification
  • as a prefix character in the specification of a specified set, where it means "not"
  • as a suffix character in a query to indicate the previous query constituent is required to be in the result
  • as a suffix character following a command or subcommand to indicate that command or subcommand is to have a long-term effect, as well as a short-term effect
  • in relational operators.
" - The quotation mark (or double-quote) is employed in commands to indicate words are to be presented one per line, each with its definition. When a word has more than one definition, a plus sign is used as as a separator instead of the usual minus sign; when the presntation layout is not set to one word per line, all definitions of the word are shown in the presentation on subsequent lines. This feature is available only when you supply WHAT with a suitable definitions file. Quotation marks are also used within commands to enclose labels and the print job title.
# - The number sign (also known as an octothorp) is employed in commands to mean "number of words". When it is used alone, it indicates the presentation of the slate is limited to indicating the number of items on the slate. It is also used within the specification of built-in sets, where it means letter frequency (i.e., "number of letters") in a game played on a 15 x 15 board.
$ - Dollar sign is used to specify something connected with the scoring of a letter or a word.
% - The percent (that anagrams to PRECENT) sign is used to specify something connected with word probabilities.
& - The ampersand is used in a couple of ways:
  • to represent the number of anagrams; this shows up in query filtering, slate presentation, and sorting;
  • as the operator for set intersection, used for wordlists and letter sets.
' - The apostrophe (or single-quote) is employed in commands to indicate words are to be presented in the order they are on the slate. This is typically in normal word order, but you can alter query results to yield other ordering.
( - The left parenthesis (that anagrams to FELT INTERPHASES) is used as part of the specification of letter sets and to introduce a reference to a letter set.
) - The right parenthesis (that anagrams to GIRTH/GRITH INTERPHASES) is used:
  • as part of the specification of letter sets and to terminate a reference to a letter set;
  • to indicate slate presentation includes anagrams.
* - The asterisk (that anagrams to SARKIEST) is used in queries to mean zero or more blanks. Although when it is used a pattern match query is implied, you can change that so that an anagram query is done, in which case it means any number of blanks can be used. It is an error to include redundant asterisks in a query, such as consecutive ones. Consecutive periods and asterisks are permitted. This character is also used to specify a set operation of cross-product which produces a new wordlist based on two existing wordlists.
+ - The plus (that anagrams to PULS) sign is used in some commands, such as the /+S command. It is also used in queries to terminate a list of subtracted letters and then revert to indicating letters included in the query. Another use of the plus sign is as part of the specification of a set indicating a letter already in the word.
, - The comma is used only as an optional character in the /OR command to indicate a comma is employed as a separator when slate output is in packed rows. It is also used to introduce the rack in a query. Typically you type the pattern, the comma, and the rack which is used to fill in blanks in the pattern.
- - The minus (that anagrams to MUNIS) sign is used for many different purposes:
  • as a prefix for command phrases to turn something off involved with the slate presentation, such as the showing of scores (-$);
  • in the /-S command;
  • as a one-character command to output a line of minus signs, which is treated as a page break when the workspace is printed;
  • as a hyphen when specifying a range of values;
  • as a hyphen when specifying a range of letters in a set;
  • to indicate vowels are to be ignored when filtering for what the blank can be;
  • to represent the set difference operator when declaring a user-defined set based on the difference between two sets;
  • to represent the wordlist difference operator;
  • used in a query to indicate letters that have already been specified but are being subtracted from the query. An example is:
       unitedstatesofamerica-underestimates/|4
  • as part of the specification of a set indicating a letter not yet in the word.
. - The period (that anagrams to DOPIER) is used in queries to mean a blank, but also the query is implied to be a pattern match kind of query. A period-specified blank, like a question mark one, normally scores according to the letter for which it is used in a word; whether it does is under your control using the /Z and /-Z commands.

A command consisting of just a period causes a random rack to be generated and it replaces the command line.
/ - Slash is employed to introduce most of the WHAT commands and subcommands. It is also used when probing the slate as a separator between character number and item number, either of which you may omit.
<digits> - Digits are used to express numbers, and these are employed throughout the WHAT commands to provide values. A number can precede a letter in a query to indicate a repetition count. Also, /2A and /2P specify kinds of queries.
: - The colon is used to represent the presentation of the slate is to be based on what the blank can be. It is also used to specify sorting based on what the blank is. It is used as a separator when specifying an item of a wordlist in commands to delete, copy, and move items, and also to start up sequential flashcarding.
; - The semicolon is used to refer to canonically-ordered words. You may create the slate with canonically-ordered words. As a separate step, you can have the slate presented with words in canonical order. Canonically-ordered words are in general non-words; you can think of these as "semi-words", hence the choice of using this character for this purpose.
< - The left angle bracket is used to specify something connected with front hooks. It is used to specify decreasing sorting order. It also shows up in relational operators, where it means "less than". It is used in ranges where the range is not inclusive of the upper extreme.
= - The equal sign is used in a few different ways:
  • to indicate the presentation of the slate is limited to indicating those letters exactly one or two blanks represent in the most recent query (ignoring 5 x 5 Grid Game and two-word anagramming queries);
  • in commands to indicate certain sorting is not to be done;
  • as an assignment operator character; these uses include declaring a user-defined set, yielding user-defined sets, and setting values of WHAT variables;
  • (=) represents the ever-changing built-in set based on the possible letters the blank can represent in the most recent query when that query had exactly one blank (ignoring 5 x 5 Grid Game queries);
  • this shows up in relational operators.
> - The right angle bracket is used to specify something connected with back hooks. It is used to specify increasing sorting order. It also shows up in relational operators, where it means "greater than".
? - The question mark represents a blank in a query. Like a period-specified blank, it usually scores according to the letter for which it is used in a word, but you may indicate blanks are to be zero-scoring using the /Z and command. It is also part of commands for word presence in a lexicon or wordlist.
@ - The at-sign (that anagrams to GAINST/GIANTS/SATING) is used:
  • to specify something connected scoring based on board positions. If it is followed by a tilde, the position must be within the word. Without the tilde, the word must start at the given position.
  • to indicate a set in a query that denotes all the members of the set, as if they were supplied explicitly.
<ABC...> - Uppercase or lowercase letters represent themselves in queries; case of letters is of no significance. Letters of either case are also usable as part of many different WHAT commands.
[ - The left square bracket is employed in a query to introduce a reference to a word already on the slate or some list. The reference may be for the whole word or some part of it, namely a subword.
\ - Back-slash is employed in commands to mean nothing about the slate is presented as a result of making a query.
] - The right square bracket is used:
  • in a query to terminate a reference to a word already on the slate or some list. The reference may be for the whole word or some part of it, namely a subword.
  • to specify slate presentation is done with hidden words, such that each word is merely shown as "[]".
^ - The carat is employed in commands to refer to commands already issued and thus exist in the command history.
_ - The underscore is currently an unused character is WHAT.
` - The back apostrophe (or unquote) is employed in commands to indicate words are to be shown with what letters can be unhooked, namely whether a leading or final letter (or both) of a word can be dropped to form other words.
<abc...> - Lowercase or uppercase letters represent themselves in queries; case of letters is of no significance. Letters of either case are also usable as part of many different WHAT commands.
{ - The left curly brace (that anagrams to ACERB/CABER) is used in WHAT to introduce a set of letters whose probability is to be computed.
| - The vertical bar is used to specify something connected with word length. It is used as part of commands to affect sorting by word length and presentation of word length. It is also used within subword references (within square brackets) to indicate the number of letters in the referenced word and also some number of letters related to the referenced word's end. It is also used as the operator for set union for wordlists and letter sets.
} - The right curly brace (that anagrams to ACERB/CABER) is used in WHAT to terminate a set of letters whose probability is to be computed.
~ - The tilde (that anagrams to TILED) is employed in various ways:
  • as a kind of query, it alone means the only presentation of the slate is whether or not the slate has at least one item;
  • following slash and at-sign, it indicates a board position that is involved as part of scoring words;
  • indicates blank circulation in query kinds;
  • indicates requiring word rearrangement in steals;
  • indicates reverse order in word references;
  • sort the slate according to presentation sorting when the slate is copied to a wordlist;
  • indicate randomized flashcarding in the /<#>~FC command.

WHAT Command Repertoire

Intended for use as a reference, this section includes all of the WHAT commands and command fragments. ASCII ordering is used to organize these utterances.



/<to-wordlist-#>:<to-item-#>=<from-wordlist-#>:<from-item-#>,<#-to-copy>C   -   copy the given item(s) to the specified place; the comma and <#-to-copy> may be omitted

/<to-wordlist-#>:<to-item-#>=<from-wordlist-#>:<from-item-#>,<#-to-move>M   -   move the given item(s) to the specified place; the comma and <#-to-move> may be omitted



/=<wordlist-#>:<item-#>,<#-to-delete>D   -   delete the given item(s) from the wordlist

<space> - A space ends the specification of rack characters (introduced by a comma).
! - used as a suffix character to indicate the letter is follows is required to be in the result, or the command part it follows is to have a long-term effect
!= - a relational operator, means "not equal to"
" - in slate presentation, present words one per line, and include one definition of the word; when a word has more than one definition, a plus sign is used as as a separator instead of the usual minus sign; when the presntation layout is not set to one word per line, all definitions of the word are shown on subsequent lines in the presentation
# - indicate WHAT's presentation of the slate is limited to indicating how many items are on the slate
#= - indicate WHAT's presentation of the slate is limited to indicating how many different letters or letter pairs the one or two blanks can be in the most recent query (ignoring 5 x 5 Grid Game and two-word anagramming queries)
$ - show scores in slate presentation
% - show word probabilities in slate presentation
& - show anagram counts in slate presentation
' - indicate WHAT should present individual words in the order that each one is on the slate; this is typically in normal word order, but this can vary accorinding query result settings
(!<letter-list>) - a set made from letters not in this list
(#<number>) - the set of letters whose frequencies are at least this
(#<number>-<number>) - the set of letters whose frequencies are in this range
(#<number><<number>) - the set of letters whose frequencies are in this range
(#<rel-op><number>) - the set of letters whose frequencies pertain
($<number>) - the set of letters whose scores are at least this
($<number>-<number>) - the set of letters whose scores are in this range
($<number><<number>) - the set of letters whose scores are in this range
($<rel-op><number>) - the set of letters whose scores pertain
(+) - any letter appearing for the first time in this word
(+<set-spec>) - a letter appearing for the first time in this word
(-) - any repeated letter, one already in the current word
(-<set-spec>) - a repeated letter, one already in the current word
(<number>) - user-defined set with the given number
(=) - the query-based set of letters that matched the one blank in the most recent query
(@<set-spec>) - in a query, represents all members of the set
($) - scores for each of the 26 letters of the alphabet; you may redefine this set
(A) - all letters of the alphabet
(B) - the set of letters in a full bag (user-specifiable)
(C) - the set of consonants (including Y)
(C-) - the set of consonants excluding Y
(P) - the set of letters in a full suPer bag (user-specifiable)
(R<number>) - a repeated letter, same as nth letter of the current word
(S) - same set as the one already used in the query for the 1st character
(S<number>) - same set as the one already used in the query for the nth character
(V) - the set of vowels (excluding Y)
(V+) - the set of vowels including Y
(<letter-list>) - a set made from a list of individual letters or letter ranges, auch as A-E, in any order, perhaps with repetition counts and/or duplicates
(<letters-with-one-.>) - word-based set of letters for pattern
(<letters-with-one-?>) - word-based set of letters anagramming
(<set>|<set>) - set union when declaring a user-defined set
(<set>&<set>) - set intersection when declaring a user-defined set
(<set>-<set>) - set difference when declaring a user-defined set
) - show anagrams within parentheses along with secondary lexicon indicators in slate presentation
* - match zero or more of any letters; this is a wild-card character, and it implies the kind of query is pattern matching
+ - In a query, terminate a list of subtracted letters and then revert to indicating letters included in the query.
, - separates a pattern spec and a rack spec; rack characters may follow
- - As a one-character command, replace the command by a line of minus signs; such lines are treated as page breaks when the workspace is printed.
- - Subtract the following letters in a query. If the count of a letter goes negative, this is equivalent to zero.
-" - do not show word definitions in slate presentation (the default)
-$ - do not show scores in slate presentation (the default)
-% - do not show probabilities in slate presentation (the default)
-& - do not show anagram counts in slate presentation (the default)
-) - do not show anagrams in slate presentation (the default)
-: - do not show what the blank is in slate presentation (the default)
-; - do not show words in canonical order in slate presentation (the default)
-< - do not show front hooks in slate presentation (the default)
-> - do not show back hooks in slate presentation (the default)
-` - do not show unhook indicators in slate presentation (the default)
-| - do not show word lengths in slate presentation (the default)
. - match any letter; this is a blank - the same as ?, except it implies the kind of query is pattern matching
/+B - score with a bingo bonus for words of at least 7 letters (the default)
/+LB - show matched blanks with lowercase letters when outputting to the slate and in flashcard presentation (this is the default)
/+LC - lowercase letters on the slate are presented as colored uppercase letters; lowercase letters in presented flashcards are shown as colored uppercase letters (this is the default)
/+P - for pattern matching with additional blank circulation
/+RC - turn on the recording of challenged words for other than tourney adjudications
/+S - accumulate words on the slate by augmenting (not replacing) it
/+Z - score zero for blanks (the + is optional)
/:- - do not filter by what the blank can be
/<- - do not filter by front hooks
/>- - do not filter by back hooks
/><wordlist-#>A<line-of-text> - append the line of text to the specified wordlist, omitting the command itself from the slash through the A
/#<number> - yield only those words from the source wordlist that lead to word counts of at least this
/#<number>-<number> - yield only those words from the source wordlist that lead to word counts in this range
/#<number><<number> - yield only those words from the source wordlist that lead to word counts in this range
/#<rel-op><number> - yield only those words from the source wordlist that lead to word counts which pertain
/#- - do not filter according to word counts
/#B - count the letters denoting blanks on the slate, and issue a report which includes the total and the distribution
/#L - count the lowercase letters on the slate, and issue a report which includes the total and the distribution
/"<optional-excl><search-string>" - filter according to definition contents
/"- - do not filter according to definition contents
/$<rel-op><number> - yield only those words whose scores pertain
/$<number> - yield only those words whose scores are at least this
/$<number>-<number> - yield only those words whose scores are in this range
/$<number><<number> - yield only those words whose scores are in this range
/$- - do not filter by scores
/%<number> - yield only those words whose probabilities are at least this
/%<number>-<number> - yield only those words whose probabilities are in this range
/%<number><<number> - yield only those words whose probabilities are in this range
/%<rel-op><number> - yield only those words whose probabilities pertain
/%- - do not filter by probabilities
/&<number> - yield only those words whose anagram counts are at least this
/&<number>-<number> - yield only those words whose anagram counts are in this range
/&<number>-<number> - yield only those words whose anagram counts are in this range
/&<rel-op><number> - yield only those words whose anagram counts pertain
/&- - do not filter by anagram counts
/-<unlock-number>C - bring up the Challenge Dialog that will remain active until the secret non-zero, up to 8-digit "unlock number" is typed; if you provide more than 8 digits, only the first 8 matter; challenged words will not be recorded; here is an example:
/-12345C
/-"<lexicon-name>"? - is a word in the specified lexicon?
/-? - is a word in the lexicon(s)?
/-@ - score without regard for placement on the board
/-B - score with no bingo bonus for words at least 7 letters long
/-FC - turn off flashcarding mode
/-I - change the input for queries to be the lexicon
/-LB - do not specially show matched blanks when outputting to the slate and when flashcard presentation; use uppercase letters only
/-LC - lowercase letters on the slate are presented as is, not as colored uppercase letters; lowercase letters in flashcards are presented as is, not as colored uppercase letters; if you choose this option, you cannot also make sense of hook letters in slate presentation, which are also shown in lowercase
/-RC - turn off the recording of challenged words for other than tourney adjudications
/-S - do not accumulate slate words - query results replace the slate
/-WB - do not show blanks in the workspace when outputting to the slate; use uppercase letters only
/-WC - lowercase letters on the slate are presented as is, not as colored uppercase letters; if you choose this option, you cannot also make sense of hook letters, which are also shown in lowercase
/-Z - do not score zero for blanks (the default)
/.P - for pattern matching with inserted blank circulation
/.<number>><wordlist-#>A - append the specified number of random racks to the specified wordlist
/.<number>S - number of letters in a produced random rack (2 - 16)
/.<number>B - number of blanks in the bag for random racks (0 - 12)
/.<number>P - integer percentage that there is at least one word using all letters (0 - 100); the absence of a number indicates no artificial percentage is used
/"<ordering>" - the random output letter presentation ordering; if you specify no ordering within the quotes, random ordering is used
// - begin a comment - the remainder of the line is ignored
/15S - score based on a 15 x 15 board size
/21S - score based on a 21 x 21 board size
/<item-#> - show the nth item on the slate (command must stand alone)
/0? - is a word on the slate? If so, which item number?
/2A - set the query kind to two-word anagramming
/2P - set the query kind to two-word patterns
/<wordlist-#>? - is a word in this wordlist? If so, which item number?
? - match any letter; this is a blank in a query. Like a period-specified blank, it usually scores according to the letter for which it is used in a word, but you may indicate blanks are to be zero-scoring.
/<unlock-number>C - bring up the Challenge Dialog that will remain active until the secret non-zero, up to 8-digit "unlock number" is typed; if you provide more than 8 digits, only the first 8 matter; challenged words will be recorded; here is an example:
/12345C
/<wordlist-#>D - delete the given wordlist
/<wordlist-#>FC - turn on sequential flashcarding for this wordlist at item 1
/<wordlist-#>:<item-#>FC - turn on sequential flashcarding for this wordlist at the given item
/<wordlist-#>~FC - turn on randomized flashcarding for this wordlist
/<number>H - show command history beginning with the command designated by the given number and show as many commands going forward as almost fills the output area (if that many exist)
/<wordlist-#>I - change the input for queries to be this wordlist
/<wordlist-#>L<opt-label> - associate the given label with the wordlist; if you supply no label, WHAT eliminates any existing label. You cannot alter the label of the slate; it is fixed at "Slate".
/<to-wordlist-#>:<to-item-#>=C - copy the current flashcard to the specified place
/<to-wordlist-#>:<to-item-#>=M - move the current flashcard to the specified place
/<number>OC - present results in columns with this number of lines per column
/<wordlist-#>R - restore the slate from the given wordlist
/<wordlist-#>S - shuffle (i.e., randomize or mixup) the order of this wordlist - useful for flashcarding
/<opt-set-#>U<opt-label>=<opt-set> - declare a user-defined set
/<opt-set-#>U<opt-label>=<set>|<set> - declare a user-defined set based on the union of two sets
/<opt-set-#>U<opt-label>=<set>&<set> - declare a user-defined set based on the intersection of two sets
/<opt-set-#>U<opt-label>=<set>-<set> - declare a user-defined set based on the diffrence between two sets
/<wordlist-#>W<opt-label> - save the slate to a wordlist of the given number
/<wordlist-#>~W<opt-label> - save the slate to a wordlist of the given number, sorted according to slate presentation sorting
/:<rel-op><set-spec>) - yield only those words for which what the blank can be are related to the letters in the set
/;"<ordering>" - set the canonical ordering for presentation
/<<rel-op><set-spec>) - yield only those words that have front hooks which are related to the letters in the set
/<$ - sort presentation by decreasing scores
/<% - sort presentation by decreasing probabilities
/<& - sort presentation by decreasing number of anagrams in a set of letters
/<' - sort presentation by decreasing alphabetical order
/<: - sort presentation by decreasing alphabetical order for what the blank can be
/<; - sort presentation by decreasing alphabetical order of canonically-ordered words
/<| - sort presentation by decreasing word lengths
/=$ - do not sort presentation by scores (the default)
/=% - do not sort presentation by probabilities (the default)
/=& - do not sort presentation by anagram counts (the default)
/=' - do not sort presentation by alphabetical order of the word
/=: - do not sort presentation by what the blank can be (the default)
/=; - do not sort presentation by canonical order (the default)
/=D - delete the current flashcard, removing it from its wordlist
/=| - do not sort presentation by word lengths (the default)
/><rel-op><set-spec> - yield only those words that have back hooks which are related to the letters in the set
/>$ - sort presentation by increasing scores
/>% - sort presentation by increasing probabilities
/>& - sort presentation by increasing number of anagrams in a set of letters
/>' - sort presentation by increasing alphabetical order
/>: - sort presentation by increasing alphabetical order for what the blank can be
/>; - sort presentation by increasing alphabetical order of canonically-ordered words
/>| - sort presentation by increasing word lengths
/? - is a word on the slate? If so, do not indicate where it is.
/@- - score with no bonuses other than perhaps a bingo bonus
/@*. - score for an opening play (starting at the center square)
/@*~ - score for an opening play (through the center square)
/@< board-square>. - start at this board square with given orientation
/@<board-square>~ - include covering this board square with given orientation
/@| - score based on word length for the 5 x 5 Grid Game (2,3,5,8,...)
/@W - score using word length times the sum of the letter scores, as is used in the Word-Building Game
/A - set the query kind to anagrams
/B - set the query kind to 5 x 5 Grid Game solving
/C - bring up the Challenge Dialog, perhaps starting with any comma-separated words on the current line
/CL"<lexicon-name>" - set the challenges lexicon based on the given short name of the lexicon
/END - one of the commands to stop the WHAT session (also /EXIT and /QUIT); this also causes WHAT to stop executing commands from a command file (but not exit)
/EXIT - one of the commands to stop the WHAT session (also /END and /QUIT); this causes WHAT to exit even when it is performed from within a command file
/FA - starts a file-writing command to append
/FR - starts a file-reading command
/FW - starts a file-writing command, perhaps eliminating existing contents
/G - bring up the 5 x 5 Grid Game, perhaps with initial letters
/H - show recent query history so that it almost fills the workspace; command numbers are included
/I - set the query kind to finding imbedded or included words
/L - see all the wordlists other than the in a report with one wordlist per line, where these are shown: wordlist number, label, number of words
/LS - make all letters on the slate lowercase
/M"<26 letters>" - define WHAT's letter mapping
/M? - show WHAT's letter mapping
/NR - this command is allowable only in a command file; get the next flashcard if any, and if there is one, rewind the command file and continue executing it; otherwise, continue with the next command in the command file
/O1 - (letter O, digit 1) slate presentation is one word per line
/OC<number>C - set the number of columns for presentations, with allowable values: 1 through 30
/OC<number>S - words in columns, with spacing = <number>
/OC<number>W - words in columns, with fixed width = <number>
/OC<number>X - words in columns, with expandable width = <number>
/OR<number>C - set the number of rows per page (0 for no paging), with allowable values: 0 or 8 through 255; this affects only outputting in columns, and a page break is indicated by a line of minus signs
/OR<number>S - words in packed rows, with spacing = <number>
/OR,<number>S - words in packed rows, use comma, with spacing = <number>
/ORC<number>S - words in columnated rows, with spacing = <number>
/ORC<number>W - words in columnated rows, with fixed width = <number>
/ORC<number>X - words in columnated rows, with expandable width = <number>
/OW<number>C - set the width of presentations in number of characters, with allowable values: 8 thought 255
/OWA - set the width in characters for presentations to match the current workspace width (this is the default)
/P - set the query kind to pattern matching
/PL"<lexicon-name>" - set the primary lexicon based on the given short name of the lexicon
/PW - print the workspace using no print job title
/PW"<print-job-title>" - print the workspace using the given print job title
/Q;S - create "semi-strings", namely output strings to the slate in canonical order
/Q;W - create "semi-words" rather than words, namely output words to the slate in canonical order
/QW - do not create "semi-words" but real words (the default)
/QS - allow for the creation of strings (without the requirement they be words)
/QUIT - one of the commands to stop the WHAT session (also /END and /EXIT); this causes WHAT to exit even when it is performed from within a command file
/R - restore the slate from the most-recently created or updated wordlist
/S - set the query kind to steals, as in the game of Anagrams
/SD<search-string> - show all definitions which include the given search string
/SL"<lexicon-name>" - set the secondary lexicon based on the given short name of the lexicon
/TW - trim the workspace, namely remove lines which begin with a WHAT?: prompt and elimiate excess blank lines
/U - see all the user-defined sets
/US - make all letters on the slate uppercase
/W<opt-label> - save the slate to a wordlist with the lowest unused wordlist number
/WB - bring up the Word-Building Game
/X"<file-name>" - execute each read line as a command and record in the history; /X commands may appear in command files, but only to a depth of 10; certain interactive commands may not be used within command files, such as /C and /G
/Y - starts a wordlist-yielding command
/Z - score zero for blanks (equivalent to /+Z)
/~A - set the query kind to anagramming with blank circulation
/~P - set the query kind to pattern matching with blank circulation
/~S - set the query kind to steals requiring base word rearrangement
/|<number> - yield only those words whose lengths are at least this
/|<number>-<number> - yield only those words whose lengths are in this range
/|<number><<number> - yield only those words whose lengths are in this range
/|<rel-op><number> - yield only those words whose lengths pertain
/|- - do not filter according to word lengths
<number> - toughness command, usable when flashcarding
<number><letter> - the query or set letter is repeated that many times
<letter-#>/ - command to show the nth letter of all items
<letter-#>/<item-#> - command to show the mth letter of the nth item
<number>| - used in a <subword-spec> to indicate the nth last letter in a subword spec
<number>~ - indicate WHAT's presentation of the slate is limited to saying whether the number of words on the slate matches the given number
: - show what the blank is, presenting one such letter per line in slate presentation
; - show words in canonical order in slate presentation
< - show front hooks in slate presentation; also a relational operator, meaning "less than"
<= - a relational operator, means "less than or equal to"
= - indicate WHAT's presentation of the slate is limited to indicating those letters exactly one or two blanks represent in the most recent query (ignoring 5 x 5 Grid Game and two-word anagramming queries); also a relational operator, meaning "is equal to"
== - a relational operator, means "is equal to"
> - show back hooks in slate presentation; also a relational operator, meaning "greater than"
>= - a relational operator, means "greater than or equal to"
B - as a 1-letter command, bring up the Word-Building Game player dialog
C - as a 1-letter command, bring up the dialog to handle challenges
D - as a 1-letter command, delete the current flashcard, removing it from its wordlist, and prompt with the next flashcard
F - as a 1-letter command, present the most recent flashcard again
G - as a 1-letter command, bring up the 5 x 5 Grid Game player dialog
M - as a 1-letter command, bring up the dialog for deleting, copying, or moving wordlist items
N - as a 1-letter command, put the current flashcard at the end of the group, assuming the toughness is zero, and present the next flashcard; this is equivalent to a command of the number zero
R - as a 1-letter command, produce a random rack as a command, but do not execute that command; the command of one period does the same thing, except it does then execute the commmand
T - as a 1-letter command, show the Timer tab and start the WHAT timer
X - as a 1-letter command, move the the flashcard to the end of the wordlist whose number is one higher than that of the wordlist being used for flashcarding, and prompt with the next flashcard
Y - as a 1-letter command, move the the flashcard to the end of the wordlist whose number is two higher than that of the wordlist being used for flashcarding, and prompt with the next flashcard
Z - as a 1-letter command, move the the flashcard to the end of the wordlist whose number is three higher than that of the wordlist being used for flashcarding, and prompt with the next flashcard
[] - means a word from the current slate or given wordlist
[M] - means a word from the current slate or given wordlist mapped letter by letter
[<subword-spec>] - part of a word from the current slate or given wordlist
[M<subword-spec>] - part of a word from the current slate or given wordlist mapped letter by letter
\ - indicate slate presentation consists of nothing
] - indicate words are to be presented hidden (only by "[]")
^-<number> - When you give this command by itself at the start of the command line, WHAT brings back the nth most recent command, and it becomes the current command, etc.
^<command-#> - When you give this command by itself at the start of the command line, WHAT brings back the command indicated by the number, and it becomes the current command, ready for possible editing or execution. If you intend to suffix a number on the end of the previous command in the history, separate the carat and the number with a space so it is not interpreted as this kind of command.
` - indicate words are presented with unhooks
{<letters>} - show the probability of this set of letters
| - show word lengths in slate presentation
~<number>-<number> - used in a <subword-spec> to indicate the mth through nth letters of the reversed word
~ - tilde indicates WHAT should present no words are presented, but it will make one announcement as to whether the slate has any words; equivalent to 0~