I have rediscovered a nice old way for making some functions more familiar :-)
Now you can write something like this:
Code: Select all
(:send-email
To "dmi@feautec.pp.ru"
Through "feautec.pp.ru"
From "losthost@narod.ru"
Subject "test subj"
Body "test body")
Code: Select all
(define (pair lst)
"(pair lst) - fast pair even number of members"
(array-list (array (/ (length lst) 2) 2 lst)))
(define-macro (: fun)
(apply (sym fun MAIN nil)
(letn (pairs
(map (fn (x) (list (eval (sym (first x) fun nil))
(eval (x 1))))
(pair (args)))
m (apply max (map first pairs))
argl (array (+ 1 m)))
(dolist (l pairs)
(nth-set (l 0) argl (l 1)))
(array-list argl))))
(global ':)
Code: Select all
(load "/usr/share/newlisp/smtp.lsp")
(context 'send-email)
(set 'From 0 'To 1 'Subject 2 'Body 3 'Through 4)
(define (send-email:send-email from to subj msg srv)
(SMTP:send-mail from to subj msg srv))
(context 'MAIN)