Ключи в процедурах
Ключ system
Этот ключ придает процедуре статус системной. У таких процедур таблица памяти может быть удалена. У обычных процедур таблица памяти не удаляется и входит в так называемый "мусорный ящик" (garbage collector).
Ключи operator и arrow
Эта пара ключей задает процедуре статус оператора в "стрелочной" нотации (›). Это достаточно пояснить следующими примерами:
Ключ trace
Ключ trace задает вывод отладочной информации:
> о: = ргос(х,у) option trace, arrow; x-sqrt(y) end: о: = proc (x, y) option trace, arrow, x – sqrt(y) end proc > o(4.2.); { › enter o, args = 4.2. 2.585786438 ← exit о (now at top level) = 2.585786438} 2.585786438
Ключ copyright
Этот ключ защищает тело процедуры от просмотра. Это поясняют следующие два примера:
> o: = proc(x,y) x-sqrt(y) end: о: = proc (x, у) х – sqii(y) end proc > oo: = proc(x.y) option Copyright; x-sqrt(y) end; oo: = proc(x,y)… endproc > oo(4.2); 2.585786438
Нетрудно заметить, что во втором примере тело процедуры уже не просматривается. Для отмены защиты от просмотра можно использовать оператор interfасе(verboseproc=2).