[Haskell-beginners] But I just want a function that returns stack depth!

יהושע ולך yehoshuapw at gmail.com
Sun Dec 12 11:46:28 UTC 2021


have another look at
https://hackage.haskell.org/packaggetCallStackgetCallStacke/base-4.16.0.0/docs/GHC-Stack.html#v:callStack
<https://hackage.haskell.org/package/base-4.16.0.0/docs/GHC-Stack.html#v:callStack>

You need
```
let l = getCallStack callStack
print (length l)
```
the `getCallStack` does not return an "IO" value..


On Sun, Dec 12, 2021, 12:58 Michael Turner <michael.eugene.turner at gmail.com>
wrote:

> 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
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20211212/973ea3a2/attachment-0001.html>


More information about the Beginners mailing list