It seems like the better bang for buck might be implementing a Jupyter kernel, 
and leveraging that ecosystem.

https://github.com/jupyter/jupyter/wiki/Jupyter-kernels

> On Dec 20, 2018, at 02:46, Neil Van Dyke <n...@neilvandyke.org> wrote:
> 
> If anyone is looking to avoid relatives over the winter holiday season, 
> here's an idea for a big feature to add to DrRacket (which I really wish I 
> could do myself right now)...
> 
> If you've not seen a "notebook" interface, like in Jupyter Notebook and some 
> other data science-oriented tools, one way to look at it is like a literate 
> programming REPL that can be edited, stored to a file, and loaded.  You can 
> also share these notebooks with others, or generate formats like HTML or 
> Markdown (such as for blog posts).
> 
> The notebook is a document that's a sequence of text cells and code cells, 
> and the code cells include the output (e.g., expression results, displayed 
> plots) from the last time the code cell was evaluated (if it was).  Each code 
> cell also displays a small serial number that indicates in what order it was 
> last evaluated (if it has been), which is not necessarily the top-to-bottom 
> order of the document while you're working with it.  Of course, you can clear 
> this code evaluation and output at any time, and cause all the code cells to 
> be evaluated in-order.
> 
> IIRC, DrRacket emphasizes the Definitions window over the Interactions window 
> (aka REPL), to reduce confusion for students.  I think the confusion level of 
> the Notebook interface is somewhere between that of Definitions window and a 
> REPL.  So the notebook interface might not be good for new students, unless 
> they're already comfortable with the notebook interface from other classes.
> 
> Implementation-wise... the people here who built DrRacket can correct me or 
> say more about this, but it seems DrRacket implementation might already 
> include most of the difficult work of implementing a notebook interface.  The 
> evaluation engine is there, and there's UI for snips in the Interaction 
> window, and UI for embedding blocks of other formats in the Definitions 
> window.  Maybe combine/adapt that in a new Notebook window, or implement this 
> as features of the Definitions window.  Then you can decide whether to also 
> implement the JSON save format of Jupyter Notebook, for possible later 
> interoperation.  And other things after that, like in-buffer Markdown or 
> Scribble rendering of text cells.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to