freenode/#lisp - IRC Chatlog
Search
4:21:29
no-defun-allowed
Most proposals for readable hash tables I've seen forget about the test function.
4:21:52
no-defun-allowed
Not to say that adding somewhere to put a test function isn't easy, but most people forget it.
4:23:05
Nilby
and implemntation specific things like :weakness, and that it won't work with *read-eval* nil
5:20:30
splittist
FWIW, my current thinking on CLIME is to use it as an enhanced PRINT-OBJECT etc. for development. There are times when a cool visualisation of what is happening would assist. If I have a kewl-project/clime system for development (just as I have a kewl-project/test), and there is a library of visualisations to build on (CLIME:AS-CONS-TREE etc) then the slime repl would have even more superpowers.
5:28:54
fiddlerwoaroof
splittist: cool, I don't know if you were influenced by my slime-media demos, but I was hoping those demos would produce something like this :)
5:31:38
splittist
lukego is the one. But, yes, seeing all the clim goodness folks are doing makes me want to have it NOW (:
5:40:57
lukego
this close --> <-- to getting ACCEPT to respect the requested type but time for brekky and getting 7yo to school
6:00:39
fiddlerwoaroof
lukego: I contributed this a while ago to slime as well: https://github.com/slime/slime/blob/master/contrib/slime-buffer-streams.el
6:01:40
fiddlerwoaroof
It only provides text streams, basically, but the use-casees overlap slightly
6:02:15
fiddlerwoaroof
I usually use this from things like drakma:*header-stream* where I want to see some debugging info, but I don't want to clutter the repl
6:27:30
fiddlerwoaroof
Cool stuff, I'm getting weird rendering on my Mac at the moment, but I'll be watching with interest
6:54:10
lukego
fiddlerwoaroof: yeah that sounds like the sort of feature you could use many times per day. I do basically the same thing in emacs lisp code quite a lot.
6:55:12
lukego
I think this would play well with CLIME i.e. to be able to output presentations to such buffers instead of just the REPL.
6:59:42
lukego
I don't think there's actually anything at all currently tying CLIME to the REPL except that's where images happen to be printed by default. you can also e.g. copy/paste them into other buffers and they still work. The presentation enable/disable code is globally searching all buffers for the special slime-clime-foo text property that marks an image to update.
7:17:43
lukego
we should also have a way to assign images IDs like (with-output-to-emacs (s :id :foo) ...) such that when you use the same ID again it updates the existing image(s) in Emacs rather than inserting a new one. that way you can do animation-like things.
7:25:14
lukego
pushed @ https://github.com/nuddyco/slime/commit/a4b9bc2c82fc2ce6cf6c8983acaaf437583cf65b
7:43:46
lukego
I might take a breather before continuing onto the next major topic which is commands
7:50:49
lukego
Yeah seems like there's a mismatch somewhere. I think the visual bounding box is being calculated by McCLIM but then the differently-sized image is being rendered by SVG. So they are not in agreement somehow..
7:52:52
lukego
splittist: I pushed jackdaniel's suggested fix for the output records ordering issue i.e. to reverse the records. So you will need to update your demos to draw the background first rather than last :)
7:53:33
lukego
fiddlerwoaroof: if you want a nasty workaround you could just draw a black rectangle at the beginning to define a minimum canvas size
8:05:53
fiddlerwoaroof
When I inspected a generated SVG, the text was being placed too closeto the top of the bock
8:42:43
lukego
one more idea rattling around my brain is to somehow make (with-output-to-emacs (s) ...) optional. So if you'd just call e.g. (draw-rectangle* ...) directly in the REPL it would still give you the graphics when the evaluation ends. Somehow implicitly have a CLIM canvas for the extent of a SLIME invocation.
8:44:44
jackdaniel
draw-rectangle* takes the stream argument either way (and it is not default), you need to bind it somehow
8:46:25
jdz
lukego: How about merging that into WITH-ROOM-FOR-GRAPHICS (if I remember the name correctly)?
8:51:27
lukego
jackdaniel: true but maybe T could work? *standard-output* still be bound to a SLIME-OUTPUT-STREAM and we could hang CLIM methods on that?
8:53:38
lukego
jdz: hm not sure how that would work exactly. I guess the listener has a bunch of code all painting onto the same canvas and having to avoid clobbering each other here. in Emacs each drawing is a separate object and they are patched together like a collage
8:54:14
jackdaniel
it won't in this case I think. also, slime output stream does not have output recording
8:55:19
jackdaniel
you specialize the method invoke-with-room-for-graphics on slime-output-stream and wrap in with-output-to-emacs-stream instead
8:57:16
jackdaniel
instead of before you could make a trampoline, but that will work only for functions you provide methods for
9:06:03
jackdaniel
it was meant to abbreviate prodigy, but someone made a typo and it stands for a progidy ,)
9:23:43
splittist
I would be surprised if there weren't problems with the text stuff. It was working, then I tried to get smart (:
9:46:56
splittist
fiddlerwoaroof: if you used draw-text* directly, does the same thing happen? Also, generally, we should apply the transformations and clipping
11:39:55
lotuseater
hi there, after updating emacs and sbcl, then invoking slime i got a mysterious error
11:43:48
lukego
lotuseater: I think that I had this recently too, and the solution was to upgrade to a newer SLIME (or I suppose alternatively downgrade SBCL)
11:44:38
lukego
git clone https://github.com/slime/slime ~ && echo '(load "~/slime/slime.el")' >> ~/.emacs
15:36:48
Josh_2
beach: slow progress is better than no progress. I have been really dreading some work I had to do so I've been putting it off, right now I have sat down and I'm going to get it done :P