Ho notato che GHC (un compilatore Haskell ampiamente utilizzato) ha una suite di test scritta in Python, non in Haskell (come mi aspetterei ingenuamente). Qual è la storia di questo? Ci sono particolari vantaggi nello scrivere la suite di test in una lingua diversa?Perché la suite di test GHC è scritta in Python, non Haskell?
edit: Per un suggerimento nei commenti, ho chiesto questo /r/haskell. Ora ha generato tre risposte, che ho citato qui di seguito:
tathougies detto: Driver Suite
La prova sembra essere scritto in Python. Python è un buon linguaggio di scripting di alto livello.
È come chiedere "perché GHC usa Make anziché haskell"? Probabilmente perché make è meglio nell'esecuzione di programmi di shell con risoluzione di dipendenza esterna integrata.
Gli stessi test sembrano essere scritti in Haskell, verificando determinate proprietà del compilatore e regressioni di cattura. Se falliscono, sembra che il driver python sia informato e quindi segnalerà l'errore all'utente.
phadej aggiunto:
sistema integrato di FWIW GHC è stato riscritto per utilizzare scossa: la libreria Haskell.
eacameron detto:
Non lo so. Ma GHC non ha il lusso di usare Haskell nello stesso modo in cui tu e io. Deve eseguire il bootstrap usando una versione precedente di se stesso e vuole evitare le dipendenze. Python è un requisito piuttosto leggero poiché la maggior parte dei sistemi (ad eccezione di Windows) sono dotati di costruire nel
Sto votando per chiudere questa domanda come off-topic perché non si tratta affatto di programmazione. Se sei curioso delle decisioni prese dal team GHC, chiedi loro nella loro mailinglist. –
o chiedere [/r/haskell](http://reddit.com/r/haskell) o la [mailing list Haskell-Cafe] (https://groups.google.com/forum/#!forum/haskell- cafe) – ErikR
Penso che sarebbe più sensato spostare questa domanda su programmers.SE piuttosto che chiuderla semplicemente. È una domanda legittima per l'ingegneria del software, ma appena al di fuori dell'ambito di SO. –