Eskiden Java geliştiricisiydim ama son zamanlarda Haskell ekibine katıldım. Java dünyasında, üzerinde birkaç ekip çalıştığı büyük bir projeniz varsa, ortak bir yaklaşım, gelişimi kolaylaştırmak ve hızlandırmak için Maven gibi bir yapay sunucu kullanmaktır. Ant, Maven, Gradle gibi çok sayıda oluşturma aracı, projeyi oluşturabilir ve ekibin geri kalanı tarafından ağrısız olarak kullanılabilecek yapay sunucuya bir kavanoz dosyası yükleyebilir. Bu nedenle, projeyi daha küçük alt projelere bölerek inşa süresi de önemli ölçüde azalır.
Haskell tarafında cabal
projeyi inşa etmek için kullanıyoruz . Projemiz optimizasyon olmadan yaklaşık 10-15 dakika sürüyor. Derleyici optimizasyonu açıksa ağrılı olan birkaç saat sürer.
Acaba, burada Java ile aynı şeyi nasıl yapabiliriz. Paketlerin (kitaplıkların) ikili dosyasını derleme ve bir yapay sunucuya yüklemenin ve önceden oluşturulmuş ikili dosyaları oluşturma zamanında kullanmanın kolay bir yolu var mı? Haskell makine kodu oluşturduğundan (Java'da bayt kodu yerine) uyumluluk sorunları olabileceğini biliyorum, ancak muhtemelen yapay sunucuda depolanan farklı mimariler / işletim sistemleri için farklı ikili dosyalar olabilir.
cabal
, GHC
, Test.Framework
veya bağlayıcı.