Я не уверен, что вызывает эту проблему, но в проекте, который я создаю, компилятор тратит часы на компиляцию модуля. Общий размер моей кодовой базы составляет 352 КБ, но ни один из модулей не превышает 10 КБ. Я использую собственный порт, но это очень тривиально; Я просто увлекаюсь Date.now()
этим.
Есть ли что-нибудь хорошо известное, что заставило бы компилятор elm компилировать вечно? У меня не так много зависимостей, но я много использую Html. Я был бы очень признателен за любые подсказки относительно того, что может вызвать это.
редактировать
Таким образом, оказывается, что выражения с большим регистром заставят оптимизатор занять много времени, начиная с 0,16. Вот обсуждение Elm-Discuss, поднимающее эту проблему, и суть неприятного совпадения случаев .
Я предполагаю, чтобы быть многословным и держать пряник там, почему компилятор elm выбрал этот путь для сопоставления регистра? Что здесь происходит за основной механизм? Почему компилятору требуется больше часа на оптимизацию 60+ совпадений с образцом в операторе case?