да, некая проблема есть
Александр Петросян (PAF) 09.11.2004 11:01
происходит следующее: code-junction взрывается в руках.
только его взяли в руки, он вычисляется. ещё раз взяли в руки, ещё раз вычисляется.
method-junction так себя не ведёт: ему нужны параметры для вызова.
поэтому code-junction можно только использовать только после вычисления.
ясно, что после вычисления тип уже не junction.
рассмотрим пример:
@main[][i]
$i(0)
^mywhile($i<10){
$i
^i.inc[]
}
@mywhile[expr;code]
^while($expr){$code}
тут в while ушёл code-junction.
не обращайте внимание на скобки. и круглые и фигурные скобки создают code-junction.
соответственно в while надо обязательно code-junction вычислять.
и parser не знает, что за оператор будет применён к выражению (и будет ли применён вообще), parser достаёт значение code-junction и вычисляет его
сначала, потом остальное.
красивого решения не вижу.