Принудительное предварительное вычисление константы

У меня есть объявление константы в Haskell - могу ли я принудительно вычислить его заранее? Я вижу код, который выглядит примерно так:

myList = [(a, b), (c, d)]
...
map (f . fst) myList

требует времени в вызове fst , когда я его профилирую (у него 168 миллионов вызовов). Двоичное представление myList довольно мало, и его можно, например, скопировать в глобальную память [если бы это была программа на языке C]. Я, конечно, компилирую с -O3 -optc-O3 .

Большое спасибо!

Создание экземпляров Lift для настраиваемого типа

Любое выражение, данное для lift вызов в ответе sclv должен быть экземпляром Lift. Есть библиотека с именем th-lift , которая будет генерировать экземпляры Lift для пользовательских типов данных. См. Документацию этого пакета .

13
задан gatoatigrado 13 June 2011 в 04:08
поделиться