Changeset 12453


Ignore:
Timestamp:
02/12/10 21:22:02 (11 years ago)
Author:
vvoutilainen
Message:

Make Primitives stack-friendly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/Primitives.java

    r12431 r12453  
    4242{
    4343  // ### *
    44   public static final Primitive MULTIPLY =
    45     new Primitive(Symbol.STAR, "&rest numbers")
    46     {
     44  public static final Primitive MULTIPLY = new pf_multiply();
     45  private static final class pf_multiply extends Primitive {
     46      pf_multiply()
     47      {
     48        super(Symbol.STAR, "&rest numbers");
     49      }
     50 
    4751      @Override
    4852      public LispObject execute()
     
    7478
    7579  // ### /
    76   public static final Primitive DIVIDE =
    77     new Primitive(Symbol.SLASH, "numerator &rest denominators")
    78     {
     80  public static final Primitive DIVIDE = new pf_divide();
     81  private static final class pf_divide extends Primitive {
     82      pf_divide()
     83      {
     84        super(Symbol.SLASH, "numerator &rest denominators");
     85      }
     86 
    7987      @Override
    8088      public LispObject execute()
     
    104112
    105113  // ### min
    106   public static final Primitive MIN =
    107     new Primitive(Symbol.MIN, "&rest reals")
    108     {
     114  public static final Primitive MIN = new pf_min();
     115  private static final class pf_min extends Primitive {
     116      pf_min()
     117      {
     118        super(Symbol.MIN, "&rest reals");
     119      }
     120 
    109121      @Override
    110122      public LispObject execute()
     
    141153
    142154  // ### max
    143   public static final Primitive MAX =
    144     new Primitive(Symbol.MAX, "&rest reals")
    145     {
     155  public static final Primitive MAX = new pf_max();
     156  private static final class pf_max extends Primitive {
     157      pf_max()
     158      {
     159        super(Symbol.MAX, "&rest reals");
     160      }
     161 
    146162      @Override
    147163      public LispObject execute()
     
    178194
    179195  // ### identity
    180   private static final Primitive IDENTITY =
    181     new Primitive(Symbol.IDENTITY, "object")
    182     {
     196  private static final Primitive IDENTITY = new pf_identity();
     197  private static final class pf_identity extends Primitive {
     198      pf_identity()
     199      {
     200        super(Symbol.IDENTITY, "object");
     201      }
     202 
    183203      @Override
    184204      public LispObject execute(LispObject arg)
     
    189209
    190210  // ### compiled-function-p
    191   private static final Primitive COMPILED_FUNCTION_P =
    192     new Primitive(Symbol.COMPILED_FUNCTION_P, "object")
    193     {
     211  private static final Primitive COMPILED_FUNCTION_P = new pf_compiled_function_p();
     212  private static final class pf_compiled_function_p extends Primitive {
     213      pf_compiled_function_p()
     214      {
     215        super(Symbol.COMPILED_FUNCTION_P, "object");
     216      }
     217 
    194218      @Override
    195219      public LispObject execute(LispObject arg)
     
    200224
    201225  // ### consp
    202   private static final Primitive CONSP =
    203     new Primitive(Symbol.CONSP, "object")
    204     {
     226  private static final Primitive CONSP = new pf_consp();
     227  private static final class pf_consp extends Primitive {
     228      pf_consp()
     229      {
     230        super(Symbol.CONSP, "object");
     231      }
     232 
    205233      @Override
    206234      public LispObject execute(LispObject arg)
     
    211239
    212240  // ### listp
    213   private static final Primitive LISTP =
    214     new Primitive(Symbol.LISTP, "object")
    215     {
     241  private static final Primitive LISTP = new pf_listp();
     242  private static final class pf_listp extends Primitive {
     243      pf_listp()
     244      {
     245        super(Symbol.LISTP, "object");
     246      }
     247 
    216248      @Override
    217249      public LispObject execute(LispObject arg)
     
    222254
    223255  // ### abs
    224   private static final Primitive ABS =
    225     new Primitive(Symbol.ABS, "number")
    226     {
     256  private static final Primitive ABS = new pf_abs();
     257  private static final class pf_abs extends Primitive {
     258      pf_abs()
     259      {
     260        super(Symbol.ABS, "number");
     261      }
     262 
    227263      @Override
    228264      public LispObject execute(LispObject arg)
     
    233269
    234270  // ### arrayp
    235   private static final Primitive ARRAYP =
    236     new Primitive(Symbol.ARRAYP, "object")
    237     {
     271  private static final Primitive ARRAYP = new pf_arrayp();
     272  private static final class pf_arrayp extends Primitive {
     273      pf_arrayp()
     274      {
     275        super(Symbol.ARRAYP, "object");
     276      }
     277 
    238278      @Override
    239279      public LispObject execute(LispObject arg)
     
    244284
    245285  // ### array-has-fill-pointer-p
    246   private static final Primitive ARRAY_HAS_FILL_POINTER_P =
    247     new Primitive(Symbol.ARRAY_HAS_FILL_POINTER_P, "array")
    248     {
     286  private static final Primitive ARRAY_HAS_FILL_POINTER_P = new pf_array_has_fill_pointer_p();
     287  private static final class pf_array_has_fill_pointer_p extends Primitive {
     288      pf_array_has_fill_pointer_p()
     289      {
     290        super(Symbol.ARRAY_HAS_FILL_POINTER_P, "array");
     291      }
     292 
    249293      @Override
    250294      public LispObject execute(LispObject arg)
     
    255299
    256300  // ### vectorp
    257   private static final Primitive VECTORP =
    258     new Primitive(Symbol.VECTORP, "object")
    259     {
     301  private static final Primitive VECTORP = new pf_vectorp();
     302  private static final class pf_vectorp extends Primitive {
     303      pf_vectorp()
     304      {
     305        super(Symbol.VECTORP, "object");
     306      }
     307 
    260308      @Override
    261309      public LispObject execute(LispObject arg)
     
    266314
    267315  // ### simple-vector-p
    268   private static final Primitive SIMPLE_VECTOR_P =
    269     new Primitive(Symbol.SIMPLE_VECTOR_P, "object")
    270     {
     316  private static final Primitive SIMPLE_VECTOR_P = new pf_simple_vector_p();
     317  private static final class pf_simple_vector_p extends Primitive {
     318      pf_simple_vector_p()
     319      {
     320        super(Symbol.SIMPLE_VECTOR_P, "object");
     321      }
     322 
    271323      @Override
    272324      public LispObject execute(LispObject arg)
     
    277329
    278330  // ### bit-vector-p
    279   private static final Primitive BIT_VECTOR_P =
    280     new Primitive(Symbol.BIT_VECTOR_P, "object")
    281     {
     331  private static final Primitive BIT_VECTOR_P = new pf_bit_vector_p();
     332  private static final class pf_bit_vector_p extends Primitive {
     333      pf_bit_vector_p()
     334      {
     335        super(Symbol.BIT_VECTOR_P, "object");
     336      }
     337 
    282338      @Override
    283339      public LispObject execute(LispObject arg)
     
    288344
    289345  // ### simple-bit-vector-p
    290   private static final Primitive SIMPLE_BIT_VECTOR_P =
    291     new Primitive(Symbol.SIMPLE_BIT_VECTOR_P, "object")
    292     {
     346  private static final Primitive SIMPLE_BIT_VECTOR_P = new pf_simple_bit_vector_p();
     347  private static final class pf_simple_bit_vector_p extends Primitive {
     348      pf_simple_bit_vector_p()
     349      {
     350        super(Symbol.SIMPLE_BIT_VECTOR_P, "object");
     351      }
     352 
    293353      @Override
    294354      public LispObject execute(LispObject arg)
     
    299359
    300360  // ### %eval
    301   private static final Primitive _EVAL =
    302     new Primitive("%eval", PACKAGE_SYS, false, "form")
    303     {
     361  private static final Primitive _EVAL = new pf__eval();
     362  private static final class pf__eval extends Primitive {
     363      pf__eval()
     364      {
     365        super("%eval", PACKAGE_SYS, false, "form");
     366      }
     367 
    304368      @Override
    305369      public LispObject execute(LispObject arg)
     
    310374
    311375  // ### eq
    312   private static final Primitive EQ = new Primitive(Symbol.EQ, "x y")
    313     {
     376  private static final Primitive EQ = new pf_eq();
     377  private static final class pf_eq extends Primitive {
     378      pf_eq()
     379      {
     380        super(Symbol.EQ, "x y");
     381      }
     382 
    314383      @Override
    315384      public LispObject execute(LispObject first, LispObject second)
     
    321390
    322391  // ### eql
    323   private static final Primitive EQL = new Primitive(Symbol.EQL, "x y")
    324     {
     392  private static final Primitive EQL = new pf_eql();
     393  private static final class pf_eql extends Primitive {
     394      pf_eql()
     395      {
     396        super(Symbol.EQL, "x y");
     397      }
     398 
    325399      @Override
    326400      public LispObject execute(LispObject first, LispObject second)
     
    332406
    333407  // ### equal
    334   private static final Primitive EQUAL = new Primitive(Symbol.EQUAL, "x y")
    335     {
     408  private static final Primitive EQUAL = new pf_equal();
     409  private static final class pf_equal extends Primitive {
     410      pf_equal()
     411      {
     412        super(Symbol.EQUAL, "x y");
     413      }
     414 
    336415      @Override
    337416      public LispObject execute(LispObject first, LispObject second)
     
    343422
    344423  // ### equalp
    345   private static final Primitive EQUALP = new Primitive(Symbol.EQUALP, "x y")
    346     {
     424  private static final Primitive EQUALP = new pf_equalp();
     425  private static final class pf_equalp extends Primitive {
     426      pf_equalp()
     427      {
     428        super(Symbol.EQUALP, "x y");
     429      }
     430 
    347431      @Override
    348432      public LispObject execute(LispObject first, LispObject second)
     
    354438
    355439  // ### values
    356   private static final Primitive VALUES =
    357     new Primitive(Symbol.VALUES, "&rest object")
    358     {
     440  private static final Primitive VALUES = new pf_values();
     441  private static final class pf_values extends Primitive {
     442      pf_values()
     443      {
     444        super(Symbol.VALUES, "&rest object");
     445      }
     446 
    359447      @Override
    360448      public LispObject execute()
     
    394482  // ### values-list list => element*
    395483  // Returns the elements of the list as multiple values.
    396   private static final Primitive VALUES_LIST =
    397     new Primitive(Symbol.VALUES_LIST, "list")
    398     {
     484  private static final Primitive VALUES_LIST = new pf_values_list();
     485  private static final class pf_values_list extends Primitive {
     486      pf_values_list()
     487      {
     488        super(Symbol.VALUES_LIST, "list");
     489      }
     490 
    399491      @Override
    400492      public LispObject execute(LispObject arg)
     
    409501
    410502  // ### cons
    411   private static final Primitive CONS =
    412     new Primitive(Symbol.CONS, "object-1 object-2")
    413     {
     503  private static final Primitive CONS = new pf_cons();
     504  private static final class pf_cons extends Primitive {
     505      pf_cons()
     506      {
     507        super(Symbol.CONS, "object-1 object-2");
     508      }
     509 
    414510      @Override
    415511      public LispObject execute(LispObject first, LispObject second)
     
    421517
    422518  // ### length
    423   private static final Primitive LENGTH =
    424     new Primitive(Symbol.LENGTH, "sequence")
    425     {
     519  private static final Primitive LENGTH = new pf_length();
     520  private static final class pf_length extends Primitive {
     521      pf_length()
     522      {
     523        super(Symbol.LENGTH, "sequence");
     524      }
     525 
    426526      @Override
    427527      public LispObject execute(LispObject arg)
     
    432532
    433533  // ### elt
    434   private static final Primitive ELT =
    435     new Primitive(Symbol.ELT, "sequence index")
    436     {
     534  private static final Primitive ELT = new pf_elt();
     535  private static final class pf_elt extends Primitive {
     536      pf_elt()
     537      {
     538        super(Symbol.ELT, "sequence index");
     539      }
     540 
    437541      @Override
    438542      public LispObject execute(LispObject first, LispObject second)
     
    444548
    445549  // ### atom
    446   private static final Primitive ATOM = new Primitive(Symbol.ATOM, "object")
    447     {
     550  private static final Primitive ATOM = new pf_atom();
     551  private static final class pf_atom extends Primitive {
     552      pf_atom()
     553      {
     554        super(Symbol.ATOM, "object");
     555      }
     556 
    448557      @Override
    449558      public LispObject execute(LispObject arg)
     
    454563
    455564  // ### constantp
    456   private static final Primitive CONSTANTP =
    457     new Primitive(Symbol.CONSTANTP, "form &optional environment")
    458     {
     565  private static final Primitive CONSTANTP = new pf_constantp();
     566  private static final class pf_constantp extends Primitive {
     567      pf_constantp()
     568      {
     569        super(Symbol.CONSTANTP, "form &optional environment");
     570      }
     571 
    459572      @Override
    460573      public LispObject execute(LispObject arg)
     
    471584
    472585  // ### functionp
    473   private static final Primitive FUNCTIONP =
    474     new Primitive(Symbol.FUNCTIONP, "object")
    475     {
     586  private static final Primitive FUNCTIONP = new pf_functionp();
     587  private static final class pf_functionp extends Primitive {
     588      pf_functionp()
     589      {
     590        super(Symbol.FUNCTIONP, "object");
     591      }
     592 
    476593      @Override
    477594      public LispObject execute(LispObject arg)
     
    482599
    483600  // ### special-operator-p
    484   private static final Primitive SPECIAL_OPERATOR_P =
    485     new Primitive(Symbol.SPECIAL_OPERATOR_P, "symbol")
    486     {
     601  private static final Primitive SPECIAL_OPERATOR_P = new pf_special_operator_p();
     602  private static final class pf_special_operator_p extends Primitive {
     603      pf_special_operator_p()
     604      {
     605        super(Symbol.SPECIAL_OPERATOR_P, "symbol");
     606      }
     607 
    487608      @Override
    488609      public LispObject execute(LispObject arg)
     
    493614
    494615  // ### symbolp
    495   private static final Primitive SYMBOLP =
    496     new Primitive(Symbol.SYMBOLP, "object")
    497     {
     616  private static final Primitive SYMBOLP = new pf_symbolp();
     617  private static final class pf_symbolp extends Primitive {
     618      pf_symbolp()
     619      {
     620        super(Symbol.SYMBOLP, "object");
     621      }
     622 
    498623      @Override
    499624      public LispObject execute(LispObject arg)
     
    504629
    505630  // ### endp
    506   private static final Primitive ENDP = new Primitive(Symbol.ENDP, "list")
    507     {
     631  private static final Primitive ENDP = new pf_endp();
     632  private static final class pf_endp extends Primitive {
     633      pf_endp()
     634      {
     635        super(Symbol.ENDP, "list");
     636      }
     637 
    508638      @Override
    509639      public LispObject execute(LispObject arg)
     
    514644
    515645  // ### null
    516   private static final Primitive NULL = new Primitive(Symbol.NULL, "object")
    517     {
     646  private static final Primitive NULL = new pf_null();
     647  private static final class pf_null extends Primitive {
     648      pf_null()
     649      {
     650        super(Symbol.NULL, "object");
     651      }
     652 
    518653      @Override
    519654      public LispObject execute(LispObject arg)
     
    524659
    525660  // ### not
    526   private static final Primitive NOT = new Primitive(Symbol.NOT, "x")
    527     {
     661  private static final Primitive NOT = new pf_not();
     662  private static final class pf_not extends Primitive {
     663      pf_not()
     664      {
     665        super(Symbol.NOT, "x");
     666      }
     667 
    528668      @Override
    529669      public LispObject execute(LispObject arg)
     
    534674
    535675  // ### plusp
    536   private static final Primitive PLUSP = new Primitive(Symbol.PLUSP, "real")
    537     {
     676  private static final Primitive PLUSP = new pf_plusp();
     677  private static final class pf_plusp extends Primitive {
     678      pf_plusp()
     679      {
     680        super(Symbol.PLUSP, "real");
     681      }
     682 
    538683      @Override
    539684      public LispObject execute(LispObject arg)
     
    544689
    545690  // ### minusp
    546   private static final Primitive MINUSP =
    547     new Primitive(Symbol.MINUSP, "real")
    548     {
     691  private static final Primitive MINUSP = new pf_minusp();
     692  private static final class pf_minusp extends Primitive {
     693      pf_minusp()
     694      {
     695        super(Symbol.MINUSP, "real");
     696      }
     697 
    549698      @Override
    550699      public LispObject execute(LispObject arg)
     
    555704
    556705  // ### zerop
    557   private static final Primitive ZEROP =
    558     new Primitive(Symbol.ZEROP, "number")
    559     {
     706  private static final Primitive ZEROP = new pf_zerop();
     707  private static final class pf_zerop extends Primitive {
     708      pf_zerop()
     709      {
     710        super(Symbol.ZEROP, "number");
     711      }
     712 
    560713      @Override
    561714      public LispObject execute(LispObject arg)
     
    566719
    567720  // ### fixnump
    568   private static final Primitive FIXNUMP =
    569     new Primitive("fixnump", PACKAGE_EXT, true)
    570     {
     721  private static final Primitive FIXNUMP = new pf_fixnump();
     722  private static final class pf_fixnump extends Primitive {
     723      pf_fixnump()
     724      {
     725        super("fixnump", PACKAGE_EXT, true);
     726      }
     727 
    571728      @Override
    572729      public LispObject execute(LispObject arg)
     
    577734
    578735  // ### symbol-value
    579   private static final Primitive SYMBOL_VALUE =
    580     new Primitive(Symbol.SYMBOL_VALUE, "symbol")
    581     {
     736  private static final Primitive SYMBOL_VALUE = new pf_symbol_value();
     737  private static final class pf_symbol_value extends Primitive {
     738      pf_symbol_value()
     739      {
     740        super(Symbol.SYMBOL_VALUE, "symbol");
     741      }
     742 
    582743      @Override
    583744      public LispObject execute(LispObject arg)
     
    593754
    594755  // ### set symbol value => value
    595   private static final Primitive SET =
    596     new Primitive(Symbol.SET, "symbol value")
    597     {
     756  private static final Primitive SET = new pf_set();
     757  private static final class pf_set extends Primitive {
     758      pf_set()
     759      {
     760        super(Symbol.SET, "symbol value");
     761      }
     762 
    598763      @Override
    599764      public LispObject execute(LispObject first, LispObject second)
     
    606771
    607772  // ### rplaca
    608   private static final Primitive RPLACA =
    609     new Primitive(Symbol.RPLACA, "cons object")
    610     {
     773  private static final Primitive RPLACA = new pf_rplaca();
     774  private static final class pf_rplaca extends Primitive {
     775      pf_rplaca()
     776      {
     777        super(Symbol.RPLACA, "cons object");
     778      }
     779 
    611780      @Override
    612781      public LispObject execute(LispObject first, LispObject second)
     
    619788
    620789  // ### rplacd
    621   private static final Primitive RPLACD =
    622     new Primitive(Symbol.RPLACD, "cons object")
    623     {
     790  private static final Primitive RPLACD = new pf_rplacd();
     791  private static final class pf_rplacd extends Primitive {
     792      pf_rplacd()
     793      {
     794        super(Symbol.RPLACD, "cons object");
     795      }
     796 
    624797      @Override
    625798      public LispObject execute(LispObject first, LispObject second)
     
    632805
    633806  // ### +
    634   private static final Primitive ADD =
    635     new Primitive(Symbol.PLUS, "&rest numbers")
    636     {
     807  private static final Primitive ADD = new pf_add();
     808  private static final class pf_add extends Primitive {
     809      pf_add()
     810      {
     811        super(Symbol.PLUS, "&rest numbers");
     812      }
     813 
    637814      @Override
    638815      public LispObject execute()
     
    672849
    673850  // ### 1+
    674   private static final Primitive ONE_PLUS =
    675     new Primitive(Symbol.ONE_PLUS, "number")
    676     {
     851  private static final Primitive ONE_PLUS = new pf_one_plus();
     852  private static final class pf_one_plus extends Primitive {
     853      pf_one_plus()
     854      {
     855        super(Symbol.ONE_PLUS, "number");
     856      }
     857 
    677858      @Override
    678859      public LispObject execute(LispObject arg)
     
    683864
    684865  // ### -
    685   private static final Primitive SUBTRACT =
    686     new Primitive(Symbol.MINUS, "minuend &rest subtrahends")
    687     {
     866  private static final Primitive SUBTRACT = new pf_subtract();
     867  private static final class pf_subtract extends Primitive {
     868      pf_subtract()
     869      {
     870        super(Symbol.MINUS, "minuend &rest subtrahends");
     871      }
     872 
    688873      @Override
    689874      public LispObject execute()
     
    713898
    714899  // ### 1-
    715   private static final Primitive ONE_MINUS =
    716     new Primitive(Symbol.ONE_MINUS, "number")
    717     {
     900  private static final Primitive ONE_MINUS = new pf_one_minus();
     901  private static final class pf_one_minus extends Primitive {
     902      pf_one_minus()
     903      {
     904        super(Symbol.ONE_MINUS, "number");
     905      }
     906 
    718907      @Override
    719908      public LispObject execute(LispObject arg)
     
    766955
    767956  // ### %stream-output-object object stream => object
    768   private static final Primitive _STREAM_OUTPUT_OBJECT =
    769     new Primitive("%stream-output-object", PACKAGE_SYS, true)
    770     {
     957  private static final Primitive _STREAM_OUTPUT_OBJECT = new pf__stream_output_object();
     958  private static final class pf__stream_output_object extends Primitive {
     959      pf__stream_output_object()
     960      {
     961        super("%stream-output-object", PACKAGE_SYS, true);
     962      }
     963 
    771964      @Override
    772965      public LispObject execute(LispObject first, LispObject second)
     
    779972
    780973  // ### %output-object object stream => object
    781   private static final Primitive _OUTPUT_OBJECT =
    782     new Primitive("%output-object", PACKAGE_SYS, true)
    783     {
     974  private static final Primitive _OUTPUT_OBJECT = new pf__output_object();
     975  private static final class pf__output_object extends Primitive {
     976      pf__output_object()
     977      {
     978        super("%output-object", PACKAGE_SYS, true);
     979      }
     980 
    784981      @Override
    785982      public LispObject execute(LispObject first, LispObject second)
     
    799996
    800997  // ### %write-to-string object => string
    801   private static final Primitive _WRITE_TO_STRING =
    802     new Primitive("%write-to-string", PACKAGE_SYS, false)
    803     {
     998  private static final Primitive _WRITE_TO_STRING = new pf__write_to_string();
     999  private static final class pf__write_to_string extends Primitive {
     1000      pf__write_to_string()
     1001      {
     1002        super("%write-to-string", PACKAGE_SYS, false);
     1003      }
     1004 
    8041005      @Override
    8051006      public LispObject execute(LispObject arg)
     
    8101011
    8111012  // ### %stream-terpri output-stream => nil
    812   private static final Primitive _STREAM_TERPRI =
    813     new Primitive("%stream-terpri", PACKAGE_SYS, true, "output-stream")
    814     {
     1013  private static final Primitive _STREAM_TERPRI = new pf__stream_terpri();
     1014  private static final class pf__stream_terpri extends Primitive {
     1015      pf__stream_terpri()
     1016      {
     1017        super("%stream-terpri", PACKAGE_SYS, true, "output-stream");
     1018      }
     1019 
    8151020      @Override
    8161021      public LispObject execute(LispObject arg)
     
    8221027
    8231028  // ### %terpri output-stream => nil
    824   private static final Primitive _TERPRI =
    825     new Primitive("%terpri", PACKAGE_SYS, false, "output-stream")
    826     {
     1029  private static final Primitive _TERPRI = new pf__terpri();
     1030  private static final class pf__terpri extends Primitive {
     1031      pf__terpri()
     1032      {
     1033        super("%terpri", PACKAGE_SYS, false, "output-stream");
     1034      }
     1035 
    8271036      @Override
    8281037      public LispObject execute(LispObject arg)
     
    8401049  // ### %fresh-line
    8411050  // %fresh-line &optional output-stream => generalized-boolean
    842   private static final Primitive _FRESH_LINE =
    843     new Primitive("%fresh-line", PACKAGE_SYS, false, "output-stream")
    844     {
     1051  private static final Primitive _FRESH_LINE = new pf__fresh_line();
     1052  private static final class pf__fresh_line extends Primitive {
     1053      pf__fresh_line()
     1054      {
     1055        super("%fresh-line", PACKAGE_SYS, false, "output-stream");
     1056      }
     1057 
    8451058      @Override
    8461059      public LispObject execute(LispObject arg)
     
    8591072  // Determines only whether a symbol has a value in the global environment;
    8601073  // any lexical bindings are ignored.
    861   private static final Primitive BOUNDP =
    862     new Primitive(Symbol.BOUNDP, "symbol")
    863     {
     1074  private static final Primitive BOUNDP = new pf_boundp();
     1075  private static final class pf_boundp extends Primitive {
     1076      pf_boundp()
     1077      {
     1078        super(Symbol.BOUNDP, "symbol");
     1079      }
     1080 
    8641081      @Override
    8651082      public LispObject execute(LispObject arg)
     
    8801097
    8811098  // ### fboundp
    882   private static final Primitive FBOUNDP =
    883     new Primitive(Symbol.FBOUNDP, "name")
    884     {
     1099  private static final Primitive FBOUNDP = new pf_fboundp();
     1100  private static final class pf_fboundp extends Primitive {
     1101      pf_fboundp()
     1102      {
     1103        super(Symbol.FBOUNDP, "name");
     1104      }
     1105 
    8851106      @Override
    8861107      public LispObject execute(LispObject arg)
     
    8981119
    8991120  // ### fmakunbound name => name
    900   private static final Primitive FMAKUNBOUND =
    901     new Primitive(Symbol.FMAKUNBOUND, "name")
    902     {
     1121  private static final Primitive FMAKUNBOUND = new pf_fmakunbound();
     1122  private static final class pf_fmakunbound extends Primitive {
     1123      pf_fmakunbound()
     1124      {
     1125        super(Symbol.FMAKUNBOUND, "name");
     1126      }
     1127 
    9031128      @Override
    9041129      public LispObject execute(LispObject arg)
     
    9191144
    9201145  // ### setf-function-name-p
    921   private static final Primitive SETF_FUNCTION_NAME_P =
    922     new Primitive("setf-function-name-p", PACKAGE_SYS, true, "thing")
    923     {
     1146  private static final Primitive SETF_FUNCTION_NAME_P = new pf_setf_function_name_p();
     1147  private static final class pf_setf_function_name_p extends Primitive {
     1148      pf_setf_function_name_p()
     1149      {
     1150        super("setf-function-name-p", PACKAGE_SYS, true, "thing");
     1151      }
     1152 
    9241153      @Override
    9251154      public LispObject execute(LispObject arg)
     
    9301159
    9311160  // ### remprop
    932   private static final Primitive REMPROP =
    933     new Primitive(Symbol.REMPROP, "symbol indicator")
    934     {
     1161  private static final Primitive REMPROP = new pf_remprop();
     1162  private static final class pf_remprop extends Primitive {
     1163      pf_remprop()
     1164      {
     1165        super(Symbol.REMPROP, "symbol indicator");
     1166      }
     1167 
    9351168      @Override
    9361169      public LispObject execute(LispObject first, LispObject second)
     
    9421175
    9431176  // ### append
    944   public static final Primitive APPEND =
    945     new Primitive(Symbol.APPEND, "&rest lists")
    946     {
     1177  public static final Primitive APPEND = new pf_append();
     1178  private static final class pf_append extends Primitive {
     1179      pf_append()
     1180      {
     1181        super(Symbol.APPEND, "&rest lists");
     1182      }
     1183 
    9471184      @Override
    9481185      public LispObject execute()
     
    10451282
    10461283  // ### nconc
    1047   private static final Primitive NCONC =
    1048     new Primitive(Symbol.NCONC, "&rest lists")
    1049     {
     1284  private static final Primitive NCONC = new pf_nconc();
     1285  private static final class pf_nconc extends Primitive {
     1286      pf_nconc()
     1287      {
     1288        super(Symbol.NCONC, "&rest lists");
     1289      }
     1290 
    10501291      @Override
    10511292      public LispObject execute()
     
    11211362  // ### =
    11221363  // Numeric equality.
    1123   private static final Primitive EQUALS =
    1124     new Primitive(Symbol.EQUALS, "&rest numbers")
    1125     {
     1364  private static final Primitive EQUALS = new pf_equals();
     1365  private static final class pf_equals extends Primitive {
     1366      pf_equals()
     1367      {
     1368        super(Symbol.EQUALS, "&rest numbers");
     1369      }
     1370 
    11261371      @Override
    11271372      public LispObject execute()
     
    11661411  // ### /=
    11671412  // Returns true if no two numbers are the same; otherwise returns false.
    1168   private static final Primitive NOT_EQUALS =
    1169     new Primitive(Symbol.NOT_EQUALS, "&rest numbers")
    1170     {
     1413  private static final Primitive NOT_EQUALS = new pf_not_equals();
     1414  private static final class pf_not_equals extends Primitive {
     1415      pf_not_equals()
     1416      {
     1417        super(Symbol.NOT_EQUALS, "&rest numbers");
     1418      }
     1419 
    11711420      @Override
    11721421      public LispObject execute()
     
    12171466  // ### <
    12181467  // Numeric comparison.
    1219   private static final Primitive LT =
    1220     new Primitive(Symbol.LT, "&rest numbers")
    1221     {
     1468  private static final Primitive LT = new pf_lt();
     1469  private static final class pf_lt extends Primitive {
     1470      pf_lt()
     1471      {
     1472        super(Symbol.LT, "&rest numbers");
     1473      }
     1474 
    12221475      @Override
    12231476      public LispObject execute()
     
    12601513
    12611514  // ### <=
    1262   private static final Primitive LE =
    1263     new Primitive(Symbol.LE, "&rest numbers")
    1264     {
     1515  private static final Primitive LE = new pf_le();
     1516  private static final class pf_le extends Primitive {
     1517      pf_le()
     1518      {
     1519        super(Symbol.LE, "&rest numbers");
     1520      }
     1521 
    12651522      @Override
    12661523      public LispObject execute()
     
    13031560
    13041561  // ### >
    1305   private static final Primitive GT =
    1306     new Primitive(Symbol.GT, "&rest numbers")
    1307     {
     1562  private static final Primitive GT = new pf_gt();
     1563  private static final class pf_gt extends Primitive {
     1564      pf_gt()
     1565      {
     1566        super(Symbol.GT, "&rest numbers");
     1567      }
     1568 
    13081569      @Override
    13091570      public LispObject execute()
     
    13461607
    13471608  // ### >=
    1348   private static final Primitive GE =
    1349     new Primitive(Symbol.GE, "&rest numbers")
    1350     {
     1609  private static final Primitive GE = new pf_ge();
     1610  private static final class pf_ge extends Primitive {
     1611      pf_ge()
     1612      {
     1613        super(Symbol.GE, "&rest numbers");
     1614      }
     1615 
    13511616      @Override
    13521617      public LispObject execute()
     
    13891654
    13901655  // ### nth n list => object
    1391   private static final Primitive NTH = new Primitive(Symbol.NTH, "n list")
    1392     {
     1656  private static final Primitive NTH = new pf_nth();
     1657  private static final class pf_nth extends Primitive {
     1658      pf_nth()
     1659      {
     1660        super(Symbol.NTH, "n list");
     1661      }
     1662 
    13931663      @Override
    13941664      public LispObject execute(LispObject first, LispObject second)
     
    14001670
    14011671  // ### %set-nth n list new-object => new-object
    1402   private static final Primitive _SET_NTH =
    1403     new Primitive("%set-nth", PACKAGE_SYS, false)
    1404     {
     1672  private static final Primitive _SET_NTH = new pf__set_nth();
     1673  private static final class pf__set_nth extends Primitive {
     1674      pf__set_nth()
     1675      {
     1676        super("%set-nth", PACKAGE_SYS, false);
     1677      }
     1678 
    14051679      @Override
    14061680      public LispObject execute(LispObject first, LispObject second,
     
    14311705
    14321706  // ### nthcdr
    1433   private static final Primitive NTHCDR =
    1434     new Primitive(Symbol.NTHCDR, "n list")
    1435     {
     1707  private static final Primitive NTHCDR = new pf_nthcdr();
     1708  private static final class pf_nthcdr extends Primitive {
     1709      pf_nthcdr()
     1710      {
     1711        super(Symbol.NTHCDR, "n list");
     1712      }
     1713 
    14361714      @Override
    14371715      public LispObject execute(LispObject first, LispObject second)
     
    14541732  /** Stub to be replaced later when signal.lisp has been loaded. */
    14551733  // ### error
    1456   private static final Primitive ERROR =
    1457     new Primitive(Symbol.ERROR, "datum &rest arguments")
    1458     {
     1734  private static final Primitive ERROR = new pf_error();
     1735  private static final class pf_error extends Primitive {
     1736      pf_error()
     1737      {
     1738        super(Symbol.ERROR, "datum &rest arguments");
     1739      }
     1740 
    14591741      @Override
    14601742      public LispObject execute(LispObject[] args)
     
    14821764  /** Stub replaced when compiler-pass2.lisp has been loaded */
    14831765  // ### autocompile
    1484   private static final Primitive AUTOCOMPILE =
    1485     new Primitive(Symbol.AUTOCOMPILE, "function")
    1486     {
     1766  private static final Primitive AUTOCOMPILE = new pf_autocompile();
     1767  private static final class pf_autocompile extends Primitive {
     1768      pf_autocompile()
     1769      {
     1770        super(Symbol.AUTOCOMPILE, "function");
     1771      }
     1772 
    14871773      @Override
    14881774      public LispObject execute(LispObject function)
     
    14991785   * signalling yet.
    15001786   */
    1501   private static final Primitive SIGNAL =
    1502     new Primitive(Symbol.SIGNAL, "datum &rest arguments")
    1503     {
     1787  private static final Primitive SIGNAL = new pf_signal();
     1788  private static final class pf_signal extends Primitive {
     1789      pf_signal()
     1790      {
     1791        super(Symbol.SIGNAL, "datum &rest arguments");
     1792      }
     1793 
    15041794      @Override
    15051795      public LispObject execute(LispObject[] args)
     
    15151805  // ### undefined-function-called
    15161806  // Redefined in restart.lisp.
    1517   private static final Primitive UNDEFINED_FUNCTION_CALLED =
    1518     new Primitive(Symbol.UNDEFINED_FUNCTION_CALLED, "name arguments")
    1519     {
     1807  private static final Primitive UNDEFINED_FUNCTION_CALLED = new pf_undefined_function_called();
     1808  private static final class pf_undefined_function_called extends Primitive {
     1809      pf_undefined_function_called()
     1810      {
     1811        super(Symbol.UNDEFINED_FUNCTION_CALLED, "name arguments");
     1812      }
     1813 
    15201814      @Override
    15211815      public LispObject execute(LispObject first, LispObject second)
     
    15271821
    15281822  // ### %format
    1529   private static final Primitive _FORMAT =
    1530     new Primitive("%format", PACKAGE_SYS, false,
    1531                   "destination control-string &rest args")
    1532     {
     1823  private static final Primitive _FORMAT = new pf__format();
     1824  private static final class pf__format extends Primitive {
     1825      pf__format()
     1826      {
     1827        super("%format", PACKAGE_SYS, false,
     1828                  "destination control-string &rest args");
     1829      }
     1830 
    15331831      @Override
    15341832      public LispObject execute(LispObject first, LispObject second,
     
    16651963
    16661964  // ### %defun name definition => name
    1667   private static final Primitive _DEFUN =
    1668     new Primitive("%defun", PACKAGE_SYS, true, "name definition")
    1669     {
     1965  private static final Primitive _DEFUN = new pf__defun();
     1966  private static final class pf__defun extends Primitive {
     1967      pf__defun()
     1968      {
     1969        super("%defun", PACKAGE_SYS, true, "name definition");
     1970      }
     1971 
    16701972      @Override
    16711973      public LispObject execute(LispObject name, LispObject definition)
     
    16951997
    16961998  // ### fdefinition-block-name
    1697   private static final Primitive FDEFINITION_BLOCK_NAME =
    1698     new Primitive("fdefinition-block-name", PACKAGE_SYS, true, "function-name")
    1699     {
     1999  private static final Primitive FDEFINITION_BLOCK_NAME = new pf_fdefinition_block_name();
     2000  private static final class pf_fdefinition_block_name extends Primitive {
     2001      pf_fdefinition_block_name()
     2002      {
     2003        super("fdefinition-block-name", PACKAGE_SYS, true, "function-name");
     2004      }
     2005 
    17002006      @Override
    17012007      public LispObject execute(LispObject arg)
     
    17102016
    17112017  // ### macro-function
    1712   private static final Primitive MACRO_FUNCTION =
    1713     new Primitive(Symbol.MACRO_FUNCTION, "symbol &optional environment")
    1714     {
     2018  private static final Primitive MACRO_FUNCTION = new pf_macro_function();
     2019  private static final class pf_macro_function extends Primitive {
     2020      pf_macro_function()
     2021      {
     2022        super(Symbol.MACRO_FUNCTION, "symbol &optional environment");
     2023      }
     2024 
    17152025      @Override
    17162026      public LispObject execute(LispObject arg)
     
    18062116
    18072117  // ### make-macro
    1808   private static final Primitive MAKE_MACRO =
    1809     new Primitive("make-macro", PACKAGE_SYS, true, "name expansion-function")
    1810     {
     2118  private static final Primitive MAKE_MACRO = new pf_make_macro();
     2119  private static final class pf_make_macro extends Primitive {
     2120      pf_make_macro()
     2121      {
     2122        super("make-macro", PACKAGE_SYS, true, "name expansion-function");
     2123      }
     2124 
    18112125      @Override
    18122126      public LispObject execute(LispObject first, LispObject second)
     
    18182132
    18192133  // ### macro-function-p
    1820   private static final Primitive MACRO_FUNCTION_P =
    1821       new Primitive("macro-function-p", PACKAGE_SYS, true, "value")
    1822   {
     2134  private static final Primitive MACRO_FUNCTION_P = new pf_macro_function_p();
     2135  private static final class pf_macro_function_p extends Primitive {
     2136      pf_macro_function_p()
     2137      {
     2138        super("macro-function-p", PACKAGE_SYS, true, "value");
     2139      }
     2140 
    18232141      @Override
    18242142      public LispObject execute(LispObject arg)
     
    18302148
    18312149  // ### make-symbol-macro
    1832   private static final Primitive MAKE_SYMBOL_MACRO =
    1833       new Primitive("make-symbol-macro", PACKAGE_SYS, true, "expansion")
    1834   {
     2150  private static final Primitive MAKE_SYMBOL_MACRO = new pf_make_symbol_macro();
     2151  private static final class pf_make_symbol_macro extends Primitive {
     2152      pf_make_symbol_macro()
     2153      {
     2154        super("make-symbol-macro", PACKAGE_SYS, true, "expansion");
     2155      }
     2156 
    18352157      @Override
    18362158      public LispObject execute(LispObject arg)
     
    18412163
    18422164  // ### symbol-macro-p
    1843   private static final Primitive SYMBOL_MACRO_P =
    1844       new Primitive("symbol-macro-p", PACKAGE_SYS, true, "value")
    1845   {
     2165  private static final Primitive SYMBOL_MACRO_P = new pf_symbol_macro_p();
     2166  private static final class pf_symbol_macro_p extends Primitive {
     2167      pf_symbol_macro_p()
     2168      {
     2169        super("symbol-macro-p", PACKAGE_SYS, true, "value");
     2170      }
     2171 
    18462172      @Override
    18472173      public LispObject execute(LispObject arg)
     
    18522178
    18532179  // ### %defparameter
    1854   private static final Primitive _DEFPARAMETER =
    1855     new Primitive("%defparameter", PACKAGE_SYS, false)
    1856     {
     2180  private static final Primitive _DEFPARAMETER = new pf__defparameter();
     2181  private static final class pf__defparameter extends Primitive {
     2182      pf__defparameter()
     2183      {
     2184        super("%defparameter", PACKAGE_SYS, false);
     2185      }
     2186 
    18572187      @Override
    18582188      public LispObject execute(LispObject first, LispObject second,
     
    18722202
    18732203  // ### %defvar
    1874   private static final Primitive _DEFVAR =
    1875     new Primitive("%defvar", PACKAGE_SYS, false)
    1876     {
     2204  private static final Primitive _DEFVAR = new pf__defvar();
     2205  private static final class pf__defvar extends Primitive {
     2206      pf__defvar()
     2207      {
     2208        super("%defvar", PACKAGE_SYS, false);
     2209      }
     2210 
    18772211      @Override
    18782212      public LispObject execute(LispObject arg)
     
    18952229
    18962230  // ### %defconstant name initial-value documentation => name
    1897   private static final Primitive _DEFCONSTANT =
    1898     new Primitive("%defconstant", PACKAGE_SYS, false)
    1899     {
     2231  private static final Primitive _DEFCONSTANT = new pf__defconstant();
     2232  private static final class pf__defconstant extends Primitive {
     2233      pf__defconstant()
     2234      {
     2235        super("%defconstant", PACKAGE_SYS, false);
     2236      }
     2237 
    19002238      @Override
    19012239      public LispObject execute(LispObject first, LispObject second,
     
    20622400  // ### upgraded-array-element-type typespec &optional environment
    20632401  // => upgraded-typespec
    2064   private static final Primitive UPGRADED_ARRAY_ELEMENT_TYPE =
    2065     new Primitive(Symbol.UPGRADED_ARRAY_ELEMENT_TYPE,
    2066                   "typespec &optional environment")
    2067     {
     2402  private static final Primitive UPGRADED_ARRAY_ELEMENT_TYPE = new pf_upgraded_array_element_type();
     2403  private static final class pf_upgraded_array_element_type extends Primitive {
     2404      pf_upgraded_array_element_type()
     2405      {
     2406        super(Symbol.UPGRADED_ARRAY_ELEMENT_TYPE,
     2407                  "typespec &optional environment");
     2408      }
     2409 
    20682410      @Override
    20692411      public LispObject execute(LispObject arg)
     
    20812423
    20822424  // ### array-rank array => rank
    2083   private static final Primitive ARRAY_RANK =
    2084     new Primitive(Symbol.ARRAY_RANK, "array")
    2085     {
     2425  private static final Primitive ARRAY_RANK = new pf_array_rank();
     2426  private static final class pf_array_rank extends Primitive {
     2427      pf_array_rank()
     2428      {
     2429        super(Symbol.ARRAY_RANK, "array");
     2430      }
     2431 
    20862432      @Override
    20872433      public LispObject execute(LispObject arg)
     
    20942440  // ### array-dimensions array => dimensions
    20952441  // Returns a list of integers. Fill pointer (if any) is ignored.
    2096   private static final Primitive ARRAY_DIMENSIONS =
    2097     new Primitive(Symbol.ARRAY_DIMENSIONS, "array")
    2098     {
     2442  private static final Primitive ARRAY_DIMENSIONS = new pf_array_dimensions();
     2443  private static final class pf_array_dimensions extends Primitive {
     2444      pf_array_dimensions()
     2445      {
     2446        super(Symbol.ARRAY_DIMENSIONS, "array");
     2447      }
     2448 
    20992449      @Override
    21002450      public LispObject execute(LispObject arg)
     
    21052455
    21062456  // ### array-dimension array axis-number => dimension
    2107   private static final Primitive ARRAY_DIMENSION =
    2108     new Primitive(Symbol.ARRAY_DIMENSION, "array axis-number")
    2109     {
     2457  private static final Primitive ARRAY_DIMENSION = new pf_array_dimension();
     2458  private static final class pf_array_dimension extends Primitive {
     2459      pf_array_dimension()
     2460      {
     2461        super(Symbol.ARRAY_DIMENSION, "array axis-number");
     2462      }
     2463 
    21102464      @Override
    21112465      public LispObject execute(LispObject first, LispObject second)
     
    21182472
    21192473  // ### array-total-size array => size
    2120   private static final Primitive ARRAY_TOTAL_SIZE =
    2121     new Primitive(Symbol.ARRAY_TOTAL_SIZE, "array")
    2122     {
     2474  private static final Primitive ARRAY_TOTAL_SIZE = new pf_array_total_size();
     2475  private static final class pf_array_total_size extends Primitive {
     2476      pf_array_total_size()
     2477      {
     2478        super(Symbol.ARRAY_TOTAL_SIZE, "array");
     2479      }
     2480 
    21232481      @Override
    21242482      public LispObject execute(LispObject arg)
     
    21312489  // ### array-element-type
    21322490  // array-element-type array => typespec
    2133   private static final Primitive ARRAY_ELEMENT_TYPE =
    2134     new Primitive(Symbol.ARRAY_ELEMENT_TYPE, "array")
    2135     {
     2491  private static final Primitive ARRAY_ELEMENT_TYPE = new pf_array_element_type();
     2492  private static final class pf_array_element_type extends Primitive {
     2493      pf_array_element_type()
     2494      {
     2495        super(Symbol.ARRAY_ELEMENT_TYPE, "array");
     2496      }
     2497 
    21362498      @Override
    21372499      public LispObject execute(LispObject arg)
     
    21422504
    21432505  // ### adjustable-array-p
    2144   private static final Primitive ADJUSTABLE_ARRAY_P =
    2145     new Primitive(Symbol.ADJUSTABLE_ARRAY_P, "array")
    2146     {
     2506  private static final Primitive ADJUSTABLE_ARRAY_P = new pf_adjustable_array_p();
     2507  private static final class pf_adjustable_array_p extends Primitive {
     2508      pf_adjustable_array_p()
     2509      {
     2510        super(Symbol.ADJUSTABLE_ARRAY_P, "array");
     2511      }
     2512 
    21472513      @Override
    21482514      public LispObject execute(LispObject arg)
     
    21532519
    21542520  // ### array-displacement array => displaced-to, displaced-index-offset
    2155   private static final Primitive ARRAY_DISPLACEMENT =
    2156     new Primitive(Symbol.ARRAY_DISPLACEMENT, "array")
    2157     {
     2521  private static final Primitive ARRAY_DISPLACEMENT = new pf_array_displacement();
     2522  private static final class pf_array_displacement extends Primitive {
     2523      pf_array_displacement()
     2524      {
     2525        super(Symbol.ARRAY_DISPLACEMENT, "array");
     2526      }
     2527 
    21582528      @Override
    21592529      public LispObject execute(LispObject arg)
     
    21652535
    21662536  // ### array-in-bounds-p array &rest subscripts => generalized-boolean
    2167   private static final Primitive ARRAY_IN_BOUNDS_P =
    2168     new Primitive(Symbol.ARRAY_IN_BOUNDS_P, "array &rest subscripts")
    2169     {
     2537  private static final Primitive ARRAY_IN_BOUNDS_P = new pf_array_in_bounds_p();
     2538  private static final class pf_array_in_bounds_p extends Primitive {
     2539      pf_array_in_bounds_p()
     2540      {
     2541        super(Symbol.ARRAY_IN_BOUNDS_P, "array &rest subscripts");
     2542      }
     2543 
    21702544      @Override
    21712545      public LispObject execute(LispObject[] args)
     
    22062580
    22072581  // ### %array-row-major-index array subscripts => index
    2208   private static final Primitive _ARRAY_ROW_MAJOR_INDEX =
    2209     new Primitive("%array-row-major-index", PACKAGE_SYS, false)
    2210     {
     2582  private static final Primitive _ARRAY_ROW_MAJOR_INDEX = new pf__array_row_major_index();
     2583  private static final class pf__array_row_major_index extends Primitive {
     2584      pf__array_row_major_index()
     2585      {
     2586        super("%array-row-major-index", PACKAGE_SYS, false);
     2587      }
     2588 
    22112589      @Override
    22122590      public LispObject execute(LispObject first, LispObject second)
     
    22212599
    22222600  // ### aref array &rest subscripts => element
    2223   private static final Primitive AREF =
    2224     new Primitive(Symbol.AREF, "array &rest subscripts")
    2225     {
     2601  private static final Primitive AREF = new pf_aref();
     2602  private static final class pf_aref extends Primitive {
     2603      pf_aref()
     2604      {
     2605        super(Symbol.AREF, "array &rest subscripts");
     2606      }
     2607 
    22262608      @Override
    22272609      public LispObject execute()
     
    22692651
    22702652  // ### aset array subscripts new-element => new-element
    2271   private static final Primitive ASET =
    2272     new Primitive("aset", PACKAGE_SYS, true,
    2273                   "array subscripts new-element")
    2274     {
     2653  private static final Primitive ASET = new pf_aset();
     2654  private static final class pf_aset extends Primitive {
     2655      pf_aset()
     2656      {
     2657        super("aset", PACKAGE_SYS, true,
     2658                  "array subscripts new-element");
     2659      }
     2660 
    22752661      @Override
    22762662      public LispObject execute(LispObject first, LispObject second)
     
    23142700
    23152701  // ### row-major-aref array index => element
    2316   private static final Primitive ROW_MAJOR_AREF =
    2317     new Primitive(Symbol.ROW_MAJOR_AREF, "array index")
    2318     {
     2702  private static final Primitive ROW_MAJOR_AREF = new pf_row_major_aref();
     2703  private static final class pf_row_major_aref extends Primitive {
     2704      pf_row_major_aref()
     2705      {
     2706        super(Symbol.ROW_MAJOR_AREF, "array index");
     2707      }
     2708 
    23192709      @Override
    23202710      public LispObject execute(LispObject first, LispObject second)
     
    23262716
    23272717  // ### vector
    2328   private static final Primitive VECTOR =
    2329     new Primitive(Symbol.VECTOR, "&rest objects")
    2330     {
     2718  private static final Primitive VECTOR = new pf_vector();
     2719  private static final class pf_vector extends Primitive {
     2720      pf_vector()
     2721      {
     2722        super(Symbol.VECTOR, "&rest objects");
     2723      }
     2724 
    23312725      @Override
    23322726      public LispObject execute(LispObject[] args)
     
    23372731
    23382732  // ### fill-pointer
    2339   private static final Primitive FILL_POINTER =
    2340     new Primitive(Symbol.FILL_POINTER, "vector")
    2341     {
     2733  private static final Primitive FILL_POINTER = new pf_fill_pointer();
     2734  private static final class pf_fill_pointer extends Primitive {
     2735      pf_fill_pointer()
     2736      {
     2737        super(Symbol.FILL_POINTER, "vector");
     2738      }
     2739 
    23422740      @Override
    23432741      public LispObject execute(LispObject arg)
     
    23562754
    23572755  // ### %set-fill-pointer vector new-fill-pointer
    2358   private static final Primitive _SET_FILL_POINTER =
    2359     new Primitive("%set-fill-pointer", PACKAGE_SYS, true)
    2360     {
     2756  private static final Primitive _SET_FILL_POINTER = new pf__set_fill_pointer();
     2757  private static final class pf__set_fill_pointer extends Primitive {
     2758      pf__set_fill_pointer()
     2759      {
     2760        super("%set-fill-pointer", PACKAGE_SYS, true);
     2761      }
     2762 
    23612763      @Override
    23622764      public LispObject execute(LispObject first, LispObject second)
     
    23802782
    23812783  // ### vector-push new-element vector => index-of-new-element
    2382   private static final Primitive VECTOR_PUSH =
    2383     new Primitive(Symbol.VECTOR_PUSH, "new-element vector")
    2384     {
     2784  private static final Primitive VECTOR_PUSH = new pf_vector_push();
     2785  private static final class pf_vector_push extends Primitive {
     2786      pf_vector_push()
     2787      {
     2788        super(Symbol.VECTOR_PUSH, "new-element vector");
     2789      }
     2790 
    23852791      @Override
    23862792      public LispObject execute(LispObject first, LispObject second)
     
    24012807  // ### vector-push-extend new-element vector &optional extension
    24022808  // => index-of-new-element
    2403   private static final Primitive VECTOR_PUSH_EXTEND =
    2404     new Primitive(Symbol.VECTOR_PUSH_EXTEND,
    2405                   "new-element vector &optional extension")
    2406     {
     2809  private static final Primitive VECTOR_PUSH_EXTEND = new pf_vector_push_extend();
     2810  private static final class pf_vector_push_extend extends Primitive {
     2811      pf_vector_push_extend()
     2812      {
     2813        super(Symbol.VECTOR_PUSH_EXTEND,
     2814                  "new-element vector &optional extension");
     2815      }
     2816 
    24072817      @Override
    24082818      public LispObject execute(LispObject first, LispObject second)
     
    24222832
    24232833  // ### vector-pop vector => element
    2424   private static final Primitive VECTOR_POP =
    2425     new Primitive(Symbol.VECTOR_POP, "vector")
    2426     {
     2834  private static final Primitive VECTOR_POP = new pf_vector_pop();
     2835  private static final class pf_vector_pop extends Primitive {
     2836      pf_vector_pop()
     2837      {
     2838        super(Symbol.VECTOR_POP, "vector");
     2839      }
     2840 
    24272841      @Override
    24282842      public LispObject execute(LispObject arg)
     
    24422856
    24432857  // ### type-of
    2444   private static final Primitive TYPE_OF =
    2445     new Primitive(Symbol.TYPE_OF, "object")
    2446     {
     2858  private static final Primitive TYPE_OF = new pf_type_of();
     2859  private static final class pf_type_of extends Primitive {
     2860      pf_type_of()
     2861      {
     2862        super(Symbol.TYPE_OF, "object");
     2863      }
     2864 
    24472865      @Override
    24482866      public LispObject execute(LispObject arg)
     
    24532871
    24542872  // ### class-of
    2455   private static final Primitive CLASS_OF =
    2456     new Primitive(Symbol.CLASS_OF, "object")
    2457     {
     2873  private static final Primitive CLASS_OF = new pf_class_of();
     2874  private static final class pf_class_of extends Primitive {
     2875      pf_class_of()
     2876      {
     2877        super(Symbol.CLASS_OF, "object");
     2878      }
     2879 
    24582880      @Override
    24592881      public LispObject execute(LispObject arg)
     
    24642886
    24652887  // ### simple-typep
    2466   private static final Primitive SIMPLE_TYPEP =
    2467     new Primitive("simple-typep", PACKAGE_SYS, true)
    2468     {
     2888  private static final Primitive SIMPLE_TYPEP = new pf_simple_typep();
     2889  private static final class pf_simple_typep extends Primitive {
     2890      pf_simple_typep()
     2891      {
     2892        super("simple-typep", PACKAGE_SYS, true);
     2893      }
     2894 
    24692895      @Override
    24702896      public LispObject execute(LispObject first, LispObject second)
     
    24772903  // ### function-lambda-expression function =>
    24782904  // lambda-expression, closure-p, name
    2479   private static final Primitive FUNCTION_LAMBDA_EXPRESSION =
    2480     new Primitive(Symbol.FUNCTION_LAMBDA_EXPRESSION, "function")
    2481     {
     2905  private static final Primitive FUNCTION_LAMBDA_EXPRESSION = new pf_function_lambda_expression();
     2906  private static final class pf_function_lambda_expression extends Primitive {
     2907      pf_function_lambda_expression()
     2908      {
     2909        super(Symbol.FUNCTION_LAMBDA_EXPRESSION, "function");
     2910      }
     2911 
    24822912      @Override
    24832913      public LispObject execute(LispObject arg)
     
    25262956  // ### funcall
    25272957  // This needs to be public for LispAPI.java.
    2528   public static final Primitive FUNCALL =
    2529     new Primitive(Symbol.FUNCALL, "function &rest args")
    2530     {
     2958  public static final Primitive FUNCALL = new pf_funcall();
     2959  private static final class pf_funcall extends Primitive {
     2960      pf_funcall()
     2961      {
     2962        super(Symbol.FUNCALL, "function &rest args");
     2963      }
     2964 
    25312965      @Override
    25322966      public LispObject execute()
     
    26223056
    26233057  // ### apply
    2624   public static final Primitive APPLY =
    2625     new Primitive(Symbol.APPLY, "function &rest args")
    2626     {
     3058  public static final Primitive APPLY = new pf_apply();
     3059  private static final class pf_apply extends Primitive {
     3060      pf_apply()
     3061      {
     3062        super(Symbol.APPLY, "function &rest args");
     3063      }
     3064 
    26273065      @Override
    26283066      public LispObject execute()
     
    27123150
    27133151  // ### mapcar
    2714   private static final Primitive MAPCAR =
    2715     new Primitive(Symbol.MAPCAR, "function &rest lists")
    2716     {
     3152  private static final Primitive MAPCAR = new pf_mapcar();
     3153  private static final class pf_mapcar extends Primitive {
     3154      pf_mapcar()
     3155      {
     3156        super(Symbol.MAPCAR, "function &rest lists");
     3157      }
     3158 
    27173159      @Override
    27183160      public LispObject execute(LispObject fun, LispObject list)
     
    28143256
    28153257  // ### mapc
    2816   private static final Primitive MAPC =
    2817     new Primitive(Symbol.MAPC, "function &rest lists")
    2818     {
     3258  private static final Primitive MAPC = new pf_mapc();
     3259  private static final class pf_mapc extends Primitive {
     3260      pf_mapc()
     3261      {
     3262        super(Symbol.MAPC, "function &rest lists");
     3263      }
     3264 
    28193265      @Override
    28203266      public LispObject execute(LispObject fun, LispObject list)
     
    28883334
    28893335  // ### macroexpand
    2890   private static final Primitive MACROEXPAND =
    2891     new Primitive(Symbol.MACROEXPAND, "form &optional env")
    2892     {
     3336  private static final Primitive MACROEXPAND = new pf_macroexpand();
     3337  private static final class pf_macroexpand extends Primitive {
     3338      pf_macroexpand()
     3339      {
     3340        super(Symbol.MACROEXPAND, "form &optional env");
     3341      }
     3342 
    28933343      @Override
    28943344      public LispObject execute(LispObject form)
     
    29093359
    29103360  // ### macroexpand-1
    2911   private static final Primitive MACROEXPAND_1 =
    2912     new Primitive(Symbol.MACROEXPAND_1, "form &optional env")
    2913     {
     3361  private static final Primitive MACROEXPAND_1 = new pf_macroexpand_1();
     3362  private static final class pf_macroexpand_1 extends Primitive {
     3363      pf_macroexpand_1()
     3364      {
     3365        super(Symbol.MACROEXPAND_1, "form &optional env");
     3366      }
     3367 
    29143368      @Override
    29153369      public LispObject execute(LispObject form)
     
    29303384
    29313385  // ### gensym
    2932   private static final Primitive GENSYM =
    2933     new Primitive(Symbol.GENSYM, "&optional x")
    2934     {
     3386  private static final Primitive GENSYM = new pf_gensym();
     3387  private static final class pf_gensym extends Primitive {
     3388      pf_gensym()
     3389      {
     3390        super(Symbol.GENSYM, "&optional x");
     3391      }
     3392 
    29353393      @Override
    29363394      public LispObject execute()
     
    29713429
    29723430  // ### string
    2973   private static final Primitive STRING = new Primitive(Symbol.STRING, "x")
    2974     {
     3431  private static final Primitive STRING = new pf_string();
     3432  private static final class pf_string extends Primitive {
     3433      pf_string()
     3434      {
     3435        super(Symbol.STRING, "x");
     3436      }
     3437 
    29753438      @Override
    29763439      public LispObject execute(LispObject arg)
     
    29843447  // "It is implementation-dependent whether the string that becomes the new
    29853448  // symbol's name is the given string or a copy of it."
    2986   private static final Primitive INTERN =
    2987     new Primitive(Symbol.INTERN, "string &optional package")
    2988     {
     3449  private static final Primitive INTERN = new pf_intern();
     3450  private static final class pf_intern extends Primitive {
     3451      pf_intern()
     3452      {
     3453        super(Symbol.INTERN, "string &optional package");
     3454      }
     3455 
    29893456      @Override
    29903457      public LispObject execute(LispObject arg)
     
    30153482  // ### unintern
    30163483  // unintern symbol &optional package => generalized-boolean
    3017   private static final Primitive UNINTERN =
    3018     new Primitive(Symbol.UNINTERN, "symbol &optional package")
    3019     {
     3484  private static final Primitive UNINTERN = new pf_unintern();
     3485  private static final class pf_unintern extends Primitive {
     3486      pf_unintern()
     3487      {
     3488        super(Symbol.UNINTERN, "symbol &optional package");
     3489      }
     3490 
    30203491      @Override
    30213492      public LispObject execute(LispObject[] args)
     
    30343505
    30353506  // ### find-package
    3036   private static final Primitive FIND_PACKAGE =
    3037     new Primitive(Symbol.FIND_PACKAGE, "name")
    3038     {
     3507  private static final Primitive FIND_PACKAGE = new pf_find_package();
     3508  private static final class pf_find_package extends Primitive {
     3509      pf_find_package()
     3510      {
     3511        super(Symbol.FIND_PACKAGE, "name");
     3512      }
     3513 
    30393514      @Override
    30403515      public LispObject execute(LispObject arg)
     
    30663541  // ### %make-package
    30673542  // %make-package package-name nicknames use => package
    3068   private static final Primitive _MAKE_PACKAGE =
    3069     new Primitive("%make-package", PACKAGE_SYS, false)
    3070     {
     3543  private static final Primitive _MAKE_PACKAGE = new pf__make_package();
     3544  private static final class pf__make_package extends Primitive {
     3545      pf__make_package()
     3546      {
     3547        super("%make-package", PACKAGE_SYS, false);
     3548      }
     3549 
    30713550      /**
    30723551       * This invocation is solely used to be able to create
     
    31653644
    31663645  // ### %in-package
    3167   private static final Primitive _IN_PACKAGE =
    3168     new Primitive("%in-package", PACKAGE_SYS, true)
    3169     {
     3646  private static final Primitive _IN_PACKAGE = new pf__in_package();
     3647  private static final class pf__in_package extends Primitive {
     3648      pf__in_package()
     3649      {
     3650        super("%in-package", PACKAGE_SYS, true);
     3651      }
     3652 
    31703653      @Override
    31713654      public LispObject execute(LispObject arg)
     
    31883671
    31893672  // ### use-package packages-to-use &optional package => t
    3190   private static final Primitive USE_PACKAGE =
    3191     new Primitive(Symbol.USE_PACKAGE, "packages-to-use &optional package")
    3192     {
     3673  private static final Primitive USE_PACKAGE = new pf_use_package();
     3674  private static final class pf_use_package extends Primitive {
     3675      pf_use_package()
     3676      {
     3677        super(Symbol.USE_PACKAGE, "packages-to-use &optional package");
     3678      }
     3679 
    31933680      @Override
    31943681      public LispObject execute(LispObject[] args)
     
    32173704
    32183705  // ### package-symbols
    3219   private static final Primitive PACKAGE_SYMBOLS =
    3220     new Primitive("package-symbols", PACKAGE_SYS, true)
    3221     {
     3706  private static final Primitive PACKAGE_SYMBOLS = new pf_package_symbols();
     3707  private static final class pf_package_symbols extends Primitive {
     3708      pf_package_symbols()
     3709      {
     3710        super("package-symbols", PACKAGE_SYS, true);
     3711      }
     3712 
    32223713      @Override
    32233714      public LispObject execute(LispObject arg)
     
    32283719
    32293720  // ### package-internal-symbols
    3230   private static final Primitive PACKAGE_INTERNAL_SYMBOLS =
    3231     new Primitive("package-internal-symbols", PACKAGE_SYS, true)
    3232     {
     3721  private static final Primitive PACKAGE_INTERNAL_SYMBOLS = new pf_package_internal_symbols();
     3722  private static final class pf_package_internal_symbols extends Primitive {
     3723      pf_package_internal_symbols()
     3724      {
     3725        super("package-internal-symbols", PACKAGE_SYS, true);
     3726      }
     3727 
    32333728      @Override
    32343729      public LispObject execute(LispObject arg)
     
    32393734
    32403735  // ### package-external-symbols
    3241   private static final Primitive PACKAGE_EXTERNAL_SYMBOLS =
    3242     new Primitive("package-external-symbols", PACKAGE_SYS, true)
    3243     {
     3736  private static final Primitive PACKAGE_EXTERNAL_SYMBOLS = new pf_package_external_symbols();
     3737  private static final class pf_package_external_symbols extends Primitive {
     3738      pf_package_external_symbols()
     3739      {
     3740        super("package-external-symbols", PACKAGE_SYS, true);
     3741      }
     3742 
    32443743      @Override
    32453744      public LispObject execute(LispObject arg)
     
    32503749
    32513750  // ### package-inherited-symbols
    3252   private static final Primitive PACKAGE_INHERITED_SYMBOLS =
    3253     new Primitive("package-inherited-symbols", PACKAGE_SYS, true)
    3254     {
     3751  private static final Primitive PACKAGE_INHERITED_SYMBOLS = new pf_package_inherited_symbols();
     3752  private static final class pf_package_inherited_symbols extends Primitive {
     3753      pf_package_inherited_symbols()
     3754      {
     3755        super("package-inherited-symbols", PACKAGE_SYS, true);
     3756      }
     3757 
    32553758      @Override
    32563759      public LispObject execute(LispObject arg)
     
    32613764
    32623765  // ### export symbols &optional package
    3263   private static final Primitive EXPORT =
    3264     new Primitive(Symbol.EXPORT, "symbols &optional package")
    3265     {
     3766  private static final Primitive EXPORT = new pf_export();
     3767  private static final class pf_export extends Primitive {
     3768      pf_export()
     3769      {
     3770        super(Symbol.EXPORT, "symbols &optional package");
     3771      }
     3772 
    32663773      @Override
    32673774      public LispObject execute(LispObject arg)
     
    32953802
    32963803  // ### find-symbol string &optional package => symbol, status
    3297   private static final Primitive FIND_SYMBOL =
    3298     new Primitive(Symbol.FIND_SYMBOL, "string &optional package")
    3299     {
     3804  private static final Primitive FIND_SYMBOL = new pf_find_symbol();
     3805  private static final class pf_find_symbol extends Primitive {
     3806      pf_find_symbol()
     3807      {
     3808        super(Symbol.FIND_SYMBOL, "string &optional package");
     3809      }
     3810 
    33003811      @Override
    33013812      public LispObject execute(LispObject arg)
     
    33163827  // ### fset name function &optional source-position arglist documentation
    33173828  // => function
    3318   private static final Primitive FSET =
    3319     new Primitive("fset", PACKAGE_SYS, true)
    3320     {
     3829  private static final Primitive FSET = new pf_fset();
     3830  private static final class pf_fset extends Primitive {
     3831      pf_fset()
     3832      {
     3833        super("fset", PACKAGE_SYS, true);
     3834      }
     3835 
    33213836      @Override
    33223837      public LispObject execute(LispObject first, LispObject second)
     
    33853900
    33863901  // ### %set-symbol-plist
    3387   private static final Primitive _SET_SYMBOL_PLIST =
    3388     new Primitive("%set-symbol-plist", PACKAGE_SYS, false)
    3389     {
     3902  private static final Primitive _SET_SYMBOL_PLIST = new pf__set_symbol_plist();
     3903  private static final class pf__set_symbol_plist extends Primitive {
     3904      pf__set_symbol_plist()
     3905      {
     3906        super("%set-symbol-plist", PACKAGE_SYS, false);
     3907      }
     3908 
    33903909      @Override
    33913910      public LispObject execute(LispObject first, LispObject second)
     
    33983917
    33993918  // ### getf plist indicator &optional default => value
    3400   private static final Primitive GETF =
    3401     new Primitive(Symbol.GETF, "plist indicator &optional default")
    3402     {
     3919  private static final Primitive GETF = new pf_getf();
     3920  private static final class pf_getf extends Primitive {
     3921      pf_getf()
     3922      {
     3923        super(Symbol.GETF, "plist indicator &optional default");
     3924      }
     3925 
    34033926      @Override
    34043927      public LispObject execute(LispObject plist, LispObject indicator)
     
    34173940
    34183941  // ### get symbol indicator &optional default => value
    3419   private static final Primitive GET =
    3420     new Primitive(Symbol.GET, "symbol indicator &optional default")
    3421     {
     3942  private static final Primitive GET = new pf_get();
     3943  private static final class pf_get extends Primitive {
     3944      pf_get()
     3945      {
     3946        super(Symbol.GET, "symbol indicator &optional default");
     3947      }
     3948 
    34223949      @Override
    34233950      public LispObject execute(LispObject symbol, LispObject indicator)
     
    34363963
    34373964  // ### put symbol indicator value => value
    3438   private static final Primitive PUT =
    3439     new Primitive("put", PACKAGE_SYS, true)
    3440     {
     3965  private static final Primitive PUT = new pf_put();
     3966  private static final class pf_put extends Primitive {
     3967      pf_put()
     3968      {
     3969        super("put", PACKAGE_SYS, true);
     3970      }
     3971 
    34413972      @Override
    34423973      public LispObject execute(LispObject symbol, LispObject indicator,
     
    34934024    };
    34944025
    3495   private static final Primitive MAKE_EXPANDER_FOR_MACROLET =
    3496     new Primitive("make-expander-for-macrolet", PACKAGE_SYS, true,
    3497                   "definition")
    3498     {
     4026  private static final Primitive MAKE_EXPANDER_FOR_MACROLET = new pf_make_expander_for_macrolet();
     4027  private static final class pf_make_expander_for_macrolet extends Primitive {
     4028      pf_make_expander_for_macrolet()
     4029      {
     4030        super("make-expander-for-macrolet", PACKAGE_SYS, true,
     4031                  "definition");
     4032      }
     4033 
    34994034      @Override
    35004035      public LispObject execute(LispObject definition)
     
    39954530
    39964531  // ### call-count
    3997   private static final Primitive CALL_COUNT =
    3998     new Primitive("call-count", PACKAGE_SYS, true)
    3999     {
     4532  private static final Primitive CALL_COUNT = new pf_call_count();
     4533  private static final class pf_call_count extends Primitive {
     4534      pf_call_count()
     4535      {
     4536        super("call-count", PACKAGE_SYS, true);
     4537      }
     4538 
    40004539      @Override
    40014540      public LispObject execute(LispObject arg)
     
    40064545
    40074546  // ### set-call-count
    4008   private static final Primitive SET_CALL_COUNT =
    4009     new Primitive("set-call-count", PACKAGE_SYS, true)
    4010     {
     4547  private static final Primitive SET_CALL_COUNT = new pf_set_call_count();
     4548  private static final class pf_set_call_count extends Primitive {
     4549      pf_set_call_count()
     4550      {
     4551        super("set-call-count", PACKAGE_SYS, true);
     4552      }
     4553 
    40114554      @Override
    40124555      public LispObject execute(LispObject first, LispObject second)
     
    40194562
    40204563  // ### call-count
    4021   private static final Primitive HOT_COUNT =
    4022     new Primitive("hot-count", PACKAGE_SYS, true)
    4023     {
     4564  private static final Primitive HOT_COUNT = new pf_hot_count();
     4565  private static final class pf_hot_count extends Primitive {
     4566      pf_hot_count()
     4567      {
     4568        super("hot-count", PACKAGE_SYS, true);
     4569      }
     4570 
    40244571      @Override
    40254572      public LispObject execute(LispObject arg)
     
    40304577
    40314578  // ### set-call-count
    4032   private static final Primitive SET_HOT_COUNT =
    4033     new Primitive("set-hot-count", PACKAGE_SYS, true)
    4034     {
     4579  private static final Primitive SET_HOT_COUNT = new pf_set_hot_count();
     4580  private static final class pf_set_hot_count extends Primitive {
     4581      pf_set_hot_count()
     4582      {
     4583        super("set-hot-count", PACKAGE_SYS, true);
     4584      }
     4585 
    40354586      @Override
    40364587      public LispObject execute(LispObject first, LispObject second)
     
    40434594
    40444595    // ### lambda-name
    4045   private static final Primitive LAMBDA_NAME =
    4046     new Primitive("lambda-name", PACKAGE_SYS, true)
    4047     {
     4596  private static final Primitive LAMBDA_NAME = new pf_lambda_name();
     4597  private static final class pf_lambda_name extends Primitive {
     4598      pf_lambda_name()
     4599      {
     4600        super("lambda-name", PACKAGE_SYS, true);
     4601      }
     4602 
    40484603      @Override
    40494604      public LispObject execute(LispObject arg)
     
    40624617
    40634618  // ### %set-lambda-name
    4064   private static final Primitive _SET_LAMBDA_NAME =
    4065     new Primitive("%set-lambda-name", PACKAGE_SYS, false)
    4066     {
     4619  private static final Primitive _SET_LAMBDA_NAME = new pf__set_lambda_name();
     4620  private static final class pf__set_lambda_name extends Primitive {
     4621      pf__set_lambda_name()
     4622      {
     4623        super("%set-lambda-name", PACKAGE_SYS, false);
     4624      }
     4625 
    40674626      @Override
    40684627      public LispObject execute(LispObject first, LispObject second)
     
    40874646  // must be less than or equal to its current length.
    40884647  // shrink-vector vector new-size => vector
    4089   private static final Primitive SHRINK_VECTOR =
    4090     new Primitive("shrink-vector", PACKAGE_SYS, true, "vector new-size")
    4091     {
     4648  private static final Primitive SHRINK_VECTOR = new pf_shrink_vector();
     4649  private static final class pf_shrink_vector extends Primitive {
     4650      pf_shrink_vector()
     4651      {
     4652        super("shrink-vector", PACKAGE_SYS, true, "vector new-size");
     4653      }
     4654 
    40924655      @Override
    40934656      public LispObject execute(LispObject first, LispObject second)
     
    41004663
    41014664  // ### subseq sequence start &optional end
    4102   private static final Primitive SUBSEQ =
    4103     new Primitive(Symbol.SUBSEQ, "sequence start &optional end")
    4104     {
     4665  private static final Primitive SUBSEQ = new pf_subseq();
     4666  private static final class pf_subseq extends Primitive {
     4667      pf_subseq()
     4668      {
     4669        super(Symbol.SUBSEQ, "sequence start &optional end");
     4670      }
     4671 
    41054672      @Override
    41064673      public LispObject execute(LispObject first, LispObject second)
     
    41844751
    41854752  // ### list
    4186   private static final Primitive LIST =
    4187     new Primitive(Symbol.LIST, "&rest objects")
    4188     {
     4753  private static final Primitive LIST = new pf_list();
     4754  private static final class pf_list extends Primitive {
     4755      pf_list()
     4756      {
     4757        super(Symbol.LIST, "&rest objects");
     4758      }
     4759 
    41894760      @Override
    41904761      public LispObject execute()
     
    42284799
    42294800  // ### list*
    4230   private static final Primitive LIST_STAR =
    4231     new Primitive(Symbol.LIST_STAR, "&rest objects")
    4232     {
     4801  private static final Primitive LIST_STAR = new pf_list_star();
     4802  private static final class pf_list_star extends Primitive {
     4803      pf_list_star()
     4804      {
     4805        super(Symbol.LIST_STAR, "&rest objects");
     4806      }
     4807 
    42334808      @Override
    42344809      public LispObject execute()
     
    42754850
    42764851  // ### nreverse
    4277   public static final Primitive NREVERSE =
    4278     new Primitive(Symbol.NREVERSE, "sequence")
    4279     {
     4852  public static final Primitive NREVERSE = new pf_nreverse();
     4853  private static final class pf_nreverse extends Primitive {
     4854      pf_nreverse()
     4855      {
     4856        super(Symbol.NREVERSE, "sequence");
     4857      }
     4858 
    42804859      @Override
    42814860      public LispObject execute (LispObject arg)
     
    42864865
    42874866  // ### nreconc
    4288   private static final Primitive NRECONC =
    4289     new Primitive(Symbol.NRECONC, "list tail")
    4290     {
     4867  private static final Primitive NRECONC = new pf_nreconc();
     4868  private static final class pf_nreconc extends Primitive {
     4869      pf_nreconc()
     4870      {
     4871        super(Symbol.NRECONC, "list tail");
     4872      }
     4873 
    42914874      @Override
    42924875      public LispObject execute(LispObject list, LispObject obj)
     
    43334916
    43344917  // ### reverse
    4335   private static final Primitive REVERSE =
    4336     new Primitive(Symbol.REVERSE, "sequence")
    4337     {
     4918  private static final Primitive REVERSE = new pf_reverse();
     4919  private static final class pf_reverse extends Primitive {
     4920      pf_reverse()
     4921      {
     4922        super(Symbol.REVERSE, "sequence");
     4923      }
     4924 
    43384925      @Override
    43394926      public LispObject execute(LispObject arg)
     
    43444931
    43454932  // ### delete-eq item sequence => result-sequence
    4346   private static final Primitive DELETE_EQ =
    4347     new Primitive("delete-eq", PACKAGE_SYS, true, "item sequence")
    4348     {
     4933  private static final Primitive DELETE_EQ = new pf_delete_eq();
     4934  private static final class pf_delete_eq extends Primitive {
     4935      pf_delete_eq()
     4936      {
     4937        super("delete-eq", PACKAGE_SYS, true, "item sequence");
     4938      }
     4939 
    43494940      @Override
    43504941      public LispObject execute(LispObject item, LispObject sequence)
     
    43594950
    43604951  // ### delete-eql item seqluence => result-seqluence
    4361   private static final Primitive DELETE_EQL =
    4362     new Primitive("delete-eql", PACKAGE_SYS, true, "item sequence")
    4363     {
     4952  private static final Primitive DELETE_EQL = new pf_delete_eql();
     4953  private static final class pf_delete_eql extends Primitive {
     4954      pf_delete_eql()
     4955      {
     4956        super("delete-eql", PACKAGE_SYS, true, "item sequence");
     4957      }
     4958 
    43644959      @Override
    43654960      public LispObject execute(LispObject item, LispObject sequence)
     
    43744969
    43754970  // ### list-delete-eq item list => result-list
    4376   private static final Primitive LIST_DELETE_EQ =
    4377     new Primitive("list-delete-eq", PACKAGE_SYS, true, "item list")
    4378     {
     4971  private static final Primitive LIST_DELETE_EQ = new pf_list_delete_eq();
     4972  private static final class pf_list_delete_eq extends Primitive {
     4973      pf_list_delete_eq()
     4974      {
     4975        super("list-delete-eq", PACKAGE_SYS, true, "item list");
     4976      }
     4977 
    43794978      @Override
    43804979      public LispObject execute(LispObject item, LispObject list)
     
    44245023
    44255024  // ### list-delete-eql item list => result-list
    4426   private static final Primitive LIST_DELETE_EQL =
    4427     new Primitive("list-delete-eql", PACKAGE_SYS, true, "item list")
    4428     {
     5025  private static final Primitive LIST_DELETE_EQL = new pf_list_delete_eql();
     5026  private static final class pf_list_delete_eql extends Primitive {
     5027      pf_list_delete_eql()
     5028      {
     5029        super("list-delete-eql", PACKAGE_SYS, true, "item list");
     5030      }
     5031 
    44295032      @Override
    44305033      public LispObject execute(LispObject item, LispObject list)
     
    44745077
    44755078  // ### vector-delete-eq item vector => result-vector
    4476   private static final Primitive VECTOR_DELETE_EQ =
    4477     new Primitive("vector-delete-eq", PACKAGE_SYS, true, "item vector")
    4478     {
     5079  private static final Primitive VECTOR_DELETE_EQ = new pf_vector_delete_eq();
     5080  private static final class pf_vector_delete_eq extends Primitive {
     5081      pf_vector_delete_eq()
     5082      {
     5083        super("vector-delete-eq", PACKAGE_SYS, true, "item vector");
     5084      }
     5085 
    44795086      @Override
    44805087      public LispObject execute(LispObject item, LispObject vector)
     
    44875094
    44885095  // ### vector-delete-eql item vector => result-vector
    4489   private static final Primitive VECTOR_DELETE_EQL =
    4490     new Primitive("vector-delete-eql", PACKAGE_SYS, true, "item vector")
    4491     {
     5096  private static final Primitive VECTOR_DELETE_EQL = new pf_vector_delete_eql();
     5097  private static final class pf_vector_delete_eql extends Primitive {
     5098      pf_vector_delete_eql()
     5099      {
     5100        super("vector-delete-eql", PACKAGE_SYS, true, "item vector");
     5101      }
     5102 
    44925103      @Override
    44935104      public LispObject execute(LispObject item, LispObject vector)
     
    45015112  // ### %set-elt
    45025113  // %setelt sequence index newval => newval
    4503   private static final Primitive _SET_ELT =
    4504     new Primitive("%set-elt", PACKAGE_SYS, false)
    4505     {
     5114  private static final Primitive _SET_ELT = new pf__set_elt();
     5115  private static final class pf__set_elt extends Primitive {
     5116      pf__set_elt()
     5117      {
     5118        super("%set-elt", PACKAGE_SYS, false);
     5119      }
     5120 
    45065121      @Override
    45075122      public LispObject execute(LispObject first, LispObject second,
     
    45395154
    45405155  // ### %make-list
    4541   private static final Primitive _MAKE_LIST =
    4542     new Primitive("%make-list", PACKAGE_SYS, true)
    4543     {
     5156  private static final Primitive _MAKE_LIST = new pf__make_list();
     5157  private static final class pf__make_list extends Primitive {
     5158      pf__make_list()
     5159      {
     5160        super("%make-list", PACKAGE_SYS, true);
     5161      }
     5162 
    45445163      @Override
    45455164      public LispObject execute(LispObject first, LispObject second)
     
    45585177
    45595178  // ### %member item list key test test-not => tail
    4560   private static final Primitive _MEMBER =
    4561     new Primitive("%member", PACKAGE_SYS, true)
    4562     {
     5179  private static final Primitive _MEMBER = new pf__member();
     5180  private static final class pf__member extends Primitive {
     5181      pf__member()
     5182      {
     5183        super("%member", PACKAGE_SYS, true);
     5184      }
     5185 
    45635186      @Override
    45645187      public LispObject execute(LispObject item, LispObject list,
     
    46345257
    46355258  // ### funcall-key function-or-nil element
    4636   private static final Primitive FUNCALL_KEY =
    4637     new Primitive("funcall-key", PACKAGE_SYS, false)
    4638     {
     5259  private static final Primitive FUNCALL_KEY = new pf_funcall_key();
     5260  private static final class pf_funcall_key extends Primitive {
     5261      pf_funcall_key()
     5262      {
     5263        super("funcall-key", PACKAGE_SYS, false);
     5264      }
     5265 
    46395266      @Override
    46405267      public LispObject execute(LispObject first, LispObject second)
     
    46485275
    46495276  // ### coerce-to-function
    4650   private static final Primitive COERCE_TO_FUNCTION =
    4651     new Primitive("coerce-to-function", PACKAGE_SYS, true)
    4652     {
     5277  private static final Primitive COERCE_TO_FUNCTION = new pf_coerce_to_function();
     5278  private static final class pf_coerce_to_function extends Primitive {
     5279      pf_coerce_to_function()
     5280      {
     5281        super("coerce-to-function", PACKAGE_SYS, true);
     5282      }
     5283 
    46535284      @Override
    46545285      public LispObject execute(LispObject arg)
     
    46595290
    46605291  // ### make-closure lambda-form environment => closure
    4661   private static final Primitive MAKE_CLOSURE =
    4662     new Primitive("make-closure", PACKAGE_SYS, true)
    4663     {
     5292  private static final Primitive MAKE_CLOSURE = new pf_make_closure();
     5293  private static final class pf_make_closure extends Primitive {
     5294      pf_make_closure()
     5295      {
     5296        super("make-closure", PACKAGE_SYS, true);
     5297      }
     5298 
    46645299      @Override
    46655300      public LispObject execute(LispObject first, LispObject second)
     
    46805315
    46815316  // ### streamp
    4682   private static final Primitive STREAMP =
    4683     new Primitive(Symbol.STREAMP, "object")
    4684     {
     5317  private static final Primitive STREAMP = new pf_streamp();
     5318  private static final class pf_streamp extends Primitive {
     5319      pf_streamp()
     5320      {
     5321        super(Symbol.STREAMP, "object");
     5322      }
     5323 
    46855324      @Override
    46865325      public LispObject execute(LispObject arg)
     
    46915330
    46925331  // ### integerp
    4693   private static final Primitive INTEGERP =
    4694     new Primitive(Symbol.INTEGERP, "object")
    4695     {
     5332  private static final Primitive INTEGERP = new pf_integerp();
     5333  private static final class pf_integerp extends Primitive {
     5334      pf_integerp()
     5335      {
     5336        super(Symbol.INTEGERP, "object");
     5337      }
     5338 
    46965339      @Override
    46975340      public LispObject execute(LispObject arg)
     
    47025345
    47035346  // ### evenp
    4704   private static final Primitive EVENP =
    4705     new Primitive(Symbol.EVENP, "integer")
    4706     {
     5347  private static final Primitive EVENP = new pf_evenp();
     5348  private static final class pf_evenp extends Primitive {
     5349      pf_evenp()
     5350      {
     5351        super(Symbol.EVENP, "integer");
     5352      }
     5353 
    47075354      @Override
    47085355      public LispObject execute(LispObject arg)
     
    47135360
    47145361  // ### oddp
    4715   private static final Primitive ODDP = new Primitive(Symbol.ODDP, "integer")
    4716     {
     5362  private static final Primitive ODDP = new pf_oddp();
     5363  private static final class pf_oddp extends Primitive {
     5364      pf_oddp()
     5365      {
     5366        super(Symbol.ODDP, "integer");
     5367      }
     5368 
    47175369      @Override
    47185370      public LispObject execute(LispObject arg)
     
    47235375
    47245376  // ### numberp
    4725   private static final Primitive NUMBERP =
    4726     new Primitive(Symbol.NUMBERP, "object")
    4727     {
     5377  private static final Primitive NUMBERP = new pf_numberp();
     5378  private static final class pf_numberp extends Primitive {
     5379      pf_numberp()
     5380      {
     5381        super(Symbol.NUMBERP, "object");
     5382      }
     5383 
    47285384      @Override
    47295385      public LispObject execute(LispObject arg)
     
    47345390
    47355391  // ### realp
    4736   private static final Primitive REALP =
    4737     new Primitive(Symbol.REALP, "object")
    4738     {
     5392  private static final Primitive REALP = new pf_realp();
     5393  private static final class pf_realp extends Primitive {
     5394      pf_realp()
     5395      {
     5396        super(Symbol.REALP, "object");
     5397      }
     5398 
    47395399      @Override
    47405400      public LispObject execute(LispObject arg)
     
    47455405
    47465406  // ### rationalp
    4747   private static final Primitive RATIONALP =
    4748     new Primitive(Symbol.RATIONALP,"object")
    4749     {
     5407  private static final Primitive RATIONALP = new pf_rationalp();
     5408  private static final class pf_rationalp extends Primitive {
     5409      pf_rationalp()
     5410      {
     5411        super(Symbol.RATIONALP,"object");
     5412      }
     5413 
    47505414      @Override
    47515415      public LispObject execute(LispObject arg)
     
    47565420
    47575421  // ### complex
    4758   private static final Primitive COMPLEX =
    4759     new Primitive(Symbol.COMPLEX, "realpart &optional imagpart")
    4760     {
     5422  private static final Primitive COMPLEX = new pf_complex();
     5423  private static final class pf_complex extends Primitive {
     5424      pf_complex()
     5425      {
     5426        super(Symbol.COMPLEX, "realpart &optional imagpart");
     5427      }
     5428 
    47615429      @Override
    47625430      public LispObject execute(LispObject arg)
     
    47795447
    47805448  // ### complexp
    4781   private static final Primitive COMPLEXP =
    4782     new Primitive(Symbol.COMPLEXP, "object")
    4783     {
     5449  private static final Primitive COMPLEXP = new pf_complexp();
     5450  private static final class pf_complexp extends Primitive {
     5451      pf_complexp()
     5452      {
     5453        super(Symbol.COMPLEXP, "object");
     5454      }
     5455 
    47845456      @Override
    47855457      public LispObject execute(LispObject arg)
     
    47905462
    47915463  // ### numerator
    4792   private static final Primitive NUMERATOR =
    4793     new Primitive(Symbol.NUMERATOR, "rational")
    4794     {
     5464  private static final Primitive NUMERATOR = new pf_numerator();
     5465  private static final class pf_numerator extends Primitive {
     5466      pf_numerator()
     5467      {
     5468        super(Symbol.NUMERATOR, "rational");
     5469      }
     5470 
    47955471      @Override
    47965472      public LispObject execute(LispObject arg)
     
    48015477
    48025478  // ### denominator
    4803   private static final Primitive DENOMINATOR =
    4804     new Primitive(Symbol.DENOMINATOR, "rational")
    4805     {
     5479  private static final Primitive DENOMINATOR = new pf_denominator();
     5480  private static final class pf_denominator extends Primitive {
     5481      pf_denominator()
     5482      {
     5483        super(Symbol.DENOMINATOR, "rational");
     5484      }
     5485 
    48065486      @Override
    48075487      public LispObject execute(LispObject arg)
     
    48125492
    48135493  // ### realpart
    4814   private static final Primitive REALPART =
    4815     new Primitive(Symbol.REALPART, "number")
    4816     {
     5494  private static final Primitive REALPART = new pf_realpart();
     5495  private static final class pf_realpart extends Primitive {
     5496      pf_realpart()
     5497      {
     5498        super(Symbol.REALPART, "number");
     5499      }
     5500 
    48175501      @Override
    48185502      public LispObject execute(LispObject arg)
     
    48275511
    48285512  // ### imagpart
    4829   private static final Primitive IMAGPART =
    4830     new Primitive(Symbol.IMAGPART, "number")
    4831     {
     5513  private static final Primitive IMAGPART = new pf_imagpart();
     5514  private static final class pf_imagpart extends Primitive {
     5515      pf_imagpart()
     5516      {
     5517        super(Symbol.IMAGPART, "number");
     5518      }
     5519 
    48325520      @Override
    48335521      public LispObject execute(LispObject arg)
     
    48405528
    48415529  // ### integer-length
    4842   private static final Primitive INTEGER_LENGTH =
    4843     new Primitive(Symbol.INTEGER_LENGTH, "integer")
    4844     {
     5530  private static final Primitive INTEGER_LENGTH = new pf_integer_length();
     5531  private static final class pf_integer_length extends Primitive {
     5532      pf_integer_length()
     5533      {
     5534        super(Symbol.INTEGER_LENGTH, "integer");
     5535      }
     5536 
    48455537      @Override
    48465538      public LispObject execute(LispObject arg)
     
    48665558
    48675559  // ### gcd-2
    4868   private static final Primitive GCD_2 =
    4869     new Primitive("gcd-2", PACKAGE_SYS, false)
    4870     {
     5560  private static final Primitive GCD_2 = new pf_gcd_2();
     5561  private static final class pf_gcd_2 extends Primitive {
     5562      pf_gcd_2()
     5563      {
     5564        super("gcd-2", PACKAGE_SYS, false);
     5565      }
     5566 
    48715567      @Override
    48725568      public LispObject execute(LispObject first, LispObject second)
     
    48915587
    48925588  // ### identity-hash-code
    4893   private static final Primitive IDENTITY_HASH_CODE =
    4894     new Primitive("identity-hash-code", PACKAGE_SYS, true)
    4895     {
     5589  private static final Primitive IDENTITY_HASH_CODE = new pf_identity_hash_code();
     5590  private static final class pf_identity_hash_code extends Primitive {
     5591      pf_identity_hash_code()
     5592      {
     5593        super("identity-hash-code", PACKAGE_SYS, true);
     5594      }
     5595 
    48965596      @Override
    48975597      public LispObject execute(LispObject arg)
     
    49035603  // ### simple-vector-search pattern vector => position
    49045604  // Searches vector for pattern.
    4905   private static final Primitive SIMPLE_VECTOR_SEARCH =
    4906     new Primitive("simple-vector-search", PACKAGE_SYS, false)
    4907     {
     5605  private static final Primitive SIMPLE_VECTOR_SEARCH = new pf_simple_vector_search();
     5606  private static final class pf_simple_vector_search extends Primitive {
     5607      pf_simple_vector_search()
     5608      {
     5609        super("simple-vector-search", PACKAGE_SYS, false);
     5610      }
     5611 
    49085612      @Override
    49095613      public LispObject execute(LispObject first, LispObject second)
     
    49785682
    49795683  // ### uptime
    4980   private static final Primitive UPTIME =
    4981     new Primitive("uptime", PACKAGE_EXT, true)
    4982     {
     5684  private static final Primitive UPTIME = new pf_uptime();
     5685  private static final class pf_uptime extends Primitive {
     5686      pf_uptime()
     5687      {
     5688        super("uptime", PACKAGE_EXT, true);
     5689      }
     5690 
    49835691      @Override
    49845692      public LispObject execute()
     
    49895697
    49905698  // ### built-in-function-p
    4991   private static final Primitive BUILT_IN_FUNCTION_P =
    4992     new Primitive("built-in-function-p", PACKAGE_SYS, true)
    4993     {
     5699  private static final Primitive BUILT_IN_FUNCTION_P = new pf_built_in_function_p();
     5700  private static final class pf_built_in_function_p extends Primitive {
     5701      pf_built_in_function_p()
     5702      {
     5703        super("built-in-function-p", PACKAGE_SYS, true);
     5704      }
     5705 
    49945706      @Override
    49955707      public LispObject execute(LispObject arg)
     
    50005712
    50015713  // ### inspected-parts
    5002   private static final Primitive INSPECTED_PARTS =
    5003     new Primitive("inspected-parts", PACKAGE_SYS, true)
    5004     {
     5714  private static final Primitive INSPECTED_PARTS = new pf_inspected_parts();
     5715  private static final class pf_inspected_parts extends Primitive {
     5716      pf_inspected_parts()
     5717      {
     5718        super("inspected-parts", PACKAGE_SYS, true);
     5719      }
     5720 
    50055721      @Override
    50065722      public LispObject execute(LispObject arg)
     
    50115727
    50125728  // ### inspected-description
    5013   private static final Primitive INSPECTED_DESCRIPTION =
    5014     new Primitive("inspected-description", PACKAGE_SYS, false)
    5015     {
     5729  private static final Primitive INSPECTED_DESCRIPTION = new pf_inspected_description();
     5730  private static final class pf_inspected_description extends Primitive {
     5731      pf_inspected_description()
     5732      {
     5733        super("inspected-description", PACKAGE_SYS, false);
     5734      }
     5735 
    50165736      @Override
    50175737      public LispObject execute(LispObject arg)
     
    50225742
    50235743  // ### symbol-name
    5024   public static final Primitive SYMBOL_NAME =
    5025     new Primitive(Symbol.SYMBOL_NAME, "symbol")
    5026     {
     5744  public static final Primitive SYMBOL_NAME = new pf_symbol_name();
     5745  private static final class pf_symbol_name extends Primitive {
     5746      pf_symbol_name()
     5747      {
     5748        super(Symbol.SYMBOL_NAME, "symbol");
     5749      }
     5750 
    50275751      @Override
    50285752      public LispObject execute(LispObject arg)
     
    50335757
    50345758  // ### symbol-package
    5035   public static final Primitive SYMBOL_PACKAGE =
    5036     new Primitive(Symbol.SYMBOL_PACKAGE, "symbol")
    5037     {
     5759  public static final Primitive SYMBOL_PACKAGE = new pf_symbol_package();
     5760  private static final class pf_symbol_package extends Primitive {
     5761      pf_symbol_package()
     5762      {
     5763        super(Symbol.SYMBOL_PACKAGE, "symbol");
     5764      }
     5765 
    50385766      @Override
    50395767      public LispObject execute(LispObject arg)
     
    50445772
    50455773  // ### symbol-function
    5046   public static final Primitive SYMBOL_FUNCTION =
    5047     new Primitive(Symbol.SYMBOL_FUNCTION, "symbol")
    5048     {
     5774  public static final Primitive SYMBOL_FUNCTION = new pf_symbol_function();
     5775  private static final class pf_symbol_function extends Primitive {
     5776      pf_symbol_function()
     5777      {
     5778        super(Symbol.SYMBOL_FUNCTION, "symbol");
     5779      }
     5780 
    50495781      @Override
    50505782      public LispObject execute(LispObject arg)
     
    50595791
    50605792  // ### %set-symbol-function
    5061   public static final Primitive _SET_SYMBOL_FUNCTION =
    5062     new Primitive("%set-symbol-function", PACKAGE_SYS, false, "symbol function")
    5063     {
     5793  public static final Primitive _SET_SYMBOL_FUNCTION = new pf__set_symbol_function();
     5794  private static final class pf__set_symbol_function extends Primitive {
     5795      pf__set_symbol_function()
     5796      {
     5797        super("%set-symbol-function", PACKAGE_SYS, false, "symbol function");
     5798      }
     5799 
    50645800      @Override
    50655801      public LispObject execute(LispObject first, LispObject second)
     
    50725808
    50735809  // ### symbol-plist
    5074   public static final Primitive SYMBOL_PLIST =
    5075     new Primitive(Symbol.SYMBOL_PLIST, "symbol")
    5076     {
     5810  public static final Primitive SYMBOL_PLIST = new pf_symbol_plist();
     5811  private static final class pf_symbol_plist extends Primitive {
     5812      pf_symbol_plist()
     5813      {
     5814        super(Symbol.SYMBOL_PLIST, "symbol");
     5815      }
     5816 
    50775817      @Override
    50785818      public LispObject execute(LispObject arg)
     
    50835823
    50845824  // ### keywordp
    5085   public static final Primitive KEYWORDP =
    5086     new Primitive(Symbol.KEYWORDP, "object")
    5087     {
     5825  public static final Primitive KEYWORDP = new pf_keywordp();
     5826  private static final class pf_keywordp extends Primitive {
     5827      pf_keywordp()
     5828      {
     5829        super(Symbol.KEYWORDP, "object");
     5830      }
     5831 
    50885832      @Override
    50895833      public LispObject execute(LispObject arg)
     
    50995843
    51005844  // ### make-symbol
    5101   public static final Primitive MAKE_SYMBOL =
    5102     new Primitive(Symbol.MAKE_SYMBOL, "name")
    5103     {
     5845  public static final Primitive MAKE_SYMBOL = new pf_make_symbol();
     5846  private static final class pf_make_symbol extends Primitive {
     5847      pf_make_symbol()
     5848      {
     5849        super(Symbol.MAKE_SYMBOL, "name");
     5850      }
     5851 
    51045852      @Override
    51055853      public LispObject execute(LispObject arg)
     
    51155863
    51165864  // ### makunbound
    5117   public static final Primitive MAKUNBOUND =
    5118     new Primitive(Symbol.MAKUNBOUND, "symbol")
    5119     {
     5865  public static final Primitive MAKUNBOUND = new pf_makunbound();
     5866  private static final class pf_makunbound extends Primitive {
     5867      pf_makunbound()
     5868      {
     5869        super(Symbol.MAKUNBOUND, "symbol");
     5870      }
     5871 
    51205872      @Override
    51215873      public LispObject execute(LispObject arg)
     
    51275879
    51285880  // ### %class-name
    5129   private static final Primitive _CLASS_NAME =
    5130     new Primitive("%class-name", PACKAGE_SYS, true, "class")
    5131     {
     5881  private static final Primitive _CLASS_NAME = new pf__class_name();
     5882  private static final class pf__class_name extends Primitive {
     5883      pf__class_name()
     5884      {
     5885        super("%class-name", PACKAGE_SYS, true, "class");
     5886      }
     5887 
    51325888      @Override
    51335889      public LispObject execute(LispObject arg)
     
    51385894
    51395895  // ### %set-class-name
    5140   private static final Primitive _SET_CLASS_NAME =
    5141     new Primitive("%set-class-name", PACKAGE_SYS, true)
    5142     {
     5896  private static final Primitive _SET_CLASS_NAME = new pf__set_class_name();
     5897  private static final class pf__set_class_name extends Primitive {
     5898      pf__set_class_name()
     5899      {
     5900        super("%set-class-name", PACKAGE_SYS, true);
     5901      }
     5902 
    51435903      @Override
    51445904      public LispObject execute(LispObject first, LispObject second)
     
    51515911
    51525912  // ### class-layout
    5153   private static final Primitive CLASS_LAYOUT =
    5154     new Primitive("class-layout", PACKAGE_SYS, true, "class")
    5155     {
     5913  private static final Primitive CLASS_LAYOUT = new pf_class_layout();
     5914  private static final class pf_class_layout extends Primitive {
     5915      pf_class_layout()
     5916      {
     5917        super("class-layout", PACKAGE_SYS, true, "class");
     5918      }
     5919 
    51565920      @Override
    51575921      public LispObject execute(LispObject arg)
     
    51635927
    51645928  // ### %set-class-layout
    5165   private static final Primitive _SET_CLASS_LAYOUT =
    5166     new Primitive("%set-class-layout", PACKAGE_SYS, true, "class layout")
    5167     {
     5929  private static final Primitive _SET_CLASS_LAYOUT = new pf__set_class_layout();
     5930  private static final class pf__set_class_layout extends Primitive {
     5931      pf__set_class_layout()
     5932      {
     5933        super("%set-class-layout", PACKAGE_SYS, true, "class layout");
     5934      }
     5935 
    51685936      @Override
    51695937      public LispObject execute(LispObject first, LispObject second)
     
    51805948
    51815949  // ### class-direct-superclasses
    5182   private static final Primitive CLASS_DIRECT_SUPERCLASSES =
    5183     new Primitive("class-direct-superclasses", PACKAGE_SYS, true)
    5184     {
     5950  private static final Primitive CLASS_DIRECT_SUPERCLASSES = new pf_class_direct_superclasses();
     5951  private static final class pf_class_direct_superclasses extends Primitive {
     5952      pf_class_direct_superclasses()
     5953      {
     5954        super("class-direct-superclasses", PACKAGE_SYS, true);
     5955      }
     5956 
    51855957      @Override
    51865958      public LispObject execute(LispObject arg)
     
    51915963
    51925964  // ### %set-class-direct-superclasses
    5193   private static final Primitive _SET_CLASS_DIRECT_SUPERCLASSES =
    5194     new Primitive("%set-class-direct-superclasses", PACKAGE_SYS, true)
    5195     {
     5965  private static final Primitive _SET_CLASS_DIRECT_SUPERCLASSES = new pf__set_class_direct_superclasses();
     5966  private static final class pf__set_class_direct_superclasses extends Primitive {
     5967      pf__set_class_direct_superclasses()
     5968      {
     5969        super("%set-class-direct-superclasses", PACKAGE_SYS, true);
     5970      }
     5971 
    51965972      @Override
    51975973      public LispObject execute(LispObject first, LispObject second)
     
    52045980
    52055981  // ### class-direct-subclasses
    5206   private static final Primitive CLASS_DIRECT_SUBCLASSES =
    5207     new Primitive("class-direct-subclasses", PACKAGE_SYS, true)
    5208     {
     5982  private static final Primitive CLASS_DIRECT_SUBCLASSES = new pf_class_direct_subclasses();
     5983  private static final class pf_class_direct_subclasses extends Primitive {
     5984      pf_class_direct_subclasses()
     5985      {
     5986        super("class-direct-subclasses", PACKAGE_SYS, true);
     5987      }
     5988 
    52095989      @Override
    52105990      public LispObject execute(LispObject arg)
     
    52155995
    52165996  // ### %set-class-direct-subclasses
    5217   private static final Primitive _SET_CLASS_DIRECT_SUBCLASSES =
    5218     new Primitive("%set-class-direct-subclasses", PACKAGE_SYS, true,
    5219                   "class direct-subclasses")
    5220     {
     5997  private static final Primitive _SET_CLASS_DIRECT_SUBCLASSES = new pf__set_class_direct_subclasses();
     5998  private static final class pf__set_class_direct_subclasses extends Primitive {
     5999      pf__set_class_direct_subclasses()
     6000      {
     6001        super("%set-class-direct-subclasses", PACKAGE_SYS, true,
     6002                  "class direct-subclasses");
     6003      }
     6004 
    52216005      @Override
    52226006      public LispObject execute(LispObject first, LispObject second)
     
    52296013
    52306014  // ### %class-precedence-list
    5231   private static final Primitive _CLASS_PRECEDENCE_LIST =
    5232     new Primitive("%class-precedence-list", PACKAGE_SYS, true)
    5233     {
     6015  private static final Primitive _CLASS_PRECEDENCE_LIST = new pf__class_precedence_list();
     6016  private static final class pf__class_precedence_list extends Primitive {
     6017      pf__class_precedence_list()
     6018      {
     6019        super("%class-precedence-list", PACKAGE_SYS, true);
     6020      }
     6021 
    52346022      @Override
    52356023      public LispObject execute(LispObject arg)
     
    52406028
    52416029  // ### set-class-precedence-list
    5242   private static final Primitive SET_CLASS_PRECEDENCE_LIST =
    5243     new Primitive("set-class-precedence-list", PACKAGE_SYS, true)
    5244     {
     6030  private static final Primitive SET_CLASS_PRECEDENCE_LIST = new pf_set_class_precedence_list();
     6031  private static final class pf_set_class_precedence_list extends Primitive {
     6032      pf_set_class_precedence_list()
     6033      {
     6034        super("set-class-precedence-list", PACKAGE_SYS, true);
     6035      }
     6036 
    52456037      @Override
    52466038      public LispObject execute(LispObject first, LispObject second)
     
    52536045
    52546046  // ### class-direct-methods
    5255   private static final Primitive CLASS_DIRECT_METHODS =
    5256     new Primitive("class-direct-methods", PACKAGE_SYS, true)
    5257     {
     6047  private static final Primitive CLASS_DIRECT_METHODS = new pf_class_direct_methods();
     6048  private static final class pf_class_direct_methods extends Primitive {
     6049      pf_class_direct_methods()
     6050      {
     6051        super("class-direct-methods", PACKAGE_SYS, true);
     6052      }
     6053 
    52586054      @Override
    52596055      public LispObject execute(LispObject arg)
     
    52656061
    52666062  // ### %set-class-direct-methods
    5267   private static final Primitive _SET_CLASS_DIRECT_METHODS =
    5268     new Primitive("%set-class-direct-methods", PACKAGE_SYS, true)
    5269     {
     6063  private static final Primitive _SET_CLASS_DIRECT_METHODS = new pf__set_class_direct_methods();
     6064  private static final class pf__set_class_direct_methods extends Primitive {
     6065      pf__set_class_direct_methods()
     6066      {
     6067        super("%set-class-direct-methods", PACKAGE_SYS, true);
     6068      }
     6069 
    52706070      @Override
    52716071      public LispObject execute(LispObject first, LispObject second)
     
    52786078
    52796079  // ### class-documentation
    5280   private static final Primitive CLASS_DOCUMENTATION =
    5281     new Primitive("class-documentation", PACKAGE_SYS, true)
    5282     {
     6080  private static final Primitive CLASS_DOCUMENTATION = new pf_class_documentation();
     6081  private static final class pf_class_documentation extends Primitive {
     6082      pf_class_documentation()
     6083      {
     6084        super("class-documentation", PACKAGE_SYS, true);
     6085      }
     6086 
    52836087      @Override
    52846088      public LispObject execute(LispObject arg)
     
    52906094
    52916095  // ### %set-class-documentation
    5292   private static final Primitive _SET_CLASS_DOCUMENTATION =
    5293     new Primitive("%set-class-documentation", PACKAGE_SYS, true)
    5294     {
     6096  private static final Primitive _SET_CLASS_DOCUMENTATION = new pf__set_class_documentation();
     6097  private static final class pf__set_class_documentation extends Primitive {
     6098      pf__set_class_documentation()
     6099      {
     6100        super("%set-class-documentation", PACKAGE_SYS, true);
     6101      }
     6102 
    52956103      @Override
    52966104      public LispObject execute(LispObject first, LispObject second)
     
    53036111
    53046112  // ### class-finalized-p
    5305   private static final Primitive CLASS_FINALIZED_P =
    5306     new Primitive("class-finalized-p", PACKAGE_SYS, true)
    5307     {
     6113  private static final Primitive CLASS_FINALIZED_P = new pf_class_finalized_p();
     6114  private static final class pf_class_finalized_p extends Primitive {
     6115      pf_class_finalized_p()
     6116      {
     6117        super("class-finalized-p", PACKAGE_SYS, true);
     6118      }
     6119 
    53086120      @Override
    53096121      public LispObject execute(LispObject arg)
     
    53146126
    53156127  // ### %set-class-finalized-p
    5316   private static final Primitive _SET_CLASS_FINALIZED_P =
    5317     new Primitive("%set-class-finalized-p", PACKAGE_SYS, true)
    5318     {
     6128  private static final Primitive _SET_CLASS_FINALIZED_P = new pf__set_class_finalized_p();
     6129  private static final class pf__set_class_finalized_p extends Primitive {
     6130      pf__set_class_finalized_p()
     6131      {
     6132        super("%set-class-finalized-p", PACKAGE_SYS, true);
     6133      }
     6134 
    53196135      @Override
    53206136      public LispObject execute(LispObject first, LispObject second)
     
    53276143
    53286144  // ### classp
    5329   private static final Primitive CLASSP =
    5330     new Primitive("classp", PACKAGE_EXT, true)
    5331     {
     6145  private static final Primitive CLASSP = new pf_classp();
     6146  private static final class pf_classp extends Primitive {
     6147      pf_classp()
     6148      {
     6149        super("classp", PACKAGE_EXT, true);
     6150      }
     6151 
    53326152      @Override
    53336153      public LispObject execute(LispObject arg)
     
    53386158
    53396159  // ### char-to-utf8 char => octets
    5340   private static final Primitive CHAR_TO_UTF8 =
    5341     new Primitive("char-to-utf8", PACKAGE_EXT, true)
    5342     {
     6160  private static final Primitive CHAR_TO_UTF8 = new pf_char_to_utf8();
     6161  private static final class pf_char_to_utf8 extends Primitive {
     6162      pf_char_to_utf8()
     6163      {
     6164        super("char-to-utf8", PACKAGE_EXT, true);
     6165      }
     6166 
    53436167      @Override
    53446168      public LispObject execute(LispObject arg)
     
    53716195
    53726196  // ### %documentation
    5373   private static final Primitive _DOCUMENTATION =
    5374     new Primitive("%documentation", PACKAGE_SYS, true,
    5375                   "object doc-type")
    5376     {
     6197  private static final Primitive _DOCUMENTATION = new pf__documentation();
     6198  private static final class pf__documentation extends Primitive {
     6199      pf__documentation()
     6200      {
     6201        super("%documentation", PACKAGE_SYS, true,
     6202                  "object doc-type");
     6203      }
     6204 
    53776205      @Override
    53786206      public LispObject execute(LispObject object, LispObject docType)
     
    53946222
    53956223  // ### %set-documentation
    5396   private static final Primitive _SET_DOCUMENTATION =
    5397     new Primitive("%set-documentation", PACKAGE_SYS, true,
    5398                   "object doc-type documentation")
    5399     {
     6224  private static final Primitive _SET_DOCUMENTATION = new pf__set_documentation();
     6225  private static final class pf__set_documentation extends Primitive {
     6226      pf__set_documentation()
     6227      {
     6228        super("%set-documentation", PACKAGE_SYS, true,
     6229                  "object doc-type documentation");
     6230      }
     6231 
    54006232      @Override
    54016233      public LispObject execute(LispObject object, LispObject docType,
     
    54096241
    54106242  // ### %putf
    5411   private static final Primitive _PUTF =
    5412     new Primitive("%putf", PACKAGE_SYS, true,
    5413                   "plist indicator new-value")
    5414     {
     6243  private static final Primitive _PUTF = new pf__putf();
     6244  private static final class pf__putf extends Primitive {
     6245      pf__putf()
     6246      {
     6247        super("%putf", PACKAGE_SYS, true,
     6248                  "plist indicator new-value");
     6249      }
     6250 
    54156251      @Override
    54166252      public LispObject execute(LispObject plist, LispObject indicator,
     
    54236259
    54246260  // ### function-plist
    5425   private static final Primitive FUNCTION_PLIST =
    5426     new Primitive("function-plist", PACKAGE_SYS, true, "function")
    5427     {
     6261  private static final Primitive FUNCTION_PLIST = new pf_function_plist();
     6262  private static final class pf_function_plist extends Primitive {
     6263      pf_function_plist()
     6264      {
     6265        super("function-plist", PACKAGE_SYS, true, "function");
     6266      }
     6267 
    54286268      @Override
    54296269      public LispObject execute(LispObject arg)
     
    54346274
    54356275  // ### make-keyword
    5436   private static final Primitive MAKE_KEYWORD =
    5437     new Primitive("make-keyword", PACKAGE_SYS, true, "symbol")
    5438     {
     6276  private static final Primitive MAKE_KEYWORD = new pf_make_keyword();
     6277  private static final class pf_make_keyword extends Primitive {
     6278      pf_make_keyword()
     6279      {
     6280        super("make-keyword", PACKAGE_SYS, true, "symbol");
     6281      }
     6282 
    54396283      @Override
    54406284      public LispObject execute(LispObject arg)
     
    54456289
    54466290  // ### standard-object-p object => generalized-boolean
    5447   private static final Primitive STANDARD_OBJECT_P =
    5448     new Primitive("standard-object-p", PACKAGE_SYS, true, "object")
    5449     {
     6291  private static final Primitive STANDARD_OBJECT_P = new pf_standard_object_p();
     6292  private static final class pf_standard_object_p extends Primitive {
     6293      pf_standard_object_p()
     6294      {
     6295        super("standard-object-p", PACKAGE_SYS, true, "object");
     6296      }
     6297 
    54506298      @Override
    54516299      public LispObject execute(LispObject arg)
     
    54566304
    54576305  // ### copy-tree
    5458   private static final Primitive COPY_TREE =
    5459     new Primitive(Symbol.COPY_TREE, "object")
    5460     {
     6306  private static final Primitive COPY_TREE = new pf_copy_tree();
     6307  private static final class pf_copy_tree extends Primitive {
     6308      pf_copy_tree()
     6309      {
     6310        super(Symbol.COPY_TREE, "object");
     6311      }
     6312 
    54616313      @Override
    54626314      public LispObject execute(LispObject arg)
Note: See TracChangeset for help on using the changeset viewer.