 : funcall ( quot sym -- * )
   dup lisp-symbol?  [ name>> lisp-get ] when call ; inline
 
+: lookup-vars ( q -- p )  
+  [ dup lisp-symbol? [ name>> lisp-get ] when ] map ;
+  
 : define-primitve ( name vocab word -- )  
   swap lookup [ [ , ] compose call ] bake lisp-define ;
: rest-lambda ( body vars -- quot )  
  "&rest" swap [ remove ] [ index ] 2bi
  [ localize-lambda <lambda> ] dip
  [ , cut swap [ % , ] bake , compose ] bake ;
  
: normal-lambda ( body vars -- quot )
  localize-lambda <lambda> [ , compose ] bake ;
PRIVATE>
  
: convert-lambda ( s-exp -- quot )  


DEFER: convert-form
DEFER: funcall
DEFER: lookup-vars

! Functions to convert s-exps to quotations
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
