Skip to content

Commit a6b5b37

Browse files
committed
add car-cas! and cdr-cas!
1 parent 6f80b4f commit a6b5b37

24 files changed

+667
-498
lines changed

boot/pb/equates.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* equates.h for Chez Scheme Version 10.3.0-pre-release.2 */
1+
/* equates.h for Chez Scheme Version 10.3.0-pre-release.3 */
22

33
/* Do not edit this file. It is automatically generated and */
44
/* specifically tailored to the version of Chez Scheme named */
@@ -335,7 +335,7 @@ typedef uint64_t U64;
335335
#define int_bits 0x20
336336
#define integer_divide_instruction 1
337337
#define keyboard_interrupt_index 0x3
338-
#define library_entry_vector_size 0x276
338+
#define library_entry_vector_size 0x27A
339339
#define libspec_closure_index 0xD
340340
#define libspec_does_not_expect_headroom_index 0x0
341341
#define libspec_error_index 0xE
@@ -1015,7 +1015,7 @@ typedef uint64_t U64;
10151015
#define rtd_sealed 0x4
10161016
#define sbwp (ptr)0x4E
10171017
#define scaled_shot_1_shot_flag -0x8
1018-
#define scheme_version 0xA030002
1018+
#define scheme_version 0xA030003
10191019
#define seginfo_generation_disp 0x1
10201020
#define seginfo_list_bits_disp 0x8
10211021
#define seginfo_space_disp 0x0
@@ -1649,5 +1649,5 @@ typedef uint64_t U64;
16491649
/* library entries we access from C code */
16501650
#define library_nonprocedure_code 162
16511651
#define library_dounderflow 164
1652-
#define library_popcount_slow 626
1653-
#define library_cpu_features 628
1652+
#define library_popcount_slow 630
1653+
#define library_cpu_features 632

boot/pb/petite.boot

5.86 KB
Binary file not shown.

boot/pb/scheme.boot

10.7 KB
Binary file not shown.

boot/pb/scheme.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* scheme.h for Chez Scheme Version 10.3.0-pre-release.2 (pb) */
1+
/* scheme.h for Chez Scheme Version 10.3.0-pre-release.3 (pb) */
22

33
/* Do not edit this file. It is automatically generated and */
44
/* specifically tailored to the version of Chez Scheme named */
@@ -40,7 +40,7 @@
4040
#endif
4141

4242
/* Chez Scheme Version and machine type */
43-
#define VERSION "10.3.0-pre-release.2"
43+
#define VERSION "10.3.0-pre-release.3"
4444
#define MACHINE_TYPE "pb"
4545

4646
/* Integer typedefs */

csug/objects.stex

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,38 @@ indiscriminately.
346346
\endschemedisplay
347347

348348

349+
%----------------------------------------------------------------------------
350+
\entryheader
351+
\formdef{car-cas!}{\categoryprocedure}{(car-cas! \var{pair} \var{old-obj} \var{new-obj})}
352+
\formdef{cdr-cas!}{\categoryprocedure}{(cdr-cas! \var{pair} \var{old-obj} \var{new-obj})}
353+
\returns \scheme{#t} if \var{pair} is changed, \scheme{#f} otherwise
354+
\listlibraries
355+
\endentryheader
356+
357+
\noindent
358+
\scheme{car-cas!} and \scheme{cdr-cas!} atomically change the content of \var{pair},
359+
either its \scheme{car} or \scheme{cdr} respectively, to \var{new-obj}
360+
if the replaced content is \scheme{eq?} to \var{old-obj}.
361+
If the content of \var{pair} that would be replaced is not \scheme{eq?} to \var{old-obj}, then
362+
\var{pair} is unchanged.
363+
364+
On an architecture with a weak memory model, \scheme{car-cas!} and \scheme{cdr-cas!} can
365+
spuriously fail, leaving \var{pair} unchanged and returning
366+
\scheme{#f} even if the current value in \var{pair} is \var{old-obj}.
367+
On success, no memory ordering is implied, which means that
368+
\scheme{memory-order-acquire} and/or \scheme{memory-order-release} may be
369+
needed to complete an intended synchronization.
370+
371+
\schemedisplay
372+
(define p (cons 'old-a 'old-d))
373+
(car-cas! p 'old-a 'new-a) ;=> #t, assuming no spurious failure
374+
(car p) ;=> 'new-a
375+
(cdr-cas! p 'old-d 'new-d) ;=> #t, assuming no spurious failure
376+
(cdr p) ;=> 'new-d
377+
(car-cas! p 'other 'wrong) ;=> #f
378+
(car p) ;=> 'new-a
379+
\endschemedisplay
380+
349381

350382
\section{Characters}
351383

mats/5_2.ms

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,81 @@
5252
(error? (set-cdr! 'a 'b))
5353
)
5454
55+
(mat car-cas!
56+
(not (car-cas! (cons 1 2) 0 3))
57+
(let ((x (list 'a 'b)))
58+
(let loop ()
59+
(unless (car-cas! x 'a 3)
60+
(loop)))
61+
(equal? x '(3 b)))
62+
(error? (car-cas! 'a 'b 'c))
63+
(let ()
64+
(define ps
65+
(let loop ([i 100])
66+
(if (zero? i)
67+
'()
68+
(cons 0 (loop (sub1 i))))))
69+
(define ts
70+
(let loop ([j 6])
71+
(if (zero? j)
72+
'()
73+
(cons ((if (threaded?)
74+
fork-thread
75+
(lambda (f) (f)))
76+
(lambda ()
77+
(let loop ([i 1000])
78+
(unless (zero? i)
79+
(let loop ([ps ps])
80+
(unless (null? ps)
81+
(let retry ()
82+
(let ([v (car ps)])
83+
(unless (car-cas! ps v (add1 v))
84+
(retry))))
85+
(loop (cdr ps))))
86+
(loop (sub1 i))))))
87+
(loop (sub1 j))))))
88+
(when (threaded?)
89+
(for-each thread-join ts))
90+
(= 600000 (apply + ps)))
91+
)
92+
93+
(mat cdr-cas!
94+
(not (cdr-cas! (cons 1 2) 0 3))
95+
(let ((x (cons 'a 'b)))
96+
(let loop ()
97+
(unless (cdr-cas! x 'b 3)
98+
(loop)))
99+
(equal? x '(a . 3)))
100+
(error? (cdr-cas! 'a 'b 'c))
101+
(let ()
102+
(define ps
103+
(let loop ([i 100])
104+
(if (zero? i)
105+
'()
106+
(cons (cons 0 0) (loop (sub1 i))))))
107+
(define ts
108+
(let loop ([j 6])
109+
(if (zero? j)
110+
'()
111+
(cons ((if (threaded?)
112+
fork-thread
113+
(lambda (f) (f)))
114+
(lambda ()
115+
(let loop ([i 1000])
116+
(unless (zero? i)
117+
(for-each (lambda (p)
118+
(let retry ()
119+
(let ([v (cdr p)])
120+
(unless (cdr-cas! p v (add1 v))
121+
(retry)))))
122+
ps)
123+
(loop (sub1 i))))))
124+
(loop (sub1 j))))))
125+
(when (threaded?)
126+
(for-each thread-join ts))
127+
(= 600000 (apply + (map cdr ps))))
128+
)
129+
55130
(set! bush
56131
(lambda (n)
57132
(let f ((n n) (x '()))

mats/patch-compile-0-f-f-t

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
*** output-compile-0-f-f-f-experr/errors-compile-0-f-f-f 2025-07-03 12:18:51.007389699 +0800
2-
--- output-compile-0-f-f-t-experr/errors-compile-0-f-f-t 2025-07-03 12:18:47.223833688 +0800
1+
*** output-compile-0-f-f-f-experr/errors-compile-0-f-f-f Tue Aug 12 19:49:32 2025
2+
--- output-compile-0-f-f-t-experr/errors-compile-0-f-f-t Tue Aug 12 19:49:26 2025
33
***************
4-
*** 4057,4063 ****
4+
*** 4059,4065 ****
55
misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1".
66
misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"".
77
misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure".
88
! misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation 5".
99
misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation oldgen".
1010
misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1".
1111
misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments 1 to #<procedure find-next>".
12-
--- 4057,4063 ----
12+
--- 4059,4065 ----
1313
misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1".
1414
misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"".
1515
misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure".
@@ -18,7 +18,7 @@
1818
misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1".
1919
misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments 1 to #<procedure find-next>".
2020
***************
21-
*** 8042,8052 ****
21+
*** 8044,8054 ****
2222
7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer".
2323
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk".
2424
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1".
@@ -30,7 +30,7 @@
3030
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
3131
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
3232
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
33-
--- 8042,8052 ----
33+
--- 8044,8054 ----
3434
7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer".
3535
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk".
3636
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1".
@@ -43,7 +43,7 @@
4343
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
4444
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
4545
***************
46-
*** 9583,9595 ****
46+
*** 9585,9597 ****
4747
fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum".
4848
fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum".
4949
fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".
@@ -57,7 +57,7 @@
5757
fx.mo:Expected error in mat r6rs:fx*: "fx*: <int> is not a fixnum".
5858
fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> is not a fixnum".
5959
fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum".
60-
--- 9583,9595 ----
60+
--- 9585,9597 ----
6161
fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum".
6262
fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum".
6363
fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".

mats/patch-compile-0-f-t-f

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
*** output-compile-0-f-f-f-experr/errors-compile-0-f-f-f 2025-07-03 12:18:51.007389699 +0800
2-
--- output-compile-0-f-t-f-experr/errors-compile-0-f-t-f 2025-07-03 12:18:45.851369000 +0800
1+
*** output-compile-0-f-f-f-experr/errors-compile-0-f-f-f Tue Aug 12 19:49:32 2025
2+
--- output-compile-0-f-t-f-experr/errors-compile-0-f-t-f Tue Aug 12 19:49:25 2025
33
***************
44
*** 212,218 ****
55
3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a".
@@ -18,22 +18,24 @@
1818
3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a".
1919
3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a".
2020
***************
21-
*** 231,237 ****
21+
*** 231,238 ****
2222
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable b".
2323
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable a".
2424
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable g".
25-
! 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable f".
2625
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable f".
26+
- 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable f".
2727
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable c".
2828
3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x".
29-
--- 231,237 ----
29+
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable x".
30+
--- 231,238 ----
3031
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable b".
3132
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable a".
3233
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable g".
33-
! 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable g".
34+
+ 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable g".
3435
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable f".
3536
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable c".
3637
3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x".
38+
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable x".
3739
***************
3840
*** 278,287 ****
3941
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
@@ -58,15 +60,15 @@
5860
3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17".
5961
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
6062
***************
61-
*** 4101,4107 ****
63+
*** 4103,4109 ****
6264
misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"".
6365
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable q".
6466
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar".
6567
! misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable foo at line 1, char 108 of testfile.ss".
6668
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b".
6769
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b".
6870
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable a".
69-
--- 4101,4107 ----
71+
--- 4103,4109 ----
7072
misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"".
7173
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable q".
7274
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar".
@@ -75,7 +77,7 @@
7577
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b".
7678
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable a".
7779
***************
78-
*** 8052,8059 ****
80+
*** 8054,8061 ****
7981
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
8082
7.mo:Expected error in mat error: "a: hit me!".
8183
7.mo:Expected error in mat error: "f: n is 0".
@@ -84,7 +86,7 @@
8486
record.mo:Expected error in mat record2: "invalid value 3 for foreign type double-float".
8587
record.mo:Expected error in mat record2: "3 is not of type #<record type fudge>".
8688
record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)".
87-
--- 8052,8059 ----
89+
--- 8054,8061 ----
8890
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
8991
7.mo:Expected error in mat error: "a: hit me!".
9092
7.mo:Expected error in mat error: "f: n is 0".
@@ -94,7 +96,7 @@
9496
record.mo:Expected error in mat record2: "3 is not of type #<record type fudge>".
9597
record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)".
9698
***************
97-
*** 8061,8075 ****
99+
*** 8063,8077 ****
98100
record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)".
99101
record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car".
100102
record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound".
@@ -110,7 +112,7 @@
110112
record.mo:Expected error in mat record9: "record-reader: invalid input #f".
111113
record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge".
112114
record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge".
113-
--- 8061,8075 ----
115+
--- 8063,8077 ----
114116
record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)".
115117
record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car".
116118
record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound".
@@ -127,7 +129,7 @@
127129
record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge".
128130
record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge".
129131
***************
130-
*** 8082,8107 ****
132+
*** 8084,8109 ****
131133
record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>".
132134
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
133135
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
@@ -154,7 +156,7 @@
154156
record.mo:Expected error in mat foreign-data: "foreign-alloc: 0 is not a positive fixnum".
155157
record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum".
156158
record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum".
157-
--- 8082,8107 ----
159+
--- 8084,8109 ----
158160
record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>".
159161
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
160162
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
@@ -182,7 +184,7 @@
182184
record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum".
183185
record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum".
184186
***************
185-
*** 8244,8282 ****
187+
*** 8246,8284 ****
186188
record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)".
187189
record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)".
188190
record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #<record type foo> as bar".
@@ -222,7 +224,7 @@
222224
record.mo:Expected error in mat record?: "record?: 4 is not a record type descriptor".
223225
record.mo:Expected error in mat record?: "record?: a is not a record type descriptor".
224226
record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor".
225-
--- 8244,8282 ----
227+
--- 8246,8284 ----
226228
record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)".
227229
record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)".
228230
record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #<record type foo> as bar".
@@ -263,7 +265,7 @@
263265
record.mo:Expected error in mat record?: "record?: a is not a record type descriptor".
264266
record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor".
265267
***************
266-
*** 8293,8350 ****
268+
*** 8295,8352 ****
267269
record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam".
268270
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure".
269271
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam".
@@ -322,7 +324,7 @@
322324
record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent".
323325
record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent".
324326
record.mo:Expected error in mat r6rs-records-syntactic: "cannot extend define-record-type parent fratrat".
325-
--- 8293,8350 ----
327+
--- 8295,8352 ----
326328
record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam".
327329
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure".
328330
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam".

mats/patch-compile-0-f-t-t

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
*** output-compile-0-f-t-f-experr/errors-compile-0-f-t-f 2025-07-03 12:18:45.851369000 +0800
2-
--- output-compile-0-f-t-t-experr/errors-compile-0-f-t-t 2025-07-03 12:24:00.436030074 +0800
1+
*** output-compile-0-f-t-f-experr/errors-compile-0-f-t-f Tue Aug 12 19:49:25 2025
2+
--- output-compile-0-f-t-t-experr/errors-compile-0-f-t-t Tue Aug 12 19:49:22 2025
33
***************
4-
*** 9583,9595 ****
4+
*** 9585,9597 ****
55
fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum".
66
fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum".
77
fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".
@@ -15,7 +15,7 @@
1515
fx.mo:Expected error in mat r6rs:fx*: "fx*: <int> is not a fixnum".
1616
fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> is not a fixnum".
1717
fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum".
18-
--- 9583,9595 ----
18+
--- 9585,9597 ----
1919
fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum".
2020
fx.mo:Expected error in mat fx-/wraparound: "fx-: <-int> is not a fixnum".
2121
fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".

0 commit comments

Comments
 (0)