Saya pernah menjadi pengembang Java untuk waktu yang lama, tetapi baru-baru ini, saya bergabung dengan tim Haskell. Di dunia java, jika Anda memiliki proyek besar, dengan beberapa tim mengerjakannya, pendekatan yang umum adalah dengan menggunakan server artefak seperti Maven untuk mempermudah dan mempercepat pengembangan. Banyak alat pembuatan, seperti Ant, Maven, Gradle, dapat membangun proyek dan mengunggah file jar ke server artefak yang dapat digunakan oleh anggota tim lainnya tanpa rasa sakit. Oleh karena itu, dengan memecah proyek menjadi sub-proyek yang lebih kecil, waktu pembangunan juga berkurang secara drastis.
Di sisi Haskell, kami menggunakan cabal
untuk membangun proyek. Proyek kami membutuhkan waktu sekitar 10-15 menit untuk membangun tanpa optimasi. Butuh beberapa jam jika optimisasi kompiler dihidupkan, yang menyakitkan.
Saya bertanya-tanya, bagaimana kita dapat melakukan hal yang sama seperti yang kita lakukan di Jawa di sini. Apakah ada cara mudah untuk mengkompilasi dan mengunggah biner paket (pustaka) ke server artefak dan menggunakan binari prebuilt pada waktu build? Saya tahu bahwa karena Haskell menghasilkan kode mesin (daripada kode byte di Jawa) mungkin ada masalah kompatibilitas, tetapi kita mungkin dapat memiliki binari yang berbeda untuk arsitektur / OS yang berbeda yang disimpan di server artefak.
cabal
, GHC
, Test.Framework
atau linker.