freenode/#lisp - IRC Chatlog
Search
20:53:18
jmercouris
_death: I guess it could be a very effective way of debugging your own code :-D converting to them and back! I do find it however very unnatural, maybe if I give it a try for 3 months or something I would change my mind though, I have half a mind to try to do so after what you wrote
20:53:46
jmercouris
phoe: firstly, I think that is a bit too aggressive, secondly I did not say software needs justification to exist, I simply said that CLISP has no justification to exist
20:53:46
phoe
jackdaniel: I kinda agree, a surprising lot of free software exists because someone wanted to write it for no particular reason
20:54:42
phoe
jackdaniel: this, plus software that scratched someone's itch and then grew, plus some happy accidents, plus someone's personal frustrations
20:55:23
_death
jmercouris: it also makes it easier to thing about interfaces explicitly, since you have to decide what to export and from where
20:56:13
jmercouris
phoe: so what, why does that make you so angry? it is my belief that software *should* have a purpose for existing, even if that purpose is the amusement of the authors. When we are talking about CLISP as an implementation though, if it has no greater purpose beyond the author's amusement, why should the community care if it implements PLN or not?
20:56:47
jackdaniel
jmercouris: the one who is agitated is you. clisp has multiple unique featues, one is that it is the most portable
20:57:00
jmercouris
_death: CL has made me very lax with that regard, I used to consider that a lot more back in high school when programming in basic :-D
20:57:01
jackdaniel
second is that it is the only one I'm aware of which implements JIT (not ahead of time compilation)
20:57:49
_death
I think clisp is a cool implementation.. it has a good manual, quite portable, the code is not hard to understand.. was the first implementation I used
20:57:52
jackdaniel
note that you've brought the topic that "you don't understand why people do use clisp"
20:58:33
phoe
it's trivial to neglect the upsides of any piece of software and, from that point on, proceed about how it has no right to exist
20:59:36
phoe
I could do a low kick and start rambling about how nextbrowser is pointless purely for the purpose of demonstrating what I just said, but that's as pointless as rambling about clisp
21:00:10
jmercouris
phoe: well, saying you could do a low kick and then not doing it is effectively the same thing :-D
3:17:49
joinr
Is it expected behavior that using varargs within a recursive labels form will cause an infinite loop?
3:18:03
joinr
(defun f (&rest args) (LABELS ((aux (X &REST XS) (PROGN (IF (not (null xs)) (PROGN (PPRINT X) (aux (FIRST XS) (rest XS))))))) (apply #'aux args)))
3:19:24
joinr
expectation is that the null condition will be met eventually and computation stops. Instead, you get Nil printing out
3:21:21
joinr
this is a small reproducible case for a larger metprogramming deal. I thought labels would work fine (and it does) seemingly as long as you don't go into &rest arg territory and try to apply.
3:23:32
no-defun-allowed
I'm not sure if you intend for this to happen, but (f 0) will print nothing.
3:24:28
joinr
the non-terminating phenomena was what got me. totally forgot I'd have to apply on recurse.
3:34:24
lottaquestions
Hi all, is there a way of listing all the global variables in a running instance in slime?
3:38:21
Bike
technically there could also be variables named by inaccessible symbols, but that doesn't happen much
3:39:41
no-defun-allowed
(do-symbols (s) (when (and (boundp s) (eql (symbol-package s) package)) (print s))) will print all the symbols that are bound in the current package, which isn't all of them, but might be what you want.
6:24:07
beach
jackdaniel: Thanks for the link to Graham's article. He seems to put his finger on something important.
7:07:25
boeg
second day with sick kid at home, keeping me up all night. Think I'm gonna see if I can optimize on my advent of code adventure from yesterday