как да насоча haskell към android с помощта на jhc?

Искам да напиша функция (модул) на Haskell от тип: String -> String за извикване в Android. Най-лесният метод изглежда да използва JHC за генериране на C код, след което да използва Android NDK за генериране на споделена библиотека, но не можах да намеря документация за JHC. JHC също използва ли Cabal за изграждане? JHC достатъчно стабилен ли е, за да използва Parsec или Attoparsec библиотека?


person doofin    schedule 21.03.2015    source източник
comment
Най-лесният метод вероятно е Frege.   -  person Janus Troelsen    schedule 17.04.2016


Отговори (2)


През 2011 г. имах ограничен успех, използвайки JHC по подобен начин, но насочен към iOS вместо Android. Първоначалните резултати бяха добри само за стартиране на нещата, но ние в крайна сметка отхвърли JHC в полза на GHC точно защото започнахме да получаваме странни грешки по време на компилиране на програми, които използват Parsec. Имайте предвид, че това беше през 2011 г., така че JHC може да се е подобрил много оттогава.

Ако искате да дадете шанс на GHC, бих препоръчал да разгледате този пример който използва GHC 7.8 за компилиране на игра за Android. Все още не съм го използвал от гняв, но успях да го накарам да работи на Docker, като стигнах до възстановяване на играта от нулата и инсталирането й на истинско устройство с Android, така че подходът определено има заслуги.

АКТУАЛИЗАЦИЯ от август 2017 г.: Мориц Ангерман публикува подробни инструкции за насочване към Android с кръстосано компилатор на GHC.

person Cactus    schedule 19.04.2016
comment
Благодаря за отговора ви, но когато публикувах наградата, се надявах на скорошни опити, точно защото не видях някой да използва JHC за това от 2011 г. - person Janus Troelsen; 20.04.2016

Е, компилатор, наречен eta, може би най-удобният начин сега. Той е насочен към jvm и ще създаде jar файл, така че можете директно да го поставите във вашия проект

person doofin    schedule 17.08.2017