From: Bayley, A. <Ali...@ld...> - 2005-06-15 12:16:16
|
> From: Thiago Arrais [mailto:thi...@gm...] > > 1. write a parser in Java for a functional language and > integrate it with the plug-in we have to this point. This > parser should provide the execution engine (and UI > components) with the info needed to trace the execution back > and forth (to source code) > > 2. write a translator that gets a parser output and produces > executable code for the execution engine I was wondering if it would be a good idea to have GHC emit Core and use this as input to your execution engine, but then you wouldn't have the mapping from the debugger back to the source (Core is significantly de-sugared). Is is necessary to write the parser in Java? Wouldn't it be better to leverage existing work? What do you think about using GHC's Happy and Alex definitions to *generate* a Java parser? How would you handle calls to library functions i.e. the hierarchical libraries? > 3. write the execution engine (graph reducer), which should: > (a) accept breakpoint definition upon execution startup and > during it (i.e. we are not stuck to breakpoint definition > before program startup > only) > (b) be able to interpret all programs written in the chosen language > (c) provide an observer interface for components interested > on observing the execution > 4. write the UI components for showing the execution engine > output (i.e. debugger UI components) I think the system you've described is a lot like Vital: http://www.cs.kent.ac.uk/projects/vital/index.html They have a parser (for a subset of Haskell), and an execution engine. Alistair. ----------------------------------------- ***************************************************************** Confidentiality Note: The information contained in this message, and any attachments, may contain confidential and/or privileged material. It is intended solely for the person(s) or entity to which it is addressed. Any review, retransmission, dissemination, or taking of any action in reliance upon this information by persons or entities other than the intended recipient(s) is prohibited. If you received this in error, please contact the sender and delete the material from any computer. ***************************************************************** |