Open cbaggers opened 6 years ago
I did a rough scan of the spec. Here's the list (purely based on my gut feeling)
~symbolp~ ~keywordp~ ~row-major-aref~ ~svref~ ~array-rank~ ~array-row-major-index~ ~array-total-size~ ~adjustable-array-p~ ~array-has-fill-pointer-p~ ~arrayp~ ~bit-vector-p~ ~simple-bit-vector-p~ ~simple-vector-p~ ~vectorp~ ~compiled-function-p~ ~functionp~ ~1+~ ~1-~ ~cis~ ~float (add optional args)~ ~integer-length~ ~signum~ ~conjugate~ ~random-state-p~ (though just false for now) ~complexp~ ~evenp~ ~floatp~ ~integerp~ ~minusp~ ~numberp~ ~oddp~ ~plusp~ ~rationalp~ ~realp~ ~zerop~ ~copy-structure~ ~prog2~ ~dotimes~ rem ~typecase~
~phase~ ~isqrt~ ~logand~ ~logandc1~ ~logandc2~ ~logcount~ ~logeqv~ ~logior~ ~lognand~ ~lognor~ ~lognot~ ~logorc1~ ~logorc2~ ~logtest~ ~logxor~ ~with-accessors~ ~multiple-value-setq~ ~nth-value~ scale-float rotatef shiftf
~with-slots (id want this to work on structs)~ floor (check api) fceiling ffloor fround ftruncate round truncate ceiling (check api)
~complement~ ~log (with optional arg)~ rational rationalize decode-float float-digits float-precision float-radix float-sign integer-decode-float every ;;-| notany ;; | notevery ;; |-- impl depends on if we go the sequence route some ;; | constantly ;;-| constantp ~coerce~ random make-random-state (could be a seed for some rand func. however cl's random hard on gpu) do do* setf expanders
copy-seq make-sequence subseq concatenate elt map reduce reverse length search mismatch find find-if find-if-not count count-if count-if-not position position-if position-if-not remove remove-duplicates remove-if remove-if-not substitute substitute-if substitute-if-not delete delete-duplicates delete-if delete-if-not nsubstitute nsubstitute-if nsubstitute-if-not nreverse replace stable-sort sort map-into merge fill
schar char make-string string string-capitalize string-downcase string-equal string-left-trim string-not-equal string-right-trim string-trim string-upcase string/= string< string<= string= string> string>= simple-string-p string-greaterp string-lessp string-not-greaterp string-not-lessp stringp nstring-capitalize nstring-downcase nstring-upcase name-char code-char digit-char char-code char-downcase char-equal char-int char-name char-not-equal char-upcase char/= char< char<= char= char> char>= character upper-case-p char-greaterp lower-case-p char-lessp both-case-p char-not-greaterp char-not-lessp characterp alpha-char-p alphanumericp digit-char-p graphic-char-p standard-char-p gcd - too slow lcm - too slow because uses gcd
definitely not adding strings or chars
a nice to have could be (<) or (>) support for multiple values
Good call! I'll look into that
use tamei as a guide