anchor.diff:  ;;    discriminant.  Finally, a case value may not be specified more than
   ;;    once within the scope of a union declaration.
   
  -
  -
  -
  -(defun select-n (n)
  -  (lambda (&rest args) (nth n args)))
  -
  -(defun select-these (nums)
  -  (lambda (&rest args) 
  -    (do ((i 0 (1+ i))
  -         (res nil)
  -         (n nums (cdr n))
  -         (l args (cdr l)))
  -        ((null l) (nreverse res))
  -      (when (= (car n) i)
  -        (push (car l) res)))))
  +(eval-when (:compile-toplevel :load-toplevel :execute)
  +  (defun select-n (n)
  +    (lambda (&rest args) (nth n args)))
  +  
  +  (defun select-these (nums)
  +    (lambda (&rest args) 
  +      (do ((i 0 (1+ i))
  +	   (res nil)
  +	   (n nums (cdr n))
  +	   (l args (cdr l)))
  +	  ((null l) (nreverse res))
  +	(when (= (car n) i)
  +	  (push (car l) res))))))
   
   (define-string-lexer xdr-lexer 
     ("\\=" (return (values '|=| '|=|)))
  
positive.code: ;;; particularly with large/complicated interfaces.
  
  ;; Note: this is not finished yet.
  
  (defpackage #:frpc.gen
    (:use #:cl #:yacc #:cl-lex))
  
negative.code:    (hyper (lambda (h) (declare (ignore h)) :int64))
     (float (lambda (f) (declare (ignore f)) :real32))
     (double (lambda (d) (declare (ignore d)) :real64))
     (bool (lambda (b) (declare (ignore b)) :boolean))
     enum-type-spec
     struct-type-spec
     union-type-spec
     identifier)
  
    (enum-type-spec 
     (enum enum-body (lambda (a b) (declare (ignore a)) b)))
  
    (enum-body 
     (|{| enum-body-list |}| (select-n 1)))
  
    (enum-body-list 
     (identifier |=| value 
                 (lambda (a b c) (declare (ignore b)) 
  		       (list (list (intern (string-upcase a) :keyword) c))))
     (enum-body-list |,| identifier |=| value
                     (lambda (prev comma id eq val)
                       (declare (ignore comma eq))
                       (append prev 
                             (list (list (intern (string-upcase id) :keyword) val))))))
  			   
    (struct-type-spec 
     (struct |{|  struct-body |}| (select-n 2)))
  
  