fork download
  1. (defclass лошадиные () ())
  2. (defclass конь (лошадиные) ())
  3. (defclass пегас (лошадиные) ())
  4.  
  5. (defmethod род ((животина лошадиные))
  6. (string-downcase (class-name (class-of животина))))
  7.  
  8. (defmethod заржи ((животина лошадиные))
  9. (format t "~&~@(~a~): И-ГО-ГО!" (род животина)))
  10.  
  11. (defmethod взлетай ((животина пегас))
  12. (format t "~&~@(~a~): Поехали нахуй!" (род животина)))
  13.  
  14. (defmethod насри ((животина лошадиные))
  15. (format t "~&*~a кекает*" (род животина)))
  16.  
  17. (defun зацени (лошадина)
  18. (format t "~&Гля, какой у меня ~a" (род лошадина))
  19. (заржи лошадина))
  20.  
  21. (loop :for род :in '(конь пегас)
  22. :for приказ :in '(насри взлетай)
  23. :for животина := (make-instance род)
  24. :do (funcall приказ животина)
  25. :do (зацени животина))
  26.  
  27. (defmethod отъеби ((ебущий лошадиные) (ебемый лошадиные))
  28. (format t "~&*~a засадил в ~aиный зад*" (род ебущий) (род ебемый)))
  29.  
  30. (defmethod отъеби :before ((ебущий пегас) (ебемый лошадиные))
  31. (format t "~&*~a взпорхнув прицелился*" (род ебущий)))
  32.  
  33. (defmethod отъеби ((ебущий лошадиные) (циферки number))
  34. (format t "~&~@(~a~): Э-э-э! Я ж тебе не ~a, сам еби ~a" (род ебущий)
  35. (typecase циферки
  36. (bit "сишник-байтослесарь")
  37. (complex "математик")
  38. (real "физик"))
  39. циферки))
  40.  
  41. (let ((пегас (make-instance 'пегас))
  42. (п-с (make-instance 'пегас)))
  43. (dolist (x (list п-с 1 1.2 #c(1 2)))
  44. (отъеби пегас x)))
Success #stdin #stdout 0.01s 29168KB
stdin
Standard input is empty
stdout
*конь кекает*
Гля, какой у меня конь
Конь: И-ГО-ГО!
Пегас: Поехали нахуй!
Гля, какой у меня пегас
Пегас: И-ГО-ГО!
*пегас взпорхнув прицелился*
*пегас засадил в пегасиный зад*
Пегас: Э-э-э! Я ж тебе не сишник-байтослесарь, сам еби 1
Пегас: Э-э-э! Я ж тебе не физик, сам еби 1.2
Пегас: Э-э-э! Я ж тебе не математик, сам еби #C(1 2)