I believe match is a macro but you need to pass map a lambda. Try (map (lambda (a) (match a ("test" #t) ...) x) Or (map (match-lambda ("test" #t) ...) x) as match-lambda is a macro that expands to (lambda (a) (match a ...)) On November 29, 2018 6:13:26 PM EST, swedebugia wrote: >Hi > >I'm trying to learn how to check in guile if a node package matches one > >of the items in my blacklist. > >First version was with (member pkg-name blacklist) and it worked but >forces me to write down all the blacklisted packages which is tedious >when I can just regex match if it begins with the same name. > >Now i'm trying to do the same with match and I could not find any >examples or guides on the subject that I understood. :-/ > >blacklist >$1 = ("matcha" "webpack" "rollup-plugin-node-resolve" "browserify" >"electron" "statsd" "vega" "grunt-release" "lineman" "lineman-angular") > >I want the procedure to return #t if a match is found and I want it to >match if it begins with the same e.g. "rollup-plugin" should match >"rollup-plugin-node-resolve" and return #t >Else #f > >This did not work: >(use-modules (ice-9 match)) > >(define x > '("ts" "test")) >(map (match x > ("test") #t) > (else #f) x) > >Any ideas? >-- >Cheers >Swedebugia