hello, i have this error:
ice-9/boot-9.scm:1685:16: In procedure raise-exception: Throw to key `match-error' with args `("match" "no matching pattern" (1 0))'. i thought it was a 'match' related error as i used it in a macro: ;;(display "before match") (newline) (match (list index1-or-keyword-eval-pos index2-or-keyword-eval-pos) ;; {a <+ (make-vector 7 0)} ;; '#(0 0 0 0 0 0 0) ;; > {a[/ /] <- #(1 2 3)} ;; > a ;; '#(1 2 3 0 0 0 0) (((? (cut equal? <> /)) (? (cut equal? <> /))) (container-copy! container-eval 0 expr-eval)) ;; {s <+ (string-append "abcdefgh")} ;; "abcdefgh" ;; > {s[3 /] <- "zob"} ;; > s ;; "abczobgh" ;; > ((i1 (? (cut equal? <> /))) (container-copy! container-eval i1 expr-eval)) (((? (cut equal? <> /)) i2) (container-copy! container-eval 0 expr-eval 0 i2)) ((i1 i2) (if (vector? container-eval) ;; normal case (function-array-n-dim-set! container-eval expr-eval (reverse (list i1 i2))) (array-set! container-eval index1-or-keyword-eval index2-or-keyword-eval expr-eval)))) ;; end match if really the given args are (0 1) i suppose the last case of match should be evaluated? why not? quoting the whole part of the macro and i still have the issue this seems to prove the problem is in other part of my code but match is only used here??? so i do not understand i search on the net and only find relating issues with guix ,which i do not use: https://www.youtube.com/watch?v=sqYGI5Ow2wY i probably missed something cross-developping between my code in guile and racket as the 'match' are not compatible but i'm sticked with this problem for hours... any idea??? if i use old code i suppose it will work (i have older version) Damien