Move string-length to non-primitive
authorDavid Vázquez <davazp@gmail.com>
Fri, 24 May 2013 01:49:49 +0000 (02:49 +0100)
committerDavid Vázquez <davazp@gmail.com>
Fri, 24 May 2013 01:49:49 +0000 (02:49 +0100)
src/compiler.lisp
src/string.lisp

index 09d5c0a..5dd0084 100644 (file)
 (define-builtin string-upcase (x)
   (code "make_lisp_string(xstring(" x ").toUpperCase())"))
 
-(define-builtin string-length (x)
-  (code x ".length"))
-
 (define-raw-builtin slice (vector a &optional b)
   (js!selfcall
     "var vector = " (ls-compile vector) ";" *newline*
index 574c8b7..1bb322b 100644 (file)
@@ -16,6 +16,9 @@
 (defun stringp (s)
   (stringp s))
 
+(defun string-length (string)
+  (storage-vector-size string))
+
 (defun make-string (n &key initial-element)
   (make-array n :element-type 'character :initial-element initial-element))