;;;; cl-scopes/core/message (defpackage :scopes/core/message (:use :common-lisp) (:export #:message #:create #:head #:head-as-list #:data #:sender)) (in-package :scopes/core/message) ;;;; message (defclass message () ((head :reader head :initarg :head) (sender :reader sender :initarg :sender :initform nil) (timestamp) (data :accessor data :initarg :data :initform nil))) (defun create (head &key data sender) (make-instance 'message :head head :data data :sender sender)) (defmethod print-object ((msg message) stream) (format stream ">" (head msg) (sender msg) (data msg))) (defun head-as-list (msg) (head msg))