Как изменяемые массивы реализованы в Haskell?

Я прочитал много исследовательских работ по этой теме, и они обычно утверждают, что массивы реализованы с использованием монад. Но ни одна из этих статей не дала четкого определения того, как должен быть определен сам «тип» Array, они только дали определения для функций, использующих монады для доступа или изменения этого типа. Как в Haskell реализованы массивы, имеющие время O (1) для доступа или изменения индексированного элемента ?! (например, STUArray и MArray)

27
задан Don Stewart 24 April 2011 в 20:45
поделиться