You need to include module /pliant/language/compiler.pli when using Expression data type.See pliant computing mechanism for a general introduction on meta-programming
Fields in the Argument data type:
The following fields in the Argument data type can be used only when the where field has the right value:
Other fields in the Argument data type, that are not used while compiling but rather while optimizing and generating code:
method a locate type where arg_rw Argument a ; arg Type type ; arg Int where
Sets the new type and location of the argument.
function argument constant type value -> a arg Type type ; arg Universal value ; arg_RW Argument a
function argument mapped_constant type value -> a arg Type type ; arg Universal value ; arg_RW Argument a
function argument local type -> a arg Type type ; arg_RW Argument a
function argument indirect type pointer offset -> a arg Type type ; arg Argument pointer ; arg Int offset ; arg_RW Argument a
function argument a_register -> a arg_RW Argument a
function argument register number -> a arg Type type ; arg Int number ; arg_RW Argument a
Builds a new argument.This function is defined in argument2.pli