Diciamo che scrivo un codice Haskell e lo compili in un'installazione Ubuntu a 64 bit, collegando staticamente tutti i pacchetti Haskell e le librerie c. Il risultato sarebbe compatibile binario con qualsiasi altra distribuzione Linux a 64 bit?Compatibilità binaria Haskell
11
A
risposta
1
Sì, a causa del collegamento statico: è tutto nel file binario. E sì, possono diventare abbastanza grandi, ad esempio un output yesod può facilmente arrivare a 70 MB. Tuttavia, ha un server HTTP all'interno di 70 MB.
Quindi, il collegamento statico può quindi aiutare la portabilità, ma ha i suoi svantaggi in termini di dimensioni del file eseguibile.
Dovrebbe essere, vedere ad es. http://stackoverflow.com/a/10549484/477476 e http://stackoverflow.com/a/5953787/477476 – Cactus
Wow, il binario risultante da 'ghc -02 test.hs -optl-static -optl-pthread 'è circa 2,5 GB (test.hs contiene' main = print "yes" '). –
in realtà 2,5 MB. Qualcuno non può leggere "ls' output haha" –