Как установить ghcjs 8.8 или 8.10?
Я хотел бы создать страницу HTML / JS с reflex-dom (только клиентская сторона, интерфейс). Однако я использую пакет синглтонов (2.6), и мне кажется, что он не может быть скомпилирован с помощью ghcjs или ghc 8.6.5 (синглтоны 2.5.1, сломанные-не исправленные). Поэтому решения reflex-platform, reflex-stone или аналогичные мне не помогли.
Я видел, что ghcjs 8.8 или 8.10 можно установить через haskell.nix , но не нашел, как это сделать.
Как мне это сделать? Или, может быть, есть способ использовать GHCJS (или решения рефлекс-платформы) с недавними пакетами (которым нужен ghc 8.8 или +)? Есть ли способ использовать ghcjs-8.8 или 8.10 с рефлекс-платформой?
2 ответа
Прежде всего, я хотел бы подчеркнуть, что я никоим образом не связан с участниками GHC или GHCJS, а просто еще один человек, столкнувшийся с аналогичными проблемами, так что отнеситесь к этому с недоверием.
В настоящее время GHCJS поддерживает <= 8.6.5 из коробки. В настоящее время ведется некоторая разработка, и мы, вероятно, скоро увидим официально поддерживаемую версию 8.10.
Между тем вы можете попробовать построить следующие ветки на свой страх и риск:8.108.8
Компилятор ghcjs-8.10.7 находится в ветке nixpkgs-unstable, поэтому у вас должна быть возможность nix-сборки haskell.compiler.ghcjs810. Обратите внимание, что после фиксации 41f40771488e99c914a3da5de086cf794242c6d7 произошло что-то, что остановило сборку, я не знаю, было ли это решено. Но если вы вернетесь к этому моменту, ваша сборка должна работать.
Обратите также внимание, что он создает очень большие и довольно медленные исполняемые файлы, потому что оптимизатор отключен. Ghcjs-8.6.0.1 более удобен в этом отношении.