adding more primitives
This commit is contained in:
parent
9a7811f9f1
commit
df065ed67f
|
@ -854,6 +854,92 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
installPrimitiveProcedure(
|
||||||
|
'string-ci=?',
|
||||||
|
baselib.arity.makeArityAtLeast(1),
|
||||||
|
function (MACHINE) {
|
||||||
|
var s = checkString(MACHINE, 'string-ci=?', 0).toString().toUpperCase();
|
||||||
|
var i;
|
||||||
|
for (i = 1; i < MACHINE.argcount; i++) {
|
||||||
|
if (s !== checkString(MACHINE, 'string-ci=?', i).toString().toUpperCase()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
installPrimitiveProcedure(
|
||||||
|
'string-ci<=?',
|
||||||
|
baselib.arity.makeArityAtLeast(1),
|
||||||
|
function (MACHINE) {
|
||||||
|
var s = checkString(MACHINE, 'string-ci<=?', 0).toString().toUpperCase();
|
||||||
|
var i;
|
||||||
|
for (i = 1; i < MACHINE.argcount; i++) {
|
||||||
|
if (! (s <= checkString(MACHINE, 'string-ci<=?', i).toString().toUpperCase())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
installPrimitiveProcedure(
|
||||||
|
'string-ci<?',
|
||||||
|
baselib.arity.makeArityAtLeast(1),
|
||||||
|
function (MACHINE) {
|
||||||
|
var s = checkString(MACHINE, 'string-ci<?', 0).toString().toUpperCase();
|
||||||
|
var i;
|
||||||
|
for (i = 1; i < MACHINE.argcount; i++) {
|
||||||
|
if (! (s < checkString(MACHINE, 'string-ci<?', i).toString().toUpperCase())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
installPrimitiveProcedure(
|
||||||
|
'string-ci>=?',
|
||||||
|
baselib.arity.makeArityAtLeast(1),
|
||||||
|
function (MACHINE) {
|
||||||
|
var s = checkString(MACHINE, 'string-ci>=?', 0).toString().toUpperCase();
|
||||||
|
var i;
|
||||||
|
for (i = 1; i < MACHINE.argcount; i++) {
|
||||||
|
if (! (s >= checkString(MACHINE, 'string-ci>=?', i).toString().toUpperCase())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
installPrimitiveProcedure(
|
||||||
|
'string-ci>?',
|
||||||
|
baselib.arity.makeArityAtLeast(1),
|
||||||
|
function (MACHINE) {
|
||||||
|
var s = checkString(MACHINE, 'string-ci>?', 0).toString().toUpperCase();
|
||||||
|
var i;
|
||||||
|
for (i = 1; i < MACHINE.argcount; i++) {
|
||||||
|
if (! (s > checkString(MACHINE, 'string-ci>?', i).toString().toUpperCase())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
installPrimitiveProcedure(
|
installPrimitiveProcedure(
|
||||||
'string-append',
|
'string-append',
|
||||||
baselib.arity.makeArityAtLeast(0),
|
baselib.arity.makeArityAtLeast(0),
|
||||||
|
|
|
@ -365,15 +365,16 @@ memq
|
||||||
string-length
|
string-length
|
||||||
string-ref
|
string-ref
|
||||||
string=?
|
string=?
|
||||||
;; string-ci=?
|
string<?
|
||||||
;; string<?
|
string>?
|
||||||
;; string>?
|
string<=?
|
||||||
;; string<=?
|
string>=?
|
||||||
;; string>=?
|
string-ci=?
|
||||||
;; string-ci<?
|
string-ci<?
|
||||||
;; string-ci>?
|
string-ci>?
|
||||||
;; string-ci<=?
|
string-ci<=?
|
||||||
;; string-ci>=?
|
string-ci>=?
|
||||||
|
|
||||||
substring
|
substring
|
||||||
string-append
|
string-append
|
||||||
string->list
|
string->list
|
||||||
|
|
|
@ -30,3 +30,10 @@
|
||||||
(string->list "xyz")
|
(string->list "xyz")
|
||||||
(string->list "x")
|
(string->list "x")
|
||||||
(string->list "")
|
(string->list "")
|
||||||
|
|
||||||
|
|
||||||
|
(string<? "" "")
|
||||||
|
(string<? "hello" "Hello")
|
||||||
|
(string<? "hello" "hello")
|
||||||
|
(string<? "hello" "hi")
|
||||||
|
(string<? "hello" "he")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user