Ответ
Misha v.3 28.11.2006 13:17
считаю что junction-property не имеет права на существование, ибо по сути это метод. метод и используйте.
теперь по реализации: как ПАФ неоднократно объяснял junction-code и junction-variable в отличаются от junction-method. junction-method (это когда у нас есть @method[sParam] и мы можем проверять ^if($method is "junction"){...} или вызывать по имени: $sMethodName[method] $jMethod[$$sMethodName] ^jMethod[$sParam]) обладает полной функциональностью и довольно стабилен. это - метод, соотв. он может быть вызван из любого места кода, для него важно лишь чтобы ему были переданы необходимые параметры.
junction-variable (это такое: $jCode{^i.inc(1)} ^while{conditions}{$jCode}) и junction-code (это когда мы передаем код в метод, например: ^method{^if(def $type}{update}{insert}}) - короткоживущие вещи. проверить их существование без их выполнения невозможно, передать их куда либо тоже невозможно (обращение к ним "взрывает" их и возвращает результат выполнения).
теперь вернемся к properties: вы спрашиваете почему не может быть в свойстве сохранен код: по причине того, что junction-variable являются короткоживущей. т.е. даже если вы сохраните её без нарушения целостности (все переменные/методы, используемые в ней, остались доступны) вы не сможете её извлечь: вместо неё будет возвращаться результат её выполнения.
думаю по высказаным выше причинам ПАФ не дал возможности хранить в свойствах junction.