> 1 <

Автор Сообщение

rawlik

Members


Статус

8 сообщений

Где: ---
Род занятий: rawlik
Возраст: 37

#2783   2010-08-28 16:21 GMT+3 часа(ов)      
В стандарте написано, что функция slot-value применима к "Объектам"
Применим ли макрос with-slots и функция slot-value к структурам?
в CLISP и SBCL такой код прокатывает:

(defstruct aaa ()
(a 0 :type integer)
(b 1 :type integer))
 

(defparameter test (make-aaa ))

TEST

(slot-value test 'a)

0

(slot-value test 'b)

1

Насколько такой код переносим, и что на этот счет говортит стандарт ?

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#2785   2010-08-29 01:41 GMT+3 часа(ов)      
там исчо
Each slot-description in a defstruct form may specify one or more slot-options. A slot-option consists of a pair of a keyword and a value (which is not a form to be evaluated, but the value itself).

Акромя всего


Each class that corresponds to a predefined Common Lisp type specifier can be implemented in one of three ways, at the discretion of each implementation. It can be a standard class (of the kind defined by defclass), a structure class (defined by defstruct), or a built-in class (implemented in a special, non-extensible way).


В руководстве к описанию структуры также написано, что создаётся instance of ... и автоматически к этому конструктор и аксессор


имхо, переносимо)
I wish I'd made you angry earlier

antares0

Members


Статус

175 сообщений

Где: Russia
Род занятий:
Возраст:

#2786   2010-08-29 10:59 GMT+3 часа(ов)      
Цитата
rawlik :
В стандарте написано, что функция slot-value применима к "Объектам"
Применим ли макрос with-slots и функция slot-value к структурам?
...
Насколько такой код переносим, и что на этот счет говортит стандарт ?


Не переносимо (не имхо). Насчет применимости к "объектам", дочитать до конца.

rawlik

Members


Статус

8 сообщений

Где: ---
Род занятий: rawlik
Возраст: 37

#2788   2010-08-30 05:14 GMT+3 часа(ов)      
Цитата
Цитата
antares0 :
Не переносимо (не имхо). Насчет применимости к "объектам", дочитать до конца.


Т.е. поведение CLISP и SBCL явно "Implementation dependent".
До конца дочитал, вот:
Цитата
Note in particular that the behavior for conditions and structures is not specified.

Спасибо.
> 1 <


Онлайн :

0 пользователь(ей), 16 гость(ей) :




Реклама на сайте: