[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Limit on number of arguments. Any way around this?



There seems to be an inherent limit on the maximum number
of arguments that can be passed to a procedure (obviously,
I mean one that allows variable number of arguments in
the first place).  It's about 64.

Can anyone suggest a way to get around this?  We are
running T 3.0 on Apollo 3000's (fix 17).  

Sample behaviors:


>>> (apply polygon (iota 64))  ;;; This is from Jim Firby's windows package

;0 Calling POLYGON with arguments (64 63 62 61 60 59 58 57 56 55 54
53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10
9 8 7 6 5 4 3 2 1)
;0 Returned from POLYGON with values (#{Picture 26 POLYGON})
#{Picture 26 POLYGON}
>>>   (apply polygon (iota 66))

** Error: exceeded maximum number of arguments while applying #{Traced
24 #{Procedure 23 POLYGON}}

>>>>> (apply + (iota 75))

** Error: exceeded maximum number of arguments while applying #{Procedure
27 ADD}
>>>>>> (apply + (iota 64))
2080
   

It's not connected with the explicit APPLY::

 >>>>   (ADD 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46
45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24
23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1)
2080

>>>>   (ADD 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47
46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25
24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1)

** Error: exceeded maximum number of arguments while applying #{Procedure
27 ADD}

Thanks for any information or suggestions.

Mitch Marks