Closed nimec01 closed 2 weeks ago
@owestphal, @marcellussiegburg, ich weiß nicht, wer von euch das hier am schnellsten adressieren könnte.
Die testTask Funktion aus output-monad
ist eine generalisierte Version von der entsprechenden Funktion in LogicTasks.Debug
aus diesem Repo. Das Modul hatte ich fürs lokale Testen angelegt. Teile davon sollten in Zukunft durch die output-monad
-Funktionen ersetzt werden. Aber für den Moment sollte das eigentlich ausreichen.
Okay, aber wie sehen denn dann mal konkrete Aufrufe, sagen wir für zwei verschiedene Aufgabentypen, aus und welche Module müssen dafür vorab jeweils in den ghci
geladen werden?
Die lokale testTask
-Funktion erfordert einen Parser (im zweiten Beispiel wäre das kürzer), konsistenterweise verwenden die folgenden Beispiele aber das testTask
aus output-monad
.
Für LegalCNF:
:m +Control.Monad.Output.Debug Control.Monad.Output Test.QuickCheck
Control.Monad.Output.Debug.testTask English (generate (generateLegalCNFInst defaultLegalCNFConfig)) LogicTasks.Syntax.IllegalCnfs.description LogicTasks.Syntax.IllegalCnfs.partialGrade LogicTasks.Syntax.IllegalCnfs.completeGrade readLn
Für TreeToFormula:
:m +Control.Monad.Output.Debug Control.Monad.Output Test.QuickCheck Text.Parsec
Control.Monad.Output.Debug.testTask English (generate (generateSynTreeInst defaultSynTreeConfig)) (LogicTasks.Syntax.TreeToFormula.description "/tmp/") LogicTasks.Syntax.TreeToFormula.partialGrade LogicTasks.Syntax.TreeToFormula.completeGrade (either (error . show) id . parse parser "Input" <$> getLine)
done via 4ca4d6479b34d4a7e9e362711354e95a4f43a626
Es wäre sinnvoll, wenn die Readme eine aktuelle Anleitung beinhalten würde, wie man die Aufgaben lokal austesten kann.
Die Anleitungen, die aktuell in #46 und #48 zu finden sind, funktionieren derzeit nicht. So führt folgender Aufruf nur zu einer Fehlermeldung:
Wenn man das Modul
Control.Monad.Output.Generic
noch hinzunimmt (welches eine FunktionwithLang
exportiert) führt der Aufruf nun zu folgender Fehlermeldung:Der Auslöser für diese Probleme ist wohl eine Änderung in
output-monad
. Ein Upgrade auf eine noch aktuellere Version würde es erlauben auf dietestTask
Funktion zurückzugreifen. Generell wäre es aber erstmal wünschenswert, eine funktionierende Anleitung bereitzustellen.