вторник, 22 октября 2013 г.

Ещё немного "про монады"...

С глобальными переменными - "разобрались".

Их - НЕТ. Ибо они "в монадах".

Ибо они в "контексте".

Локальные переменные? Нужны?

"Очевидно" - нет. Ибо локальные переменные служат лишь вопросу "оптимизации вычислений".

А функции - "и так" - кешируемые. Или "лениво вычисляемые" (кешируемость и "ленивость" кстати это одно и то же?)

Значит - локальные переменные - не нужны.

Так?

Ну например:

 l_Pos := Pos(SomeString, 'a');
 if (l_Pos > 0) then
  Result := Copy(SomeString, l_Pos, Length(SomeString)-l_Pos);
VS:
 if (Pos(SomeString, 'a') > 0) then
  Result := Copy(SomeString,Pos(SomeString, 'a'), Length(SomeString)-Pos(SomeString, 'a'));

-- ну с точностью, до +-1.

P.S. Хотя.. Даже если "локальные переменнные и есть" - ну в общем тоже понятно - как их кешировать и параллелить. Они же - "в контексте".

Комментариев нет:

Отправить комментарий