SRFI Idea: Programmatic REPL/Interaction Environment
Jeronimo Pellegrini
(01 Aug 2020 21:12 UTC)
|
Re: SRFI Idea: Programmatic REPL/Interaction Environment
philipk@xxxxxx
(01 Aug 2020 21:43 UTC)
|
Re: SRFI Idea: Programmatic REPL/Interaction Environment Jeronimo Pellegrini (01 Aug 2020 22:26 UTC)
|
Re: SRFI Idea: Programmatic REPL/Interaction Environment Jeronimo Pellegrini 01 Aug 2020 22:21 UTC
On August 1, 2020 6:43:20 PM GMT-03:00, xxxxxx@posteo.net wrote: >"Jeronimo Pellegrini - j_p at aleph0.info (via srfi-discuss list)" ><xxxxxx@srfi.schemers.org> writes: > >> I understand this would require reviewing existing >> protocols (maybe including those not from the Scheme >> world, such as SLIME and LSP)... > >But I'd have to look into Geiser's, SLIME's and LSP's architecture (and >their deficiencies) to find out what's missing and what would be nice to >have. I'm willing to help if you agree to work together. >> And I believe it would be important to only require minimum >> support (as Geiser does), since some features may require >> functionality that Scheme implementations don't have. > >My idea was to have "rings" of support, so that more flexible >implementations don't get "pulled down" by the simpler ones: > >It might look something like this: > >- essential features (core) > * checking what parts of the protocol are implemented >- superficial interaction (necessary) > * evaluate an expression > * load a module > * expand a macro (unsure about this one) > * implementation details (along the lines of cond-expand) >- basic system interaction (recommended) > * find definitions > * basic completion mechanism (symbols) > * list available modules > * inspect signatures >- extended system interaction (welcome) > * multi-threaded interaction support > * value introspection/modification > * call-stack tracing > * find referrers * Error location, debugger interaction? * system information? (Easy with SRFI 176) > >> Also, a SRFI for this would really be nice if it came >> with tests that actually told the implementor what >> he did wrong (see the related Geiser issue [1]). >> Ideally, two test suites, one on the Scheme side, and >> one on the IDE side (the SRFI should be IDE-agnostic, >> but I think it would be great to at least offer an >> Emacs Lisp test suite). > >That's also a good point. Come to think of it, this could make it even >easier to just have a compatibility shell script for running Scheme >programs, That is interesting! > but also to not break with the spirit of the community, that >would deter people from supporting it (ala systemd). Very good point! >> And maybe debugging support? A hook that would send >> all messages exchanged between IDE and Scheme somewhere? > >I feel that it would be better to first lay the ground-work for a >communication-protocol, and some basic functionality. Debugging seems >like a more ambitious project, that would probably be better to specify >as an extension? I thought of a simple dump functionality, but then, it could have the same fate as the transcript-* procedures, so maybe not a good idea. :) >The last ring I mentioned above could probably by extended and split >into a debugging feature-set, if it also had breakpoints, step-by-step >evaluation and those kinds of things. Interacting with steppers would be great! J. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.