2015-03-21 15 views
6

Chcę napisać funkcję Haskella (moduł) typu: String -> String do wywołania w systemie Android. Najłatwiejszą metodą wydaje się użycie JHC do wygenerowania kodu C, a następnie użycie NDK Androida do wygenerowania wspólnej biblioteki, ale nie mogłem znaleźć żadnej dokumentacji dla JHC. Czy JHC używa również Cabala do budowania? Czy JHC jest na tyle stabilny, aby korzystać z biblioteki Parsec lub Attoparsec?jak kierować haskell na Androida za pomocą jhc?

+0

Najprostszą metodą jest prawdopodobnie Frege. –

Odpowiedz

3

W 2011 roku miałem ograniczony sukces, używając JHC w podobny sposób, ale kierując się na iOS zamiast Androida. Initial results were good po prostu uruchomiłem to oprogramowanie, ale ostatecznie wyrzuciliśmy JHC na korzyść GHC właśnie dlatego, że zaczęliśmy uzyskiwać dziwne błędy podczas kompilacji programów używających Parsec. Pamiętajcie, to było w 2011 roku, więc od tego czasu JHC mogło się znacznie poprawić.

Jeśli chcesz dać GHC szansę, polecam looking at this example, który używa GHC 7.8 do skompilowania gry na Androida. Nie używałem go jeszcze w gniewie, ale udało mi się sprawić, by działał na Dockerze, aż do odbudowania gry od zera i zainstalowania jej na prawdziwym urządzeniu z systemem Android, więc podejście zdecydowanie ma tę zaletę.

AKTUALIZACJA od sierpnia 2017 r .: Moritz Angermann opublikował detailed instructions on targeting Android with a GHC cross-compiler.

+0

Dziękuję za odpowiedź, ale kiedy opublikowałem nagrodę, miałem nadzieję na ostatnie próby, właśnie dlatego, że nie widziałem nikogo używającego JHC do tego od 2011 roku. –

+1

Czy próbowałeś już GHC? – Cactus

0

Dobrze a compiler called eta może najwygodniejszy sposób now.it skierowany JVM i będzie produkować pliku JAR, dzięki czemu można go umieścić bezpośrednio w projekcie

Powiązane problemy