Good to know about. I did part of this, as well --- printing External
Core in 6.7 resulted in a panic, since coercions weren't translated,
and I fixed that. The patch mentioned below goes beyond mine, though,
by adding support for foreign labels. Fortunately, what I did was
only a few lines, and not much work. I was waiting to finish work on
the parser before I sent in a patch.
On the topic of parsing, it seems significantly harder to get
working, largely because, as Simon M was kind enough to point out,
IfaceSyn now uses Name rather than IfaceExtName. Therefore, the
parser needs to be able to assign a Unique value to each identifier
it encounters. Unlike the renamer, it doesn't need to figure out what
external identifier each one refers to, since they're all fully-
qualified, and refer to original, defining occurrences. Only local
variables may have overlapping names, it seems.
So, does anyone familiar with the renaming process for Haskell source
have any suggestions as to the best way to accomplish the simpler
Unique generation necessary for External Core?
Also, Sam, if you're also interested in getting the parser working,
we should coordinate so that we don't duplicate work.
Aaron
On Nov 1, 2006, at 12:00 AM, Simon Peyton-Jones wrote:
Thanks Sam.
Ian would you like to apply this, please?
Aaron: as keeper of External Core, you should know about this.
Simon
| -----Original Message-----
| From: [EMAIL PROTECTED] [mailto:cvs-all-
[EMAIL PROTECTED]
On Behalf Of Samuel Bronson
| Sent: 01 November 2006 01:15
| To: [EMAIL PROTECTED]
| Subject: darcs patch: Get External Core (-fext-core) working with
readline
|
| Tue Oct 31 19:36:49 EST 2006 Samuel Bronson <[EMAIL PROTECTED]>
| * Get External Core (-fext-core) working with readline
| Had to add support for dynamic C calls and for foreign labels
(Addr#
| constants). Actually I only did the printing side -- parsing is
not
| done yet. But at least now you can build the libraries with
-fext-core.
|
| I also got the function arrow to print out properly again (it was
| printing fully-qualified and z-coded!)
|
| I also added a field for calling convention name to the External
| data constructor in ExternalCore.Exp (for static C calls).
|
| I'm not exactly sure where to document all of this, so I haven't
done
| that, though I did comment the code a bit.
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc