Potrebuju jeste na chvilku vyhrabat tohle vlakno, protoze si myslim, ze jsem narazil na oblast kde unit testy predci typy.
A chtel bych si nechat poradit jestli je to tak nebo ne...
Problem typu je zavislost na kompilatoru. Ve smyslu ja musim 'verit' kompilatoru, ze provede spravne statickou typovou kontrolu. U unit testu kompilatoru verit nemusim, protoze overeni spravnosti je na nem nezavisle.
Ve vetsine pripadu to asi nebude velky problem, ale co kdyz se budu u nejakeho projektu rozhodovat, ze vymenim kompilator za jiny, protoze ma nejake vyhody, kterych chci vyuzit(napada me jen rychlost, ale muze jich asi byt vic).
Co myslite?
slovy klasika "Beware of bugs in the above code; I have only proved it correct, not tried it."
jestli jste tak daleko, že nemůžete věřit kompilátoru, tak byste měl testy napsat v jiném jazyce, přeložit jiným kompilátorem a testovat přímo objektový kód a v takové situaci byste možná chtěl i typy
Nejsem tak paranoidni (zatim :-)).
Vidim to spis tak, ze testy si muzu snadno prohlidnout a ziskam prehled o tom jake kontroly se delaji.
A kdyz zmenim prekladac tak ty testy porad budou delat ty same kontroly.
Kdezto kdyz nekdo vyrobi alternativni prekladac haskellu, ktery bude zazracne rychly, protoze vynecha nektere kontroly...
To je jako kdyby mi nekdo smazal cast testu.
Abych se ubranil "zlovuli" autora alternativniho prekladace budu muset rozumet tomu jak prekladac funguje driv nez ho pouziju.
A nebo budu muset naveky zustat u jednoho prekladace - compiler lock-in
Vim, ze je to hodne hypoteticky priklad, ale to mi snad v kontextu tohoto vlakna odpustite.