Подсунул мне недавно один человек задачку, которая заключалась в том, что нужно было «от балды» сгенерировать «хороший» пароль. Пришлось показать всю силу Icon…
… и написать несложную программку для такой пустяковой, казалось бы, задачи, самой сложной частью которой была переинициализация генератора случайных чисел.
В итоге получилось это:
procedure main(argv) local a,i,pass a:=&letters++&digits pass:="" every i:=1 to argv do { pass||:=a[?(*a)] } write(pass) end