freenode/#lisp - IRC Chatlog
Search
3:21:17
beach
phoe: No, I hadn't seen that. Probably didn't exist when I did my work. And the purpose is not the same anyway.
6:55:00
no-defun-allowed
Should be enough to login to a specially set up email account and mail the operator a thread backtrace?
7:16:53
larsen
good morning! I am having a problem with Slime I don't know how to debug and fix. If I invoke macroexpansion (slime-expand-1, C-c RET), instead of showing the result of the macro expansion in a dedicated buffer (*slime-macroexpansion*), it: opens said buffer; expands the macro _inplace_, meaning it substitutes the content of my file buffer with the result of the expansion (I then have to revert-buffer to restore the situation). I
7:16:53
larsen
suspect this has to do with other Emacs extensions I use, but I can't imagine a strategy to debug the problem (other than emacs -Q I guess, and trying to activate my setup piece by piece)
7:35:26
pve
Good morning. Am I correct in assuming that the following must return a string if the package ASD doesn't exist:
7:35:30
pve
(handler-case (read-from-string "ASD::QWE") (package-error (x) (package-error-package x)))
7:38:24
jackdaniel
pve: I think that standard does not specify whether reader signals a package-error in this situation
7:42:19
jackdaniel
http://www.lispworks.com/documentation/HyperSpec/Body/02_ce.htm "For example ..., the reader signals a correctable error" (examples are not normative, but it is a paragraph just using the phrase "for example")
7:43:01
jackdaniel
and "If editor::buffer is seen, the effect is exactly the same as reading buffer with the EDITOR package being the current package. "
11:04:28
iissaacc
and when i just blindly used pmap from lparallel in the REPL without doing any setup
11:04:53
iissaacc
instead of an error message i get a friendly "welcome to lparallel!" condition prompting me to set up a kernel
11:05:23
p_l
phoe: yes, but that requires a bit more work if you are going to represet XML in S-expressions :)
11:07:19
p_l
pjb: unfortunately I fear that one would need a special object for XML entities unless one wants to accidentally pollute the image in bad ways, for example to have nickname-independent namespace handling, as well as XML attribute lists
11:32:44
p_l
_death: I disagree. IIRC there's a single line to add to setup a kernel, and the main reason to have even the ability to use multiple kernels is to have control over them. If it created a kernel automatically, it would break a lot of stuff in fact
11:33:10
p_l
(related: why ITA ran, iirc, a customized CCL version that was modified precisely to not start threads automatically)
11:34:49
_death
p_l: a default does not preclude multiple kernels.. and a lazy default of a kernel containing nprocs workers makes sense to me.. I don't see why it should break stuff
11:36:24
_death
right now I have a line in my .sbclrc setting the kernel, and indeed it's an issue when dumping an image.. I could wrap the toplevel with a handler-bind to set it lazily, but..
11:36:26
p_l
_death: because there are non-trivial interactions in the running environment related to whether you have single or multiple threads
11:38:21
_death
p_l: a default kernel would be useful in a development setting.. an actual application would explicitly init its own kernel
11:39:07
p_l
_death: the issue I see is that anything that triggers threading is a danger in *development* setting. Much less in a deployed application setting
11:39:14
no-defun-allowed
I guess nproc is usually correct, but some people like to count cores and not hardware threads, and if I was doing something like pmapping URLs to retrieve over a network, I would want more worker threads.
11:39:25
p_l
it's already an issue when you link to some foreign lib and it triggers a thread when you don't expect it
11:41:19
no-defun-allowed
(Oh, and you would also have to implement thread count detection, as lparallel doesn't have that to my knowledge.)
11:42:47
p_l
you'd also need to check things like current resource limits, which is non-trivial and OS specific and nonportable
11:47:36
_death
it's not hard to find defeaters for any default.. anyway, even if the default default is not to have one, it could still make sense to allow a different default, say by setting lp:*kernel* to a function that can be called to create the actual kernel which will then be assigned to lp:*kernel*
13:52:52
younder
Josh_2, Well one of Lisp's traditional uses has been to experiment with languages. So you'd expect a bit of weirdness.
13:53:38
Josh_2
most of what I have read in Let Over Λ I just can't see how they would be used practically
13:56:22
younder
Josh_2, Let over lambda is a bit weird. Most get their bearings with 'Practical Common Lisp' with Peter Seibel