shithub: sl

Download patch

ref: 49d1f2e3183cf3b57c800b998601b40463638ed2
parent: a39283b2e8309b551459f992bc981da20c11e3cd
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Fri Mar 14 01:06:42 EDT 2025

array → arr

--- a/boot/sl.boot
+++ b/boot/sl.boot
@@ -89,7 +89,7 @@
 	    arg-counts #table(bound? 1  function? 1  symbol? 1  car 1  cons 2  cadr 1  nan? 1  for 3  fixnum? 1  cdr 1  atom? 1  div0 2  vec? 1  equal? 2  eqv? 2  compare 2  not 1  set-cdr! 2  num? 1  eq? 2  builtin? 1  cons? 1  set-car! 2)
 	    argc-error #fn("n2702102211Kl237023@402465:" #(error "compile error: " " expects " " argument."
 							   " arguments.") argc-error)
-	    array? #fn("n10];JF042005185B;390485<21Q:" #(#fn(typeof) array) array?) assoc
+	    arr? #fn("n10];JF042005185B;390485<21Q:" #(#fn(typeof) arr) arr?) assoc
 	    #fn("n2701510d3501<:13:07101=62:q:" #(caar assoc) assoc) assv #fn("n2701510c3501<:13:07101=62:q:" #(caar
   assv) assv)
 	    bcode:indexfor #fn("n20KG0r2G20861523:02186162:2286187534870r287KMp4:" #(#fn(has?)
--- a/src/builtins.c
+++ b/src/builtins.c
@@ -108,7 +108,7 @@
 			return fixnum(runelen(*(Rune*)cp_data(cv)));
 	}
 	if(iscvalue(a) && cv_class(ptr(a))->eltype != nil)
-		return size_wrap(cvalue_arraylen(a));
+		return size_wrap(cvalue_arrlen(a));
 	if(isvec(a))
 		return size_wrap(vec_size(a));
 	if(ishashtable(a)){
--- a/src/compress.c
+++ b/src/compress.c
@@ -13,8 +13,8 @@
 	if(nargs > 2)
 		argcount(nargs, 2);
 
-	if(!isarray(args[0]))
-		type_error("array", args[0]);
+	if(!isarr(args[0]))
+		type_error("arr", args[0]);
 	u8int *in;
 	usize insz;
 	to_sized_ptr(args[0], &in, &insz);
@@ -48,8 +48,8 @@
 	u8int *in;
 	usize insz;
 	to_sized_ptr(args[0], &in, &insz);
-	if(!isarray(args[0]))
-		type_error("array", args[0]);
+	if(!isarr(args[0]))
+		type_error("arr", args[0]);
 	usize outsz;
 	u8int *out;
 	sl_v v;
--- a/src/cvalues.c
+++ b/src/cvalues.c
@@ -353,13 +353,13 @@
 }
 
 bool
-isarray(sl_v v)
+isarr(sl_v v)
 {
 	return iscvalue(v) && cv_class(ptr(v))->eltype != nil;
 }
 
 static usize
-predict_arraylen(sl_v arg)
+predict_arrlen(sl_v arg)
 {
 	if(isvec(arg))
 		return vec_size(arg);
@@ -367,13 +367,13 @@
 		return llength(arg);
 	if(arg == sl_nil)
 		return 0;
-	if(isarray(arg))
-		return cvalue_arraylen(arg);
+	if(isarr(arg))
+		return cvalue_arrlen(arg);
 	return 1;
 }
 
 void
-cvalue_array_init(sl_type *ft, sl_v arg, void *dest)
+cvalue_arr_init(sl_type *ft, sl_v arg, void *dest)
 {
 	sl_v type = ft->type;
 	usize elsize, i, cnt, sz;
@@ -380,7 +380,7 @@
 	sl_type *eltype = ft->eltype;
 
 	elsize = ft->elsz;
-	cnt = predict_arraylen(arg);
+	cnt = predict_arrlen(arg);
 
 	if(iscons(cdr_(cdr_(type)))){
 		usize tc = tosize(car_(cdr_(cdr_(type))));
@@ -416,7 +416,7 @@
 	}
 	if(iscvalue(arg)){
 		csl_v *cv = ptr(arg);
-		if(isarray(arg)){
+		if(isarr(arg)){
 			sl_type *aet = cv_class(cv)->eltype;
 			if(aet == eltype){
 				if(cv_len(cv) == sz)
@@ -435,7 +435,7 @@
 	type_error("sequence", arg);
 }
 
-BUILTIN("array", array)
+BUILTIN("arr", arr)
 {
 	usize elsize, cnt, sz;
 	sl_v arg;
@@ -444,7 +444,7 @@
 		argcount(nargs, 1);
 
 	cnt = nargs - 1;
-	sl_type *type = get_array_type(args[0]);
+	sl_type *type = get_arr_type(args[0]);
 	elsize = type->elsz;
 	sz = elsize * cnt;
 
@@ -460,7 +460,7 @@
 	return cv;
 }
 
-BUILTIN("array-alloc", array_alloc)
+BUILTIN("arr-alloc", arr_alloc)
 {
 	usize elsize, sz;
 	long i, cnt, a;
@@ -471,7 +471,7 @@
 	if(cnt < 0)
 		lerrorf(sl_errarg, "invalid size: %"PRIu64, (u64int)cnt);
 
-	sl_type *type = get_array_type(args[0]);
+	sl_type *type = get_arr_type(args[0]);
 	elsize = type->elsz;
 	sz = elsize * cnt;
 
@@ -492,7 +492,7 @@
 
 // NOTE: v must be an array
 usize
-cvalue_arraylen(sl_v v)
+cvalue_arrlen(sl_v v)
 {
 	csl_v *cv = ptr(v);
 	return cv_len(cv)/cv_class(cv)->elsz;
@@ -508,7 +508,7 @@
 
 	if(iscons(type)){
 		sl_v hed = car_(type);
-		if(hed == sl_arraysym){
+		if(hed == sl_arrsym){
 			sl_v t = car(cdr_(type));
 			if(!iscons(cdr_(cdr_(type))))
 				lerrorf(sl_errarg, "incomplete type");
@@ -681,12 +681,12 @@
 		if(iscons(cdr_(cdr_(type))))
 			cnt = tosize(car_(cdr_(cdr_(type))));
 		else if(nargs == 2)
-			cnt = predict_arraylen(args[1]);
+			cnt = predict_arrlen(args[1]);
 		else
 			cnt = 0;
 		cv = cvalue(ft, elsz * cnt);
 		if(nargs == 2)
-			cvalue_array_init(ft, args[1], cvalue_data(cv));
+			cvalue_arr_init(ft, args[1], cvalue_data(cv));
 	}else{
 		cv = cvalue(ft, ft->size);
 		if(nargs == 2)
@@ -729,7 +729,7 @@
 }
 
 sl_v
-cvalue_array_aref(sl_v *args)
+cvalue_arr_aref(sl_v *args)
 {
 	u8int *data;
 	int index;
@@ -764,7 +764,7 @@
 }
 
 sl_v
-cvalue_array_aset(sl_v *args)
+cvalue_arr_aset(sl_v *args)
 {
 	u8int *data; int index;
 	sl_type *eltype = cv_class(ptr(args[0]))->eltype;
@@ -1321,13 +1321,13 @@
 	ctor_cv_intern(float, T_FLOAT, float);
 	ctor_cv_intern(double, T_DOUBLE, double);
 
-	ctor_cv_intern(array, NONNUMERIC, int);
+	ctor_cv_intern(arr, NONNUMERIC, int);
 
 	sl_strtypesym = csymbol("*str-type*");
-	setc(sl_strtypesym, mk_list2(sl_arraysym, sl_bytesym));
+	setc(sl_strtypesym, mk_list2(sl_arrsym, sl_bytesym));
 
 	sl_runestrtypesym = csymbol("*runestr-type*");
-	setc(sl_runestrtypesym, mk_list2(sl_arraysym, sl_runesym));
+	setc(sl_runestrtypesym, mk_list2(sl_arrsym, sl_runesym));
 
 	mk_primtype(s8, s8int);
 	mk_primtype(u8, u8int);
--- a/src/cvalues.h
+++ b/src/cvalues.h
@@ -22,16 +22,16 @@
 sl_v size_wrap(usize sz);
 usize tosize(sl_v n);
 soffset tooffset(sl_v n);
-bool isarray(sl_v v) sl_purefn;
-void cvalue_array_init(sl_type *ft, sl_v arg, void *dest);
-usize cvalue_arraylen(sl_v v) sl_purefn;
+bool isarr(sl_v v) sl_purefn;
+void cvalue_arr_init(sl_type *ft, sl_v arg, void *dest);
+usize cvalue_arrlen(sl_v v) sl_purefn;
 usize ctype_sizeof(sl_v type);
 void to_sized_ptr(sl_v v, u8int **pdata, usize *psz);
 sl_v cvalue_relocate(sl_v v);
 sl_v cvalue_copy(sl_v v);
 sl_v cvalue_compare(sl_v a, sl_v b) sl_purefn;
-sl_v cvalue_array_aref(sl_v *args);
-sl_v cvalue_array_aset(sl_v *args);
+sl_v cvalue_arr_aref(sl_v *args);
+sl_v cvalue_arr_aset(sl_v *args);
 sl_v cbuiltin(const char *name, builtin_t f);
 sl_v return_from_u64(u64int Uaccum);
 sl_v return_from_s64(s64int Saccum);
--- a/src/io.c
+++ b/src/io.c
@@ -279,7 +279,7 @@
 	sl_type *ft;
 	if(nargs == 3){
 		// form (io.read s type count)
-		ft = get_array_type(args[1]);
+		ft = get_arr_type(args[1]);
 		n = tosize(args[2]) * ft->elsz;
 	}else{
 		ft = get_type(args[1]);
--- a/src/print.c
+++ b/src/print.c
@@ -776,7 +776,7 @@
 			goto err;
 		sl.hpos += n;
 	}else if(iscons(type)){
-		if(car_(type) == sl_arraysym){
+		if(car_(type) == sl_arrsym){
 			usize i;
 			sl_v eltype = car(cdr_(type));
 			usize cnt, elsize;
@@ -824,7 +824,7 @@
 				if(eltype == sl_u8sym){
 					outsn(f, "#vu8(", 5);
 				}else{
-					outsn(f, "#array(", 7);
+					outsn(f, "#arr(", 7);
 					sl_print_child(f, eltype);
 					if(cnt > 0)
 						outc(f, ' ');
--- a/src/read.c
+++ b/src/read.c
@@ -664,7 +664,7 @@
 		PUSH(sl_nil);
 		read_list(ctx, UNBOUND, TOK_CLOSE);
 		if(sym == sl_vu8sym){
-			sym = sl_arraysym;
+			sym = sl_arrsym;
 			sl.sp[-1] = mk_cons(sl_u8sym, sl.sp[-1]);
 		}else if(sym == sl_fnsym){
 			sym = sl_function;
--- a/src/sl.c
+++ b/src/sl.c
@@ -24,7 +24,7 @@
 
 sl_v sl_printwidthsym, sl_printreadablysym, sl_printprettysym, sl_printlengthsym;
 sl_v sl_printlevelsym;
-sl_v sl_tablesym, sl_arraysym;
+sl_v sl_tablesym, sl_arrsym;
 sl_v sl_iosym, sl_rdsym, sl_wrsym, sl_apsym, sl_crsym, sl_truncsym;
 sl_v sl_s8sym, sl_u8sym, sl_s16sym, sl_u16sym, sl_s32sym, sl_u32sym;
 sl_v sl_s64sym, sl_u64sym, sl_bignumsym;
@@ -1127,13 +1127,13 @@
 					continue;
 				}
 			}
-			if(isarray(v)){
-				usize sz = cvalue_arraylen(v);
+			if(isarr(v)){
+				usize sz = cvalue_arrlen(v);
 				if(n < sz){
 					sl_v a[2];
 					a[0] = v;
 					a[1] = fixnum(n);
-					PUSH(cvalue_array_aref(a));
+					PUSH(cvalue_arr_aref(a));
 					continue;
 				}
 			}
--- a/src/sl.h
+++ b/src/sl.h
@@ -283,7 +283,7 @@
 	sl_v type;
 	sl_cvtable *vtable;
 	sl_type *eltype;  // for arrays
-	sl_type *artype;  // (array this)
+	sl_type *artype;  // (arr this)
 	cvinitfunc_t init;
 	usize size;
 	usize elsz;
@@ -424,7 +424,7 @@
 
 extern sl_v sl_printwidthsym, sl_printreadablysym, sl_printprettysym, sl_printlengthsym;
 extern sl_v sl_printlevelsym;
-extern sl_v sl_arraysym;
+extern sl_v sl_arrsym;
 extern sl_v sl_iosym, sl_rdsym, sl_wrsym, sl_apsym, sl_crsym, sl_truncsym;
 extern sl_v sl_s8sym, sl_u8sym, sl_s16sym, sl_u16sym, sl_s32sym, sl_u32sym;
 extern sl_v sl_s64sym, sl_u64sym, sl_bignumsym;
--- a/src/str.c
+++ b/src/str.c
@@ -87,7 +87,7 @@
 			return str;
 		}
 	}
-	type_error("rune array", args[0]);
+	type_error("arr rune", args[0]);
 }
 
 BUILTIN("str-decode", str_decode)
--- a/src/system.lsp
+++ b/src/system.lsp
@@ -269,10 +269,10 @@
 (def (char? x)
   (eq? (typeof x) 'rune))
 
-(def (array? x)
+(def (arr? x)
   (or (vec? x)
       (let ((tx (typeof x)))
-        (and (cons? tx) (eq? (car tx) 'array)))))
+        (and (cons? tx) (eq? (car tx) 'arr)))))
 
 (def (closure? x)
   (and (function? x)
--- a/src/types.c
+++ b/src/types.c
@@ -18,9 +18,9 @@
 		return *bp;
 	}
 
-	bool isarray = iscons(t) && car_(t) == sl_arraysym && iscons(cdr_(t));
+	bool isarr = iscons(t) && car_(t) == sl_arrsym && iscons(cdr_(t));
 	usize sz;
-	if(isarray && !iscons(cdr_(cdr_(t)))){
+	if(isarr && !iscons(cdr_(cdr_(t)))){
 		// special case: incomplete array type
 		sz = 0;
 	}else{
@@ -37,12 +37,12 @@
 		((sl_sym*)ptr(t))->type = ft;
 	}
 	ft->size = sz;
-	if(isarray && iscons(t)){
+	if(isarr && iscons(t)){
 		sl_type *eltype = get_type(car_(cdr_(t)));
 		assert(eltype != nil && eltype->size > 0);
 		ft->elsz = eltype->size;
 		ft->eltype = eltype;
-		ft->init = cvalue_array_init;
+		ft->init = cvalue_arr_init;
 		//eltype->artype = ft; -- this is a bad idea since some types carry array sizes
 	}
 	*bp = ft;
@@ -50,11 +50,11 @@
 }
 
 sl_type *
-get_array_type(sl_v eltype)
+get_arr_type(sl_v eltype)
 {
 	sl_type *et = get_type(eltype);
 	if(et->artype == nil)
-		et->artype = get_type(mk_list2(sl_arraysym, eltype));
+		et->artype = get_type(mk_list2(sl_arrsym, eltype));
 	return et->artype;
 }
 
--- a/src/types.h
+++ b/src/types.h
@@ -1,6 +1,6 @@
 #pragma once
 
 sl_type *get_type(sl_v t);
-sl_type *get_array_type(sl_v eltype);
+sl_type *get_arr_type(sl_v eltype);
 sl_type *define_opaque_type(sl_v sym, usize sz, sl_cvtable *vtab, cvinitfunc_t init);
 void relocate_typetable(void);
--- a/src/vm.h
+++ b/src/vm.h
@@ -423,9 +423,9 @@
 LABEL(apply_aref):;
 	sl_v v = sp[-n];
 	for(int i = n-1; i > 0; i--){
-		if(isarray(v)){
+		if(isarr(v)){
 			sp[-i-1] = v;
-			v = cvalue_array_aref(sp-i-1);
+			v = cvalue_arr_aref(sp-i-1);
 			continue;
 		}
 		sl_v e = sp[-i];
@@ -509,9 +509,9 @@
 LABEL(apply_aset):
 		v = sp[-n];
 		for(int i = n-1; i >= 3; i--){
-			if(isarray(v)){
+			if(isarr(v)){
 				sp[-i-1] = v;
-				v = cvalue_array_aref(sp-i-1);
+				v = cvalue_arr_aref(sp-i-1);
 				continue;
 			}
 			sl_v e = sp[-i];
@@ -562,8 +562,8 @@
 				bounds_error(v0, e);
 			}
 		}
-	}else if(isarray(v)){
-		e = cvalue_array_aset(sp-3);
+	}else if(isarr(v)){
+		e = cvalue_arr_aset(sp-3);
 	}else{
 		sl.sp = sp;
 		type_error("sequence", v);
--- a/test/unittest.lsp
+++ b/test/unittest.lsp
@@ -277,9 +277,9 @@
 (assert (equal? (keys1 :a 11) 12))
 
 ; cvalues and arrays
-(assert (equal? (typeof "") '(array byte)))
+(assert (equal? (typeof "") '(arr byte)))
 (assert-fail (aref #(1) 3) bounds-error)
-(def iarr (array 's64 32 16 8 7 1))
+(def iarr (arr 's64 32 16 8 7 1))
 (assert (equal? (aref iarr 0) 32))
 (assert (equal? (aref iarr #s8(3)) 7))
 
@@ -483,7 +483,7 @@
        (in (io-readall s))
        (packed (lz-pack in level))
        (unpacked (lz-unpack packed :size (sizeof in)))
-       (unpacked2 (array-alloc 'byte (sizeof in) 0)))
+       (unpacked2 (arr-alloc 'byte (sizeof in) 0)))
   (io-close s)
   (assert (< (sizeof packed) (sizeof in)))
   (assert (equal? in unpacked))
--