wxMaxima:把一个字符串代入一个函数会创建什么样的对象?

wxMaxima: what kind of object is created by substituting a string into a function?

给定

f(x):=3*x^2;
a:f("alpha");

a是什么物体?我尝试使用 stringpsymbolp 以及我能找到的任何类似的东西进行测试(尽管我找不到完整的列表)。

我也用过to_lisp()到运行(inspect $a)但是Maxima挂了。当我停止它时,它说这是一个“长度为 3 的正确列表”,但 listp(a) 返回错误。

Maxima 乐于用字符串参数而不是符号来计算函数,结果是一个普通的 Maxima 表达式。您可以通过 grind(a) 看到,它将在 x 的位置显示 "alpha"

Maxima 可以对包含字符串而不是符号的表达式执行一些操作,例如"foo" + "foo" 简化为 2*"foo",您可以说 subst("foo"=123, <whatever>) 将“foo”替换为一个值。但是,字符串不能有值,因此 "foo": 123 失败。另外,字符串不能有属性。