Other than Lisp shell capability VLS provides two other function interfaces to VSL. One is for sending Lisp data to the current Lisp process for evaluation and the other is for probing the current Lisp process for information. These can be used in Lisp type files or in ELisp code written by the user.
vls-send-lisp-string Action: Given a string argument it
sends the string followed by the
v:end-expression parameter value
to the current Lisp process. Any resulting output will appear in the
current Lisp buffer.
vls-lisp-evalue Action: This function is used to probe
the current Lisp process for information. Given a string it sends it to
the current Lisp process followed by the
parameter value. The output of this function does not appear in the
current Lisp buffer but instead is parsed by Elisp and returns a single
Elisp expression. In other words it probes the current Lisp process,
usually with an s-expression, and returns the equivalent Elisp value to
be used by Elisp code. If the returned data from the current Lisp
process can not be parsed by Elisp an error will be signaled.
An example of using
vls-send-lisp-string is in the VLS provided
Agroups template for creating actions to evaluate expressions in the
current Lisp process, See section VLS Shell Commands in Agroups. An example
vls-lisp-evalue is used by VLS itself in determining the
current package for Lisps that have package systems. There are many
reasons why the Lisp types parameters code might want to probe the
current Lisp process to get an Elisp value to perform the expected
results. For example some Lisp implementation's specific
c:top-listener parameter uses this function to determine the
Go to the first, previous, next, last section, table of contents.