УДК УДК 681.322.068:658.512.22.011.56
В статье предлагается эффективный метод пересчёта геометрических ограничений в графическом редакторе, реализованном средствами функционального программирования. Эффективность достигается применением ленивых потоков состояний. Полученный алгоритм по скорости выполнения и по расходу памяти имеет одинаковые показатели с императивным аналогом, но при этом сохраняет прозрачность ссылок.
The paper proposes an effective method of conversion of geometric constraints in a graphical editor, realized by means of functional programming. Efficiency is achieved by using lazy functional state threads. The resulting algorithm for execution speed and memory consumption has the same performance with imperative analogue, but it preserves the reference transparency.