Custom Query (1630 matches)
Results (79 - 81 of 1630)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#1703 | fixed | Arguments being passed to procedure incorrectly | ||
Description |
Here is the offending part of a program I have been writing. (define (reduce proc list init) (define (reduce-iter list result) (if (null? list) result (reduce-iter (cdr list) (proc result (car list))))) (reduce-iter list init)) (define-record-type <vec3> (make-vec3 x y z) vec3? (x vec3-x) (y vec3-y) (z vec3-z)) ;; Macro for destructuring a vec3. (define-syntax vec3-bind (syntax-rules () ((vec3-bind ((names vec) ...) body) (let-values ((names (values (vec3-x vec) (vec3-y vec) (vec3-z vec))) ...) body)))) (define (vec3- . vecs) "Return the difference of VECS, as in vector space subtraction." (define (sub u v) (vec3-bind (((x1 y1 z1) u) ((x2 y2 z2) v)) (make-vec3 (- x1 x2) (- y1 y2) (- z1 z2)))) (if (zero? (length vecs)) (make-vec3 0 0 0) (reduce sub (cdr vecs) (car vecs)))) (vec3- (make-vec3 1.00 1.00 1.00) (make-vec3 1.00 1.00 1.00) (make-vec3 1.00 1.00 1.00)) This runs without error on Version 4.13.0 (rev 68eeaaef), but on Version 5.2.0 (rev 317468e4), I get the following runtime error. Error: (vec3-x) bad argument type - not a structure of the required type #<procedure (sub u v)> <vec3> Call history: r7rs-raytracer.scm:35: make-vec3 r7rs-raytracer.scm:36: make-vec3 r7rs-raytracer.scm:37: make-vec3 r7rs-raytracer.scm:35: vec3- r7rs-raytracer.scm:33: reduce r7rs-raytracer.scm:6: reduce-iter r7rs-raytracer.scm:5: proc r7rs-raytracer.scm:29: ##sys#call-with-values r7rs-raytracer.scm:29: vec3-x <-- I could not build the master branch, so I was unable to see if this has been resolved. I suspect the arguments are being passed in the wrong order to 'reduce', somehow. This error only occurs if the number of arguments to vec3- is greater than 2. |
|||
#1700 | fixed | coops-utils: installation failure: no rule matches form (pointer-uword-ref ...) | ||
Description | ||||
#1699 | invalid | load-verbose doesn't actually load | ||
Description |
It just returns the input string, it seems. |
Note: See TracQuery
for help on using queries.