Open yeesian opened 3 years ago
This looks really quite interesting, and appealing especially for exploratory / first time use. What about reproducability? Getting prompted while trying to run someones script could also be a bit annoying. Or would it be possible to convert the selection to code that gives the same result?
Or would it be possible to convert the selection to code that gives the same result?
Yeah, all great questions -- I'm thinking it might be good to have it in a separate/experimental package for that reason, so that it can have more "client-heavy types" to track the history of commands/options/etc.
I'm also looking at https://github.com/mapbox/rasterio#rasterio-cli and https://github.com/Toblerity/Fiona#fiona-cli and the GDAL utilities for inspiration on what the user experience might be like first.
I do think that the Julia REPL is where I'd want it to be -- since we'd get access to displays and help+shell modes and all the facilities that comes with Julialang packages that way.
Yeah, I think that makes sense. If it is for REPL, does it also work for VSCode inline evaluation, Pluto, IJulia, e.g. all interactive environments?
This looks really quite interesting, and appealing especially for exploratory / first time use.
Yeah I'm now quite convinced now that it doesn't belong in this package (since it presumes an approach to working with open-ended user specifications), and should be fleshed out in a separate package that is concerned with end-user UX and workflows.
If it is for REPL, does it also work for VSCode inline evaluation, Pluto, IJulia, e.g. all interactive environments?
I don't think TerminalMenus would work for those, that's a great point. I haven't thought through how such a solution should pair with packages in https://github.com/JuliaGizmos and be useful for e.g. https://jupyterlab.readthedocs.io/en/stable/.
I've been toying with the following idea of using https://docs.julialang.org/en/v1/stdlib/REPL/#TerminalMenus to create interactive prompts in the REPL, for example:
It can go much further than that, e.g. getting prompts on what are the methods that can be called on that dataset, before iteratively diving deeper that way:
But before I go down that rabbit hole, curious to hear people's thoughts on the matter -- @visr @evetion @rafaqz.
(relevant code for the above example)