Issue with SrcSpan of AbsBinds
Simon Peyton-Jones
simonpj at microsoft.com
Fri Mar 25 14:53:18 CET 2011
I don't think anyone has really looked at those SrcSpans before. I'm fixing...
Simon
| -----Original Message-----
| From: glasgow-haskell-users-bounces at haskell.org [mailto:glasgow-haskell-
| users-bounces at haskell.org] On Behalf Of JP Moresmau
| Sent: 18 March 2011 13:52
| To: glasgow-haskell-users at haskell.org
| Subject: Issue with SrcSpan of AbsBinds
|
| Hello, I'm trying to get Scion to work well with GHC7, and I found a
| small issue (I'm not saying it's GHC7 only, maybe it was there in GHC
| 6.12). I'm using 7.0.2
| I have the following code, which is idiotic but proves the point:
|
| fun :: t -> [Char] -> [Char]
| fun _=reverse . map toUpper
|
| And the TypecheckedSource gives me something like (using the
| ghc-syb-utils package to dump it:)
|
| {Bag(Located (HsBind Var)):
| [
| (L {src\Folder1\ForAll.hs:8:1-29}
| (AbsBinds
| [{Var: t}]
| []
| [
| ((,,,)
| [{Var: t}] {Var: Folder1.ForAll.fun} {Var: fun}
| (SpecPrags
| []))]
| ({abstract:TcEvBinds}) {Bag(Located (HsBind Var)):
| [
| (L {src\Folder1\ForAll.hs:9:1-27}
| (FunBind
| (L {src\Folder1\ForAll.hs:9:1-3} {Var: fun})
| (False)
| (MatchGroup
|
| Obviously my code starts at line 8 in that example.
| The issue occurs when the scion code wants to tell the user what
| (name+type) is a particular line/column in the source
| Now the scion code does something simple: to find something at a given
| point, it goes down the tree, and when it encounters a Located object,
| it checks the location spans around the point we're looking at. The
| issue here is that the AbsBinds has a SrcSpan that only covers the
| type signature, and not the rest of the code, hence (I think) we never
| go down the contents, and Scion cannot resolve anything when a user
| asks it to.
| If the type signature is not present, the problem doesn't occur: the
| AbsBinds location covers all the source code.
| If the type signature is present but without any type variable, there
| is no AbsBinds and no problem.
|
| Is that normal behavior, and hence should I code a work around in Scion?
|
| Thanks!
|
| --
| JP Moresmau
| http://jpmoresmau.blogspot.com/
|
| _______________________________________________
| Glasgow-haskell-users mailing list
| Glasgow-haskell-users at haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
More information about the Glasgow-haskell-users
mailing list