;;; -*- Mode:Lisp; IBase:10.; -*- ;;; ;;; SIXBIT: A package for dealing with sixbit. ;;; ;;; This library was created by KMP, 22 Oct 81 ;;; ;;; (SYMBOL->SIXBIT sym) Returns the sixbit for the first 6 characters in sym, ;;; which must be a symbol. ;;; ;;; (SIXBIT->SYMBOL num) Returns the interned symbol whose printname is described ;;; by the sixbit quantity num, which must be a fixnum. (DEFUN SYMBOL->SIXBIT (SYM) (IF (NOT (SYMBOLP SYM)) (SYMBOL->SIXBIT (ERROR "Arg to SYMBOL->SIXBIT must be a symbol" SYM)) (CAR (PNGET SYM 6.)))) (DEFUN SIXBIT->SYMBOL (NUMBER) (IF (NOT (FIXNUMP NUMBER)) (SIXBIT->SYMBOL (ERROR "Arg to SIXBIT->SYMBOL must be a fixnum" NUMBER)) (DO ((N NUMBER (LSH N -6)) (I 0 (1+ I)) (L NIL (LET ((CHAR (LOGAND N #O77))) (IF (ZEROP CHAR) (IF L (CONS #\SPACE L)) (CONS (+ CHAR #\SPACE) L))))) ((= I 6.) (IMPLODE L)))))