lisp:lambda范围

Jak*_* M. 1 lisp

我想实现filter基于条件过滤列表的函数

(defun filter (func xs)                                                          
  (mapcan                                                                        
    (lambda (x)                                                                  
      (when (func x) (list x))) xs ))                                            
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

*** - EVAL: undefined function FUNC
Run Code Online (Sandbox Code Playgroud)

我认为lambda应该看到func.如何传递funclambda正确的?

我使用CLISP.