Isoraqathedh

Untitled

Feb 16th, 2014
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.44 KB | None | 0 0
  1. (defmacro define-valid-functions (function=arity-pairs) ;Takes dotted lists because why not.
  2.   (loop
  3.      for i in function=arity-pairs
  4.      if (numberp (cdr i))
  5.      do `(define-valid-function ,(car i) ,(cdr i))
  6.      else `(define-valid-function ,(car i))))
  7.  
  8.  
  9. (define-valid-functions '((+) (-) (*) (/)
  10.               (sin . 1) (cos . 1) (tan . 1)
  11.               (sqrt . 1) (random . 0) (pow . 2)))
  12.  
  13. (defun eval-maths (form)
  14.   (when (math-expr-p form) form))
Advertisement
Add Comment
Please, Sign In to add comment