PL3 : Calculator LISP

(defvar a)
(defvar b)
(defvar c)
(defvar d)

(write-line "Enter Two Numbers in binary format with prefix #b : ")
(setf a(read))
(setf b(read))

(sb-thread:make-thread(lambda()
                      (progn
                      (sleep 0)
                      (setf c(+ a b))
                      (print " Addition in binary : ")
                      (format t "~b" c)
                      (print "Addition in decimal : ")
                      (print c))))
(sb-thread:make-thread(lambda()
                      (progn
                      (sleep 0)
                      (setf c(- a b))
                      (print " Subtraction in binary : ")
                      (format t "~b" c)
                      (print "Subtraction in decimal : ")
                      (print c))))
(sb-thread:make-thread(lambda()
                      (progn
                      (sleep 0)
                      (setf c(* a b))
                      (print " Multiplication in binary : ")
                      (format t "~b" c)
                      (print "Multiplication in decimal : ")
                      (print c))))
(sb-thread:make-thread(lambda()
                      (progn
                      (sleep 0)
                      (setf c(/ a b))
                      (print " Division in binary : ")
                      (format t "~b" c)
                      (print "Division in decimal : ")
                      (print c))))
(sb-thread:make-thread(lambda()
                      (progn
                      (sleep 0)
                      (setf c(* a a))
                      (print " Square in binary : ")
                      (format t "~b" c)
                      (print "Square of first no : ")
                      (print c))))
(sb-thread:make-thread(lambda()
                      (progn
                      (sleep 0)
                      (setf c(* b b b))
                      (print "Cube of second number : ")
                      (print c))))
(sb-thread:make-thread(lambda()
                      (progn
                      (sleep 0)
                      (setf c(sin a))
                      (print "Sin of 1st no : ")
                      (print c))))
(sb-thread:make-thread(lambda()
                      (progn
                      (sleep 0)
                      (setf c(tan a))
                      (print "Tan of 1st no : ")
                      (print c))))
(sb-thread:make-thread(lambda()
                      (progn
                      (sleep 0)
                      (setf c(cos a))
                      (print "Cosine of 1st no : ")
                      (print c))))
(sb-thread:make-thread(lambda()
                      (progn
                      (sleep 0)
                      (setf c(min a b))
                      (print "Minimum Number : ")
                      (print c))))

SHARE
    Blogger Comment
    Facebook Comment