The setLastCdr function sets the last cdr component of the argument {obj} to the value of the expression {expr}, and returns the {obj} . This has special meaning in the case of lists, when the function traverses to the end of the list before setting the cdr. The argument {obj} may be a Pair, a Vector, a Matrix, List or a Structure.


The setCdr and setLastCdr functions behave exactly the same when the obj argument is a Vector or Matrix.


The setLastCdr function always adds a new cdr to a List or Pair. Unlike the setCdr function which replaces the the existing cdr with the expression.




(setLastCdr obj expr )

Arguments Name Type Description
Argument:objVector Pair Structure Matrix List NumMatrix The object to be modified.
Argument:exprCharacter String Symbol Vector BitVector ByteVector IntVector FltVector ObjVector Structure Dictionary Directory Pair List Matrix NumMatrix Integer Float Number Complex A cdr expression


The vector, list, pair, matrix or structure with the cdr set the the specified expression.



Here are a number of links to Lambda coding examples which contain this instruction in various use cases.


Argument Types

Here are the links to the data types of the function arguments.

Character String Symbol Vector
BitVector ByteVector IntVector Pair
FltVector ObjVector Structure Dictionary
Directory Pair List Matrix
NumMatrix Integer Float Number

Here are also a number of links to functions having arguments with any of these data types.

++ += + /=
/ *= * --
-= - abs acos
add1 addMethod addi appendWriteln
append apply argument arithmetic
asin associate atan avg
badd balance bdiv binaryInsert
binaryNand binaryNor binaryNot binaryNxor
binarySearch bitToIntegerVector bitToNumberVector bitwiseAnd
bitwiseNand bitwiseNor bitwiseNot bitwiseNxor
bitwiseOr bitwiseShiftLeft bitwiseShiftRight bitwiseXor
bmod bmul boolean c::r
cadd car ccompareEQ ccompareGE
ccompareGT ccompareLE ccompareLT ccompareNE
cdiv cdr char character
class clean closeLog cmod
cmul code compareEQ compareGE
compareGT compareLE compareLT compareNE
compare comparison compile complex
compress conjugate cons copy
cos cosh count csub
date day days360 debugBrowsableProcs
debugDetective debugEval debug decode
defchild defclass define(macro) defineStructure
define defmacro defmethod deforphan
defriend defstruct defun deg
deleteRows delete dimension disassemble
display divi downcase encode
evalInSyncLocalContext eval exit exp
exportCsv exportSbf exportTab expt
fact fdisplay fieldsOf fileClose
fileCopy fileDir fileDisplay fileEraseDir
fileErase fileExists fileMakeDir fileOpen
fileReadAll fileReadRecord fileRead fileResize
fileSeek fileSizeOf fileWriteAll fileWrite
filewriteln findBlock find floor
fraction freeBlock gc gcd
getGlobalValue getRecursionCount getSymbolTable getTickCount
globalBinding hashString hour iadd
icompareEQ icompareGE icompareGT icompareLE
icompareLT icompareNE idiv imaginary
imod importCsv importSbf importTab
imul insertRows insert inside
inspect integer isAtom isBitVector
isBoolean isBound isByteVector isCharAlphabetic
isCharAlphanumeric isCharLowercase isCharName isCharNumeric
isCharUppercase isCharWhitespace isChar isCharacter
isClass isComplex isDate isDictionary
isDirectory isEqual isError isEven
isExact isFloatVector isIdentical isInexact
isInside isIntegerVector isInteger isLambda
isMatrix isMember isMoney isNegative
isNull isNumberMatrix isNumberVector isNumber
isObjectVector isObject isOdd isPair
isPcodeVector isPositive isString isStructure
isSymbol isText isType isVector
isZero isub julian kurtosis
last lcm left length
lisp list loadModule loadObject
loadRepository loadWorkspace lock log10
log2 log logbase macroReplace
makeDictionary makeGaussianMatrix makeGramMatrix makeQuotedList
makeQuotedSymbol makeStructure map mapc
matrixGaussianEliminate matrixGaussianSubstitute max median
member methodsOf mid min
minute mod modi money
month morph muli nadd
ncompareEQ ncompareGE ncompareGT ncompareLE
ncompareLT ncompareNE ndiv new
nmod nmul now nsub
number objectToDictionary objectToDirectory objectToList
objectToMatrix objectToNumMatrix objectToNumVector objectToStructure
objectToVector offset openLog pair
parent parse pi pointer
preAllocateFixedMemoryBlocks product proplist proprecord
putprop qt quote rad
random randomize range rank
real refAttributes refValues ref
remProp remove rename replace
rept resize reverse right
round run saveImmediate saveModule
saveObject saveRepository saveWorkspace second
send setAttributes setBlock setCar
setCdr setLastCdr set setf
setq sigmoid sign sin
sinh sizeof skew sleep
sort sql sqrt srandom
stdev stdevp stringCiEQ stringCiGE
stringCiGT stringCiLE stringCiLT stringCiNE
stringFill stringToBVector stringToVector string
sub1 subi submit substitute
substringCiEQ substringCiGE substringCiGT substringCiLE
substringCiLT substringCiNE substringEQ substringFill
substringGE substringGT substringLE substringLT
substringNE substring sum sumsqr
super svmRegression symbolToTypeCode symbol
system tan tanh text
time trim type uncompress
uniqueInsert unlock upcase var
varp vectorBinaryInnerProduct vectorBipolarInnerProduct vectorCosineInnerProduct
vectorCubeInnerProduct vectorDelete vectorExpInnerProduct vectorFill
vectorInnerProduct vectorLogInnerProduct vectorQuartInnerProduct vectorQuintInnerProduct
vectorSigmoidInnerProduct vectorSineInnerProduct vectorSquareInnerProduct vectorTanInnerProduct
vectorTanhInnerProduct writelg writeln year

Analytic Information Server (AIS)

AIS Component Systems

  • Smartbase Engine
  • QT C++ Libraries
  • MySQL Relational Database
  • AIS Lisp Libraries
  • Rapid Analytic Demo IDE