-
Notifications
You must be signed in to change notification settings - Fork 93
Closed
Description
I want to change this program to coalton :
(load "~/quicklisp/setup.lisp")
(declaim (optimize (speed 3) (safety 3) (space 0) (debug 3)))
(ql:quickload "serapeum")
(defpackage mypack
(:use :cl :serapeum)
(:export main));defpackage
(in-package :mypack)
(defclass bank-account ()
(customer-name balance))
(defgeneric balance (dummy))
(defgeneric customer-name (dummy))
(-> customer-name (bank-account) String)
(defmethod customer-name ((account bank-account))
(slot-value account 'customer-name))
(-> balance (bank-account) Integer)
(defmethod balance ((account bank-account))
(slot-value account 'balance))
(-> (setf customer-name) (String bank-account) nil)
(defmethod (setf customer-name) (aname account)
(setf ( slot-value account 'customer-name ) aname))
(-> (setf balance) (Integer bank-account) nil)
(defmethod (setf balance) (abal account)
(setf ( slot-value account 'balance ) abal))
(defparameter *account* (make-instance 'bank-account))
(-> main () integer )
(defun main ()
(setf (customer-name *account*) "Alain")
(setf (balance *account*) 100)
(print (customer-name *account*))
(print (balance *account*))
0)
(in-package :cl)
(defun main ()
(mypack::main)
0 )
(sb-ext:save-lisp-and-die "test.exe" :toplevel #'main :executable t)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels