You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.4 KiB
43 lines
1.4 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
<pkgmetadata>
|
|
<maintainer type="project">
|
|
<email>haskell@gentoo.org</email>
|
|
<name>Gentoo Haskell</name>
|
|
</maintainer>
|
|
<longdescription>
|
|
Common debugging/error/exception functions that give file location information
|
|
|
|
> $(err "OH NO!")
|
|
>
|
|
> main:Main main.hs:16:1 OH NO!
|
|
|
|
Notice how it displays package:module file:line:character
|
|
It exposes the functions err (error), undef (undefined), and trc (Debug.Trace.trace). All of these behave the same as their normal counterpart but also spit out a location.
|
|
|
|
Here is my favorite helper, debug, which is like trace but just show the value.
|
|
|
|
> debug [1,2,3]
|
|
>
|
|
> DEBUG: [1,2,3]
|
|
> [1,2,3]
|
|
|
|
And The Template Haskell version.
|
|
|
|
> $(dbg) [1,2,3]
|
|
>
|
|
> DEBUG main:Main main.hs:1:3 [1,2,3]
|
|
> [1,2,3]
|
|
|
|
Also there is a version of thrwIO that gives location information
|
|
> ($(thrwIO) $ AException) `catch` \e -> putStrLn ("Caught " ++ show (e :: AException))
|
|
>
|
|
> Caught AException "main:Main test/main.hs:25:6"
|
|
|
|
See module for a listing of all the functions with short descriptions, and the homepage for some more examples https://github.com/gregwebs/ErrorLocation.hs
|
|
</longdescription>
|
|
<upstream>
|
|
<remote-id type="github">gregwebs/FileLocation.hs</remote-id>
|
|
</upstream>
|
|
</pkgmetadata>
|