<div dir="ltr"><div>Hi,<br></div><div>I'm aware of the <a href="https://microsoft.github.io/debug-adapter-protocol/">debug adapter protocol</a> but I have not used it yet.</div><div>The external stg interpreter debugger has a terminal based UI currently, because I was focusing on the debug and profile features so far and not on UI.</div><div>My debugger is programmable though, you can write a debug script to automate the breakpoint setup along with other debug commands.</div><div>see: <a href="https://youtu.be/wt6iCgYmVGA?t=2809">https://youtu.be/wt6iCgYmVGA?t=2809</a><br></div><div><br></div><div>Cheers,</div><div>Csaba<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Dec 2, 2021 at 4:08 PM YueCompl <<a href="mailto:compl.yue@icloud.com">compl.yue@icloud.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">This sounds pretty exciting! <div><br></div><div>Can we expect a full fledged stepping debugger integrated with IDEs via <a href="https://github.com/phoityne/haskell-debug-adapter" target="_blank">https://github.com/phoityne/haskell-debug-adapter</a> ? <a href="https://github.com/phoityne/ghci-dap" target="_blank">https://github.com/phoityne/ghci-dap</a> is still quite limited feature-wise.<div><div><br><blockquote type="cite"><div>On 2021-12-02, at 22:52, Csaba Hruska <<a href="mailto:csaba.hruska@gmail.com" target="_blank">csaba.hruska@gmail.com</a>> wrote:</div><br><div><div dir="ltr"><div>Hello,</div><div><br></div><div>Today I'll do a presentation about the external stg interpreter.</div><div>If you are interested please join and ask questions.</div><div><a href="https://skillsmatter.com/meetups/13654-haskell-stg-interp" target="_blank">https://skillsmatter.com/meetups/13654-haskell-stg-interp</a></div><div><br></div><div><div>Regards,</div><div>Csaba Hruska</div></div><div><br></div><div>Abstract:<br><h3>
Haskell: Why and How the External STG Interpreter is Useful
</h3>
<div><p>The
 external STG interpreter is a from scratch implementation of the STG 
machine in Haskell. Currently it supports almost all GHC primops and RTS
 features. It can run real world Haskell programs that were compiled 
with GHC Whole Program Compiler (GHC-WPC). GHC-WPC is a GHC fork that 
exports the whole program STG IR.</p><p>The external STG interpreter is an excellent tool to study the 
runtime behaviour of Haskell programs, i.e. it can run/interpret GHC or 
Pandoc. The implementation of the interpreter is in plain simple 
Haskell, so it makes compiler backend and tooling development 
approachable for everyone. It already has a programmable debugger which 
supports step-by-step evaluation, breakpoints and execution region based
 inspection. It also can export the whole program memory state and 
call-graphs to files for further investigation. These features make it 
easy to find a memory leak or to identify a performance bottleneck in a 
large real world Haskell application.</p><p><a href="https://github.com/grin-compiler/ghc-whole-program-compiler-project" target="_blank">https://github.com/grin-compiler/ghc-whole-program-compiler-project</a></p>
</div></div></div>
_______________________________________________<br>ghc-devs mailing list<br><a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br></div></blockquote></div><br></div></div></div></blockquote></div>