unsafe-car, unsafe-cdr

This commit is contained in:
Danny Yoo 2012-01-10 10:51:13 -05:00
parent 03e4549587
commit 729e61cfae
2 changed files with 19 additions and 0 deletions

View File

@ -115,6 +115,9 @@
'hash-values
'string-copy
'unsafe-car
'unsafe-cdr
))
(define-predicate KernelPrimitiveName? KernelPrimitiveName)

View File

@ -587,6 +587,13 @@
return baselib.lists.listRef(lst, baselib.numbers.toFixnum(index));
});
installPrimitiveProcedure(
'unsafe-car',
1,
function (M) {
var firstArg = checkAny(M, 'unsafe-car', 0);
return firstArg.first;
});
installPrimitiveProcedure(
'car',
@ -610,6 +617,15 @@
var firstArg = checkCadrPair(M, 'cadr', 0);
return firstArg.first.rest;
});
installPrimitiveProcedure(
'unsafe-cdr',
1,
function (M) {
var firstArg = checkAny(M, 'unsafe-cdr', 0);
return firstArg.rest;
});
installPrimitiveProcedure(
'cdr',
1,