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?
Odpowiedz
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.
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. –
Czy próbowałeś już GHC? – Cactus
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
- 1. Jak mogę kierować reklamy na pola tekstowe za pomocą CSS?
- 2. Jak kierować reklamy na tablety, ale nie na IE9 za pomocą zapytania o media
- 3. Połączyć Mp4s za pomocą mp4parser na Androida
- 4. Usuwanie za pomocą ormlite na Androida?
- 5. Śledzenie za pomocą androida za pomocą opencv
- 6. Wstrzymaj aplikację na Androida za pomocą Phonegapa
- 7. Twórz aplikacje na Androida za pomocą Xcode?
- 8. Jak kierować reklamy na istniejącą pulę aplikacji za pomocą narzędzia webdeploy?
- 9. Jak animować przycisk akcji pływającej za pomocą przejścia na Androida?
- 10. Jak wywołać usługę WCF za pomocą ksoap2 na Androida?
- 11. Jak zwrócić bitmapę za pomocą onPictureTaken na Androida?
- 12. Jak uruchomić aplikację na Androida za pomocą linku do przeglądarki?
- 13. Jak wysłać dane do witryny za pomocą aplikacji na Androida
- 14. Jak odczytać właściwości Androida za pomocą Java
- 15. Analizowanie znaczników za pomocą TagSoup w Haskell
- 16. Importowanie funkcji za pomocą aliasu w Haskell
- 17. Jak kierować określoną wersję iPhone'a?
- 18. Zbuduj prostą bibliotekę haskell za pomocą nix
- 19. Gradle - Nie można kierować na platformę: "Java SE 8" za pomocą łańcucha narzędzi: 'JDK 7 (1.7)'
- 20. Jak kierować podkatalogi BuckleScript bsconfig.json
- 21. Uruchamianie aplikacji na Androida za pomocą niestandardowego polecenia Google Now
- 22. Renderowanie pliku PDF za pomocą Java na Androida
- 23. Testowanie aplikacji na Androida za pomocą Android Studio
- 24. Wylogowanie na Facebooku Za pomocą Androida SDK 3.0
- 25. GoogleSignInResult zwraca DEVELOPER_ERROR w aplikacji na Androida za pomocą Firebase
- 26. Komunikacja między urządzeniami przez Bluetooth za pomocą Phonegapa na Androida?
- 27. Cordova: Nie można skopiować pliku na Androida za pomocą Cordova
- 28. Uruchamianie poleceń powłoki za pomocą kodu Java na Androida?
- 29. Jak wyświetlać treści statyczne za pomocą Spocka (Haskell)?
- 30. Aplikacja na Androida za pomocą Androida.permission.READ_LOGS - czy to niegrzeczne?
Najprostszą metodą jest prawdopodobnie Frege. –