libera/#commonlisp - IRC Chatlog
Search
9:52:38
Guest63
Appears I have to run (named-readtables:in-readtable cmu-infix:syntax) in REPL and cannot just run it as part of a file
10:05:39
phoe
a file-only IN-READTABLE only affects the file compiler, same as a file-only IN-PACKAGE
10:08:42
Guest63
Does it cascade down in a file? E.g. if I have a file with the above, and then have a "(load ...)", will the file loaded have it?
11:49:39
Guest63
(defun debate (starting-arg &optional remaining-arg) (apply #'try-arg (cons starting-arg remaining-arg)))
12:23:26
jcowan
Unfortunately, such a call would not be tail recursive, so the debate goes on until one of the participants blows their stack.
12:40:00
tfb
pretty sure somewhere out there there is code that does (apply #'funcall ...) in real use, sadly (perhaps not with iterated funcalls)
13:19:51
phoe
beach: isn't that redundant? is there a case of APPLY FUNCALL that cannot be reduced to just APPLY?
13:21:38
beach
But then, the list is computed by LOOP, so an intermediate variable would have to be introduced to hold the result.
13:22:29
beach
So (apply #'funcall (loop ...)) would become (let ((list (loop ...))) (apply (first list) (rest list)))
15:07:56
beach
Here is an interesting project suggestion for someone who is not too busy: Write a "magit"-like pane for McCLIM. And presumably call it "McGIT".
15:08:40
beach
Such a pane will be a nice ingredient to have in an IDE. But it could also be used independently.
15:12:44
beach
This project could be done in fairly small increments, and it could be useful very soon. I mean, many people use only very basic GIT features anyway, so it would be useful to such people almost immediately.
15:15:02
beach
The project would include an (optional) application frame so that the entire thing could be run as an application.
16:23:51
shka
ACTION wanted to implement the some of the missing functions for his ordered containers
17:35:36
pjb
jmercouris: you could probably load swank, and start a swank server from the main or initialization routine.
17:37:17
jmercouris
Are you suggesting I start a lisp image from inside the JS main thread and listen for output from lisp?
17:37:29
pjb
jmercouris: just add swank as dependency in the asd, and (swank:start-server :port <some-port>) in the run, before starting hunchentoot.
17:39:28
pjb
It would then be trivial to write a RSRPL where you read as exp, send a request to your web app with it, read the response and print it. loop.
17:39:50
lisp123
defgeneric & defmethod - are they independent of package namespaces (i.e. if I do a defgeneric in package xyz and a defmethod on same name in package abc - it will work?)
17:41:03
pjb
(progn (defgeneric #1=#:foo (x) (:method ((x t)) 'generic) (:method ((x string)) (format nil "foo-~A" x))) (mapcar '#1# '(42 "yep"))) #| --> (generic "foo-yep") |#
17:46:27
Lycurgus
cl-state-machine and finite-state-machine are the two pkgs, I've found for cl fsm, any recommendations for others
17:46:55
lisp123
jmercouris: you can use web sockets and send / receive messages (use the package :hunchensocket) - not sure if that it is too much overhead
18:10:49
jmercouris
so I guess I'll just have to run a webserver in JS, and then send JS from Lisp land
18:28:12
yitzi
Bike: Just to confirm. common-lisp-jupyter doesn't do anything with Javascript. There are some display commands to send Javascript to the frontend, but it is completely opaque from CLJ's perpective. All JS is handled by whatever frontend you have, i.e. notebook or lab.
18:30:02
yitzi
I have a kind of literate programming tool like cweb that can call whatever Jupyter kernel you want, but I haven't used it in a while. No JS, no user input. Just using the kernels to execute code. Kind of an example from the other end of the spectrum.
20:01:08
lisp123
I joined comp.lang.lisp and tried to delete the spam posts - it says only a "content moderator" has access to that
20:01:25
lisp123
Does that mean there is someone who can delete these posts? There's only 1 per day looks like
20:12:14
pjb
lisp123: posts can be cancelled by its originator, if he made prosivions to this effect (include a key that let him cancel the article). But once the nntp servers have spread the data, it cannot be deleted. Someone will have a copy.
20:14:26
pjb
Now, since there's a lot less nntp traffic, only a few servers remain. The articles could be removed or filtered in a server.
20:15:32
pjb
It's a sad situation, but technically nowadays, a single server can easily serve all the nntp users.