Cerco qualcosa per sostituire loch (e il suo preprocessore) dal momento che non viene compilato con ghc 7.Come posso ottenere la posizione in cui è stato chiamato l'errore?
In particolare, se si chiama error
poi vorrei capire, nel modo più conveniente, dove è stato chiamato da (numero di riga e traccia dello stack sarebbe carino).
Non si può davvero controllare dove o quando altre librerie usano 'error', ma la mia preferenza personale per il mio codice è quello di evita "errore" il più possibile. Come consiglio generale a chiunque stia leggendo questo, se hai bisogno di sapere perché il codice sta prendendo un particolare ramo di esecuzione, * non * usa 'error' per trovare una traccia stack; il modo migliore adesso è probabilmente 'Debug.Trace'. –
@DanBurton Non penso che questo si applica a quello che sto chiedendo. Dite che eseguo il mio programma e inaspettatamente ricevo '*** Exception: Prelude.head: empty list', ora vorrei sapere dove si trova il call to head che ha generato questo errore nel codice sorgente. – HaskellElephant
Ho una patch per ghc che lo aggiunge. Ho bisogno di unirlo. – augustss