Estoy buscando algo para reemplazar loch (y su preprocesador) ya que no se compila con GHC 7.¿Cómo puedo obtener la posición donde se invocó el error?
En concreto, si error
se llama entonces me gustaría averiguar, tan convenientemente como sea posible, donde fue llamado desde (el número de línea y el seguimiento de la pila sería bueno).
Realmente no se puede controlar dónde o cuando otras bibliotecas utilizan 'error', pero mi preferencia personal por mi propio código es evitar 'error' tanto como sea posible. Como consejo general para cualquiera que lea esto, si necesita saber por qué el código está tomando una rama de ejecución particular, * no * use 'error' para encontrar un seguimiento de pila; la mejor manera en este momento es probablemente 'Debug.Trace'. –
@ DanBurton No creo que esto se aplique a lo que estoy pidiendo. Digamos que ejecuto mi programa y de forma inesperada obtengo '*** Exception: Prelude.head: empty list', ahora me gustaría saber dónde está la llamada a la cabeza que produjo este error en el código fuente. – HaskellElephant
Tengo un parche para ghc que agrega eso. Necesito fusionarlo. – augustss