К основному контенту

Сообщения

Сообщения за января 27, 2021

Сплин

 В предыдущем посте, я показал как писать простые макросы на лиспе ниже пример обобщенных методов и использования макросов в своем коде. 1 2 3 4 5 6 7 ( defstruct person name ) ( defgeneric hello ( obj ) ( :documentation "Say hello to object." )) ( defmethod hello (( obj person )) ( writeln "Hello, " ( person-name obj ) "!" ))

common lisp macro example | графика

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ;; simple common lisp program ;; demo work macro ;; writeln macro provide print function ;; as some in turbo pascal ( defmacro writeln ( &rest args ) ` ( progn ( loop for e in ( list ,@ args ) do ( format t "~A" e )) ( format t "~%" ))) ( defvar name "Alice" ) ( macroexpand ' ( writeln "hello, " name "!" )) ( defun hello ( name ) writeln "hello, " name "!" )