LISPOS: My manifesto

Dave Mason dmason@scs.Ryerson.CA
Wed, 1 Apr 1998 13:49:20 -0500

Dunno what this has to do with my manifesto, but anyway...

Kragen writes:
> You could do something like:
> (select '(acctnum) :from users 
>  :where '(signupdate > 19980101 and
>           filtered-by-lisp-func account-looks-inactive))
> Maybe there's a better word than "filtered-by-lisp-func".

Why not (in Scheme):

 (select '(acctnum) :from users 
	 :where `(and (> signupdate 19980101)
		      ,(lambda (rec)....)))

Then select could symbolically evaluate simple comparisons and when it
saw a function, apply that to the record too.

I think it wouldn't be so clean in CL, but hopefully I'm wrong and CL
now has some reasonable support for first-class functions (and
quasi-quote and unquote).