Scheme 48 Manual | Contents | In Chapter: Command processor
Previous: Command processor | Next: Command levels

Current focus value and ##

The command processor keeps track of a current focus value. This value is normally the last value returned by a command. If a command returns multiple values the focus object is a list of the values. The focus value is not changed if a command returns no values or a distinguished `unspecific' value. Examples of forms that return this unspecific value are definitions, uses of set!, and (if #f 0). It prints as #{Unspecific}.

The reader used by the command processor reads ## as a special expression that evaluates to the current focus object.

> (list 'a 'b)
'(a b)
> (car ##)
'a
> (symbol->string ##)
"a"
> (if #f 0)
#{Unspecific}
> ##
"a"
> 

Previous: Command processor | Next: Command levels