Zauważyłem, że GHC (powszechnie używany kompilator Haskell) ma pakiet testowy napisany w Pythonie, a nie w Haskell (jak naiwnie oczekiwałbym). Jaka jest historia tego? Czy zapisywanie zestawu testów w innym języku ma szczególne zalety?Dlaczego zestaw testów GHC jest napisany w języku Python, a nie w Haskell?
edytuj: Za sugestię w komentarzach, poprosiłem o to w /r/haskell. Obecnie generowane trzy odpowiedzi, które mam podane poniżej:
tathougies powiedział:
Test kierowca pakiet wydaje się być napisany w Pythonie. Python jest dobrym językiem skryptowym wysokiego poziomu.
To jak pytanie "dlaczego GHC używa Make zamiast haskell"? Prawdopodobnie dlatego, że make jest lepszy w uruchamianiu programów powłoki z wbudowaną zewnętrzną rozdzielczością zależności.
Same testy wydają się być napisane w Haskell, weryfikując pewne właściwości kompilatora i łapiąc regresje. Jeśli się nie powiedzie, wygląda na to, że sterownik Pythona jest informowany, a następnie zgłosiłby błąd użytkownikowi.
phadej dodania:
FWIW GHC wbudowany system jest przepisany do korzystania z biblioteki drgania: Haskell.
eacameron powiedział:
nie wiem. Ale GHC nie ma luksusu używania Haskella w taki sam sposób jak ty i ja. Musi bootstrap używać poprzedniej wersji samego siebie i chce uniknąć zależności. Python jest wymaganie dość lekki, ponieważ większość systemów (z wyjątkiem Windows) wyposażone jest zbudowany w
Głosuję, aby zamknąć to pytanie jako nietypowe, ponieważ w ogóle nie chodzi o programowanie. Jeśli są ciekawi decyzji podejmowanych przez zespół GHC, zapytaj ich na swojej liście mailingowej. –
lub zapytaj [/r/haskell] (http: //reddit.com/r/haskell) lub [listę adresową Haskell-Cafe] (https://groups.google.com/forum/#!forum/haskell- kawiarnia) – ErikR
Myślę, że byłoby rozsądniej przenieść to pytanie do programistów.SE niż po prostu je zamknąć. Jest to uzasadnione pytanie dotyczące inżynierii oprogramowania, ale tylko poza zakresem SO. –