freenode/#lisp - IRC Chatlog
Search
3:15:46
drmeister
Hi - are there any common lisp pretty printers for source code outside of the one in slime?
3:16:34
drmeister
We need to indent code in jupyter notebooks - so we need a source formatter implemented in Common Lisp.
3:24:45
mfiano
drmeister: Only thing I'm aware of is the ident module of the Lem editor, but I have no idea if it will meet your needs.
3:57:11
beach
stylewarning: I think your point about education is the more significant one, but some of us are working to fix the tooling problem. We have several components, but some crucial ones are missing and some are incomplete. And we don't have a strategy for integrating everything yet. If you want to know more, let me know.
4:05:58
beach
stylewarning: My motivation for working on the tooling problem is not to attract more people of the kind that would be attracted by something like Cursive, though. My motivation is that our tooling is not great for experienced developers.
4:29:27
beach
What SLIME does is just indentation. It does not introduce line breaks, the way a pretty printer would.
7:35:38
SebastianM
Hey guys is there a way see the list of all symbols available in eg sbcl from within the repl?
7:41:32
White_Flame
hitting Tab twice in slime can also bring up whatever it thinks is visible/possible
7:42:27
beach
SebastianM: Every time you type a variable, like x in your code, a new symbol is created.
7:45:01
beach
Then, you do the same thing, but you check whether each symbol has an FDEFINITION. And don't forget to check `(SETF ,symbol) as well.
7:45:40
phoe
(let (x) (do-external-symbols (s :cl) (when (fboundp s) (pushnew s x))) x) ;=> list of length 752
7:46:48
phoe
otherwise it's going to be just as unmanageable as the list of all symbols, even if somewhat smaller
7:47:05
phoe
(length (let (x) (do-all-symbols (s :cl) (when (fboundp s) (pushnew s x))) x)) ;=> 13557
7:56:23
flip214
phoe: mfiano: Alfr_: thanks for the additional discussion... I'd vote for keeping the documentation and fixing ITERATE to _not_ overload COUNT.
7:56:43
flip214
Or is it possible to just switch to dwim.hu.iterate? Ain't that a clean(er) rewrite with the same features?
7:59:32
flip214
well, perhaps we need some annotation for libraries which symbols could be removed on tree-shaking, ie. when an image is built that has no need for further compilation (so no macros etc.)
8:16:35
markasoftware
In `(,(form-with-side-effects) ,(more-side-effects)) are the forms guaranteed to execute in order?
8:18:26
beach
That one should reduce to (list (form-with-side-effects) (more-side-effects)) or something similar.
9:38:14
lukego
Xach: Maybe I ask you a Vecto question? I'd like to use it for CAD drawing and just making sure I'm not barking up the wrong tree. I want to plot using non-pixel units, e.g. micro-meters, and it seems like I can just use (SCALE X Y) to switch units e.g. to plot in micrometers and have value values translated to (say) one pixel per 0.1mm. Is that all fine and good? Or is that a really bad idea for some reason?
9:51:41
lukego
(Somehow it took me a while to shake my initial misapprehension that pixel coordinates would have to be integers. Guess I'm just not used to fractional pixels. But didn't make sense when thinking about how rasterization works and looking closer at the examples to notice the trig.)
10:05:40
lukego
Thinking about how to extend SLIME so that Lisp can return richer presentations e.g. Emacs text properties in strings and images with imagemaps defining actions. Maybe Lisp would not send RESULT = string but rather RESULT = string | (text-properties ALIST RESULT) | (png-image DATA IMAGEMAP). So you can return a mix of strings and images, with arbitrarily nested text properties over both
10:13:41
jmercouris
I don't want to replace my make-instance 'xyz with make-animal, as it is meant to be consumed by users other than me
10:13:52
jmercouris
and they may not think oh, I need to use the make-animal method rather than make-instance
10:15:43
shka_
i found that trying to force lisp not behave as lisp is generally speaking a bad idea
10:16:06
jackdaniel
sounds complicated, I'm not sure if anyone will appreciate that you make something what looks like a fish behave like a dog
10:18:24
splittist
I've always thought of make-instance as pretty low-level, and make-FOO as the (an?) appropriate 'user' inteface
12:14:32
beach
jmercouris: (defclass fish () ()) (defclass salmon () ()) (setf (find-class 'fish) (find-class 'salmon)) (make-instance 'fish)
12:15:52
beach
jmercouris: Renaming the class is an entirely different thing than what you initially said you want.
13:13:39
luis
TIL ASDF loads a system and its dependencies using a single with-compilation-unit. That's unfortunate.