Quality: Contextually Rich

Guiding Principle:
People work with data in the context of solving a problem or performing a particular task. Values frequently carry more than one type of information: a date is not only a value on a timeline but may be expressed in a particular format; the number 5 may represent 5 millimeters or 5 dollars. An intuitive language should be able to work with rich data that carries multiple types of information.

In SenseTalk:
Use of the local variable 'it' provides immediate local context that leads to friendlier and more natural language. Date and time values in SenseTalk include a presentation format as well as a numeric timeline value. Numeric values may have a unit type which is carried through in calculations.

get the last word of customerName
if it isn't in surnamesList then insert it into surnamesList

put "March 5" into dueDate
add thirty days to dueDate
put dueDate —> "April 4"
set dueDate's format to "[mon] [day], a [weekday name]"
put dueDate —> "Apr 4, a Saturday"

put 5 into howLong -- a simple number
repeat howLong -- repeats 5 times
(* repeated statements here *)
end repeat

put 5 seconds into howLong -- a duration
repeat howLong -- repeats for 5 seconds
(* repeated statements here *)
end repeat

set width to 2 feet -- a dimensioned value with unit of feet
add 3 inches to width
put width —> 2.25 feet
put width as inches —> 27 inches
put width as cm —> 68.58 centimeters

put 7 mph as m/s —> 3.12928 meters per second
put 25 mph * 12 minutes into distanceTraveled
put distanceTraveled —> 5 miles
put distanceTraveled as km —> 8.04672 kilometers