#!/usr/local/bin/clisp ;(setq lisp:*args* '("(5 24 5759)")) ;;; calculate bar mitzvah parasha ;;; usage: bm.cl "( mo day year )" date of birth ;;; Returns the Gregorian date and Parshah ;;; (if (equal (machine-instance) "mkultra [192.168.64.52]") (progn (load 'yc.cl)) (progn (load '/usr/home/yi/lisp/yahrweb.cl))) ;(format t "~%") (defun bm-info () (let* (birth-date (read-from-string (car lisp:*args*)) (abs-bday (calendar-absolute-from-gregorian birth-date)) (heb-bday (calendar-hebrew-from-absolute abs-bday))) (print birth-date) (print abs-bday) (print heb-bday) (declare (special date )) (format t "~A~%~A~%" (calendar-date-string birth-date) (diary-parasha)))) (bm-info) ; (my-dow (calendar-day-of-week yahr-greg)) ; (date (calendar-gregorian-from-absolute ; (- yahr-abs (if (= my-dow 6) 0 (1+ my-dow))) )) ); adjust to previous shb. ; (declare (special date )) ; (format t "~A~%~A~%" (calendar-date-string yahr-greg) ; (diary-parasha)))) ;;(trace (yahr-dates :step-if t)) ;(let* ((h-today (calendar-hebrew-from-absolute ; (calendar-absolute-from-gregorian date))) ; (h-year (third h-today)) ; (yymm00 (list (car my-date) (car (cdr my-date)) 5760)) ; (today0 (list (car h-today) (car (cdr h-today)) 5760))) ; (if (> (calendar-absolute-from-hebrew today0) ; (calendar-absolute-from-hebrew yymm00)) ; (setq h-year (1+ h-year))) ; (yahr-dates my-date h-year)) ; ; (print date) ; (print today0) ; (print yymm00) ; (print h-year) ;(list-yahrzeit-dates (list 10 17 1974) 2000) (5 24 5759)