Changeset 4902


Ignore:
Timestamp:
11/28/03 05:41:53 (18 years ago)
Author:
piso
Message:

LENGTH
SPECIAL-OPERATOR-P

File:
1 edited

Legend:

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

    r4836 r4902  
    33 *
    44 * Copyright (C) 2002-2003 Peter Graves
    5  * $Id: Primitives.java,v 1.504 2003-11-19 14:45:53 piso Exp $
     5 * $Id: Primitives.java,v 1.505 2003-11-28 05:41:53 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    5555    private static final int IDENTITY                   = 21;
    5656    private static final int KEYWORDP                   = 22;
    57     private static final int LENGTH                     = 23;
    58     private static final int LISTP                      = 24;
    59     private static final int LOWER_CASE_P               = 25;
    60     private static final int MAKE_SYMBOL                = 26;
    61     private static final int MAKUNBOUND                 = 27;
    62     private static final int NUMBERP                    = 28;
    63     private static final int ODDP                       = 29;
    64     private static final int PREDECESSOR                = 30;
    65     private static final int SECOND                     = 31;
    66     private static final int SIMPLE_BIT_VECTOR_P        = 32;
    67     private static final int SIMPLE_STRING_P            = 33;
    68     private static final int SIMPLE_VECTOR_P            = 34;
    69     private static final int SPECIAL_OPERATOR_P         = 35;
    70     private static final int STRINGP                    = 36;
    71     private static final int SUCCESSOR                  = 37;
    72     private static final int SYMBOL_FUNCTION            = 38;
    73     private static final int SYMBOL_NAME                = 39;
    74     private static final int SYMBOL_PACKAGE             = 40;
    75     private static final int SYMBOL_PLIST               = 41;
    76     private static final int THIRD                      = 42;
    77     private static final int UPPER_CASE_P               = 43;
    78     private static final int VECTORP                    = 44;
     57    private static final int LISTP                      = 23;
     58    private static final int LOWER_CASE_P               = 24;
     59    private static final int MAKE_SYMBOL                = 25;
     60    private static final int MAKUNBOUND                 = 26;
     61    private static final int NUMBERP                    = 27;
     62    private static final int ODDP                       = 28;
     63    private static final int PREDECESSOR                = 29;
     64    private static final int SECOND                     = 30;
     65    private static final int SIMPLE_BIT_VECTOR_P        = 31;
     66    private static final int SIMPLE_STRING_P            = 32;
     67    private static final int SIMPLE_VECTOR_P            = 33;
     68    private static final int STRINGP                    = 34;
     69    private static final int SUCCESSOR                  = 35;
     70    private static final int SYMBOL_FUNCTION            = 36;
     71    private static final int SYMBOL_NAME                = 37;
     72    private static final int SYMBOL_PACKAGE             = 38;
     73    private static final int SYMBOL_PLIST               = 39;
     74    private static final int THIRD                      = 40;
     75    private static final int UPPER_CASE_P               = 41;
     76    private static final int VECTORP                    = 42;
    7977
    8078    // Primitive2
    81     private static final int MEMBER                     = 45;
    82     private static final int RPLACA                     = 46;
    83     private static final int RPLACD                     = 47;
     79    private static final int MEMBER                     = 43;
     80    private static final int RPLACA                     = 44;
     81    private static final int RPLACD                     = 45;
    8482
    8583    private Primitives()
     
    110108        definePrimitive1("identity", IDENTITY);
    111109        definePrimitive1("keywordp", KEYWORDP);
    112         definePrimitive1("length", LENGTH);
    113110        definePrimitive1("listp", LISTP);
    114111        definePrimitive1("lower-case-p", LOWER_CASE_P);
     
    121118        definePrimitive1("simple-string-p", SIMPLE_STRING_P);
    122119        definePrimitive1("simple-vector-p", SIMPLE_VECTOR_P);
    123         definePrimitive1("special-operator-p", SPECIAL_OPERATOR_P);
    124120        definePrimitive1("stringp", STRINGP);
    125121        definePrimitive1("symbol-function", SYMBOL_FUNCTION);
     
    208204                }
    209205                return NIL;
    210             case SPECIAL_OPERATOR_P:            // ### special-operator-p
    211                 return arg.getSymbolFunction() instanceof SpecialOperator ? T : NIL;
    212206            case EVENP:                         // ### evenp
    213207                return arg.EVENP();
     
    216210            case NUMBERP:                       // ### numberp
    217211                return arg.NUMBERP();
    218             case LENGTH:                        // ### length
    219                 return arg.LENGTH();
    220212            case CONSP:                         // ### consp
    221213                return arg instanceof Cons ? T : NIL;
     
    408400
    409401    // ### cons
    410     private static final Primitive2 CONS = new Primitive2("cons") {
     402    private static final Primitive2 CONS = new Primitive2("cons")
     403    {
    411404        public LispObject execute(LispObject first, LispObject second)
    412405            throws ConditionThrowable
     
    416409    };
    417410
     411    // ### length
     412    private static final Primitive1 LENGTH = new Primitive1("length")
     413    {
     414        public LispObject execute(LispObject arg) throws ConditionThrowable
     415        {
     416            return arg.LENGTH();
     417        }
     418    };
     419
    418420    // ### elt
    419     private static final Primitive2 ELT = new Primitive2("elt") {
     421    private static final Primitive2 ELT = new Primitive2("elt")
     422    {
    420423        public LispObject execute(LispObject first, LispObject second)
    421424            throws ConditionThrowable
     
    426429
    427430    // ### atom
    428     private static final Primitive1 ATOM = new Primitive1("atom") {
     431    private static final Primitive1 ATOM = new Primitive1("atom")
     432    {
    429433        public LispObject execute(LispObject arg) throws ConditionThrowable
    430434        {
     
    453457        {
    454458            return (arg instanceof Function || arg instanceof GenericFunction) ? T : NIL;
     459        }
     460    };
     461
     462    // ### special-operator-p
     463    private static final Primitive1 SPECIAL_OPERATOR_P =
     464        new Primitive1("special-operator-p")
     465    {
     466        public LispObject execute(LispObject arg) throws ConditionThrowable
     467        {
     468            return arg.getSymbolFunction() instanceof SpecialOperator ? T : NIL;
    455469        }
    456470    };
Note: See TracChangeset for help on using the changeset viewer.