December 3, 2014
Overview : This is a simple calculator in post-fix run in GUI.
Simple Racket Calc.
- We have used car and cdr to parse through a string in a stack .
- We also used cons to stitch up the car after evaluation into a string in the stack.
- We also used let* a meta-circular interpreter which is transformed into a lambda.
- GUI was used for the visual presentation of the calculator. Lambda was used extensively and in the simplified form λ (lambda ).
- Require racket/include was used to help link the two modules .
External Technology and Libraries
This library helped in putting up a visual representation of the Simple Racket Calculator http://docs.racket-lang.org/gui/index.html
Favorite Lines of Code
- Norman Mutunga:
This helps figure out the operation that was keyed in with the numbers and in what order.
[(op? (car expr)) ;; Figure out what type of operation it is + ,- ,/ ,* (let* ([op (car expr)] [rhs (car stack)] [lhs (cadr stack)] [result ((op->procedure op) lhs rhs)]) ;; eval operation (eval-rpn (cdr expr) (cons result (cddr stack))))] ;; push result; pop lhs/rhs
- Dhvanil Patel:
Making top-row and adding that to mathcalculator frame and the second one creating a button and adding that to toprow panel
(define top-row ( instantiate horizontal-panel% ()
(parent mathcalculator ) (border 0 ) ( alignment '(left top ))))
( instantiate button% ()
(label "+") (min-width 50) (min-height 50) (callback ( lambda (button event) (send top-row show #t) (send display-window set-value "+") (display " Procedure: + "))))