;; -*- Mode: Lisp; -*- (in-package :plz) (defun mul (a b) (let ((r 0)) (when (< a 0) (setq a (- a) b (- b))) (while a (when (logand a 1) (setq r (+ r b))) (setq a (asr a) b (+ b b))) r)) (defun strlen (s) (let ((r s)) (while (aref r) (incf r)) (- r s)))