libera/#clim - IRC Chatlog
Search
6:51:44
lukego
I'd like to write a function "(PRESENT-FOR-EMACS object) => svg-string, metadata" that could be called on e.g. every REPL result to get a graphical CLIM representation e.g. to show as a tooltip on the ordinary textual value. Is this a sensible thing to do from the CLIM perspective? I'm thinking it's a bit funny not specifying a presentation type but PRESENTATION-TYPE-OF for DWIM should be reasonable in this context.
6:54:22
lukego
Maybe all I'm describing is PRESENT wrapped in a suitable stream like (CLIMI::WITH-OUTPUT-TO-DRAWING-STREAM (*standard-output* :svg nil) (PRESENT object)) which would basically give me what I want...?
6:56:38
lukego
I looked at the "simpleminded REPL from scratch" example but that doesn't seem to be doing automatic coercion of REPL results into CLIM presentations. So far I didn't identify any objects that actually do yield graphical representations in this way, which makes me wonder if PRESENTATION-TYPE-OF is really a thing in practice...??
6:58:25
lukego
and now when I say that out aloud I suspect that PRINT/FORMAT to a CLIM stream does the same job here and in that case maybe the minimal REPL would actually show rich graphical REPL results if there happened to be relevant PRESENTATION-TYPE-OF methods available for the repl result values...
7:00:20
lukego
though I'm obviously laboring within an incomplete mental model here because many objects do have PRESENTATION-TYPE-OF methods, e.g. 42 => INTEGER, but are maybe not shown graphically for other reasons e.g. lack of a method for rendering that presentation type on the relevant view/etc.
7:35:06
lukego
I notice in the "minimal repl" demo the value NIL is being printed as "NIL". I'd wondered if it should be "Null" to match the definition in standard-presentations.lisp and I _think_ that would be true except that PRESENTATION-TYPE-OF is classifying NIL as a SYMBOL and not a NULL. Or maybe none of those standard presentation methods apply in the minimal REPL demo for reasons that I'm failing to appreciate.