[Haskell-beginners] But I just want a function that returns stack depth!
Michael Turner
michael.eugene.turner at gmail.com
Sun Dec 12 10:57:03 UTC 2021
The following prints 1, as you'd expect:
-----------------
import GHC.Stack
foo :: HasCallStack => IO ()
foo = do
print (length (getCallStack callStack))
main =
foo
-------------------
But when I make it this:
...
l <- getCallStack callStack ;
print (length l)
I get all this:
------------------------------------------
...
• Couldn't match type ‘[]’ with ‘IO’
Expected type: IO ([Char], SrcLoc)
Actual type: [([Char], SrcLoc)]
• In a stmt of a 'do' block: l <- getCallStack callStack
In the expression:
do l <- getCallStack callStack
print (length l)
In an equation for ‘foo’:
foo
= do l <- getCallStack callStack
print (length l)
|
5 | l <- getCallStack callStack ;
| ^^^^^^^^^^^^^^^^^^^^^^
--------------------------------------------
What am I not seeing?
Regards,
Michael Turner
Executive Director
Project Persephone
1-25-33 Takadanobaba
Shinjuku-ku Tokyo 169-0075
Mobile: +81 (90) 5203-8682
turner at projectpersephone.org
Understand - http://www.projectpersephone.org/
Join - http://www.facebook.com/groups/ProjectPersephone/
Donate - http://www.patreon.com/ProjectPersephone
Volunteer - https://github.com/ProjectPersephone
"Love does not consist in gazing at each other, but in looking outward
together in the same direction." -- Antoine de Saint-Exupéry
More information about the Beginners
mailing list