(defvar *canvas* nil) (defvar *context* nil) (defun my-function () (init-canvas) (draw-sine)) (defun init-canvas () (progn (setf *canvas* (ps:chain document (get-element-by-id "example"))) (setf *context* (ps:chain *canvas* (get-context "2d"))) 1)) (defun draw-sine () (progn (ps:chain *context* (begin-path)) (ps:chain *context* (move-to 0 512)) ; (= (sin 0) 0) (do ((angle 0 (+ angle (/ pi 50))) (x 0 (+ x 12))) ((>= angle (* 2 pi))) (let ((y (+ (* 480 (sin angle)) 512))) (ps:chain *context* (line-to x y)) (ps:chain *context* (move-to x y)))) (setf (ps:@ *context* stroke-style) "black") (ps:chain *context* (stroke)) 1))