Changeset 5005


Ignore:
Timestamp:
12/07/03 17:43:06 (18 years ago)
Author:
piso
Message:

1+, 1-

File:
1 edited

Legend:

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

    r5004 r5005  
    33 *
    44 * Copyright (C) 2002-2003 Peter Graves
    5  * $Id: Primitives.java,v 1.511 2003-12-07 17:27:33 piso Exp $
     5 * $Id: Primitives.java,v 1.512 2003-12-07 17:43:06 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    5757    private static final int MAKE_SYMBOL                = 24;
    5858    private static final int MAKUNBOUND                 = 25;
    59     private static final int PREDECESSOR                = 26;
    6059    private static final int SIMPLE_BIT_VECTOR_P        = 28;
    6160    private static final int SIMPLE_STRING_P            = 29;
    6261    private static final int SIMPLE_VECTOR_P            = 30;
    6362    private static final int STRINGP                    = 31;
    64     private static final int SUCCESSOR                  = 32;
    6563    private static final int SYMBOL_FUNCTION            = 33;
    6664    private static final int SYMBOL_NAME                = 34;
     
    7775        definePrimitive("min", MIN);
    7876
    79         definePrimitive1("1+", SUCCESSOR);
    80         definePrimitive1("1-", PREDECESSOR);
    8177        definePrimitive1("abs", ABS);
    8278        definePrimitive1("array-has-fill-pointer-p", ARRAY_HAS_FILL_POINTER_P);
     
    253249            case SIMPLE_STRING_P:               // ### simple-string-p
    254250                return arg.SIMPLE_STRING_P();
    255             case SUCCESSOR:                     // ### 1+
    256                 return arg.incr();
    257             case PREDECESSOR:                   // ### 1-
    258                 return arg.decr();
    259251            case EVAL:                          // ### eval
    260252                return eval(arg, new Environment(), LispThread.currentThread());
     
    550542                result = result.add(args[i]);
    551543            return result;
     544        }
     545    };
     546
     547    private static final Primitive1 SUCCESSOR = new Primitive1("1+")
     548    {
     549        public LispObject execute(LispObject arg) throws ConditionThrowable
     550        {
     551            return arg.incr();
    552552        }
    553553    };
     
    578578                }
    579579            }
     580        }
     581    };
     582
     583    private static final Primitive1 PREDECESSOR = new Primitive1("1-")
     584    {
     585        public LispObject execute(LispObject arg) throws ConditionThrowable
     586        {
     587            return arg.decr();
    580588        }
    581589    };
Note: See TracChangeset for help on using the changeset viewer.