'(my $min-t = $raw div 60
my $sec = $raw - ( $min-t * 60 )
my $min = $min-t - ( $hr-t * 60 )
my $hr = $hr-t - ( $day-t * 24 )
my $day = $day-t - ( $yr * 365 )
say |Year:| $yr |Day:| $day |Hour:| $hr |Min:| $min |Sec:| $sec
(cond ((null program) nil)
((numberp program) program)
((and (symbolp program) (boundp program))
(let* ((lhs (cadr program))
(rest (member-if (lambda (x) (member x '(my say })))
(rhs (ldiff (cdddr program) rest)))
(progv (list lhs) (list (result rhs))
(* (result (car program))
(result (caddr program))))
((eq (cadr program) 'div)
(truncate (result (car program))
(result (caddr program))))
(- (result (car program))
(result (caddr program))))
(dolist (arg (cdr program))
(progv '($raw) '(123456789)