freenode/lisp - IRC Chatlog
Search
19:47:48
didi
Weird. I can't clone SBCL's git repository. Git says "fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists."
19:52:44
jcowan
beach: I will dare to say that while (car nil) => nil may have some merit, the classic argument from assoc is not a good one
0:37:14
didi
Is there a size limit for the length of a &rest parameter or the size of an apply argument?
0:39:48
didi
This is such a frustrating bug. I updated SBCL but it still keep happening. I am trying to isolate it, but no luck yet.
0:52:51
didi
OK, I feel I am closing in. This either have to do with DEFMETHOD or the size of a &rest parameter. I changed the method to a DEFUN with a straight parameter and it computed without an error.
0:58:38
didi
Bike: Shouldn't I expect the rest argument to live enough for other functions to use it?
1:00:06
Xach
I am reminded of https://www.xach.com/naggum/articles/3067167916417343%40naggum.no.html
1:02:02
didi
I don't directly change it. Could a method's &key or DOLIST change it? This is weird. /me continues to dig
1:13:33
didi
Although, maybe the size of the function and/or variables plays a role here, by Bike comment on dynamic extend.
1:15:38
didi
Just trying to lighten up my day. I mean, I shouldn't pass &rest lists to other functions?
1:20:54
pierpa_
didi> can't you check a different implementation? in this way a lot of hypotheses can be pruned
1:22:16
didi
pierpa_: Heh. I think I'm way deep into SBCL; I might call SBCL-only functions in some places. ¯\_(ツ)_/¯
1:39:38
stacksmith
Hello. Why is (and) => T ? Superficially it seems that and returns nil or the last form...
1:49:53
Bike
on the opposite end, falsehood is the identity of disjunction. (or nil x) = x. so (or) is nil.
1:57:34
didi
Oh well, the error finally brought down my computer. Lots of RAM consumption and stuff.
2:00:52
didi
Ah, it is not me who is changing the rest parameter. If I don't copy-seq the rest parameter to the local (loop for x in rest-parameter ...), the error occurs. I am almost there.
2:11:09
didi
If anyone wants to look at the method, it is https://paste.debian.net/hidden/85956d89 . I'm even copying the rest parameter for my own use, and the error still occurs. This method calls lots of other functions, so I don't know how useful is to look only to it.
2:21:21
didi
pierpa_: Right. Copying the rest argument before passing it to MAKE-HSET doesn't influence the occurrence of the error.
2:29:25
jcowan
That article on vacuous truth doesn't make clear that sentences like "All my dogs are green" has two logical forms:
2:30:46
jcowan
whereas the reading "Each member of {my_dogs} is green is vacuously _false_ if I have no dogs.
2:31:11
jcowan
The first one has a negation in it, because A -> B = ~A or B, whereas the second does not
2:32:18
jcowan
I don't know any formal set theory, but it was explained to me in these terms by a logician
2:33:06
Bike
i'm unaware of how the second case would be written out in regular first order logic in a way that differs from the first case
2:35:41
jcowan
whereas here we have a qualified variable, whose domain is not every object (as in FOPL) but only the objects in the set
2:37:30
jcowan
I think this paper is relevant https://projecteuclid.org/download/pdf_1/euclid.ndjfl/1093887729
2:38:09
Zhivago
I think the simplest way to consider it is that it is a not-invalid subset of a valid set.
2:38:38
Zhivago
Which implies that when you take the union of that with another valid set you should get a valid set.
2:43:41
Bike
so, like i have no dogs, and my pal Negasi has one green dog. we can say ««all dogs Negasi and Bike have are green» is true iff all dogs negasi has are green and all dogs bike has are green». all dogs negasi and i have are green, and all of negasi's dogs are green, so to make the equivalence work all of my dogs should be considered green as well.
2:45:05
Bike
but it does mean that "all A are B" doesn't imply "some A are B". it's my understanding that aristotle killed boole in a duel over this
2:49:16
jcowan
Well, they definitely fought it out, but who's the winner is still an open question, as usual in philosophy
2:52:02
pierpa_
here https://plato.stanford.edu/entries/quantification/ there must be the answer. Unfortunately it is too long to read now :)
3:14:43
Bike
if i put the dolist in a function and call it it's still an error but there's no crash...
3:26:58
didi
loke: SLIME's debugger, so I'm guessing "yes". Here what it looks like: https://paste.debian.net/hidden/9987bb28
3:32:18
didi
If it's relevant, I am running SBCL version "1.4.5" with --dynamic-space-size 4096 and --control-stack-size 32.
3:33:54
loke
If you have more than a few tens of arguments, you should consider changing your design.
3:35:19
loke
A list is much better than rest arguments of course, but a vector would probably be faster still (depending on what you intend to do with it)
3:36:23
loke
didi: Yes, but not for the purpose of creating lists several hundreds (or even thousands) of elements long.
3:42:28
pierpa_
They've been too optimist when defining CALL-ARGUMENT-LIMIT. Resetting it to 50 should fix this problem. 50 btw is way more than reasonaly high.
3:50:24
Zhivago
I'm not sure that I can agree. Having call-argument-limit makes things like code generators much harder to deal with.
3:56:00
pierpa_
loke: a code generator which must work by the spec and not by accident can rely on not more than 50 arguments, anyway.
4:02:17
dtornabene
does anyone know of any security tooling done in lisp? or people who do security work in lisp whose brain I could pick about some questions...?
4:05:08
dtornabene
rosette https://emina.github.io/rosette/ is this beautiful tool, and there's been some really interesting work done in the last few years utilizing SAT/SMT around security issues
4:05:37
dtornabene
stuff like Sean Heelans work https://www.cprover.org/dissertations/thesis-Heelan.pdf
4:06:04
dtornabene
Automatic Generation of Control Flow Hijacking Exploits for Software Vulnerabilites
4:06:23
smokeink
well you can do pretty much any kind of securing tooling with lisp, I think an intelligent sql-injection tester with lisp would be cool, but I haven't heard of any yet
4:08:15
smokeink
it's like python on steroids, with super speed and the full power interactive developing and other things that make the program logic easier to follow
4:08:20
dtornabene
I've googled a little bit, was hoping there was some code to look at, haven't found anything yet. Which struck me as odd, given what would seem like the strengths of lisp for security work
4:10:02
smokeink
actually I also wanted to see such stuff in Lisp, but most lispers are into areas of research other than security
4:10:26
dtornabene
like, in the applications tab of rosettes website theres a tool for verifying BGP policies, a couple of other things, but no offensive tools
4:17:48
smokeink
dtornabene: https://www.pvk.ca/Blog/2014/03/15/sbcl-the-ultimate-assembly-code-breadboard/
4:27:07
smokeink
dtornabene: (not lisp related, but nice nonetheless) "I've a dream: A peer-to-peer network, where services like search engines or social networks aren't offered by big companies, who in turn need to make money by selling the privacy of their users. Where all data is encrypted, so that access is only possible for people who have the key and really are authorized. Which layman can use without cryptic user interfaces. Where the browser is a platform for
4:27:07
smokeink
running useful applications without the mess of Flash and JavaScript. Without the lag of "buffer bloat" and without the speed problems of a protocol not designed to be assisted by hardware." http://www.complang.tuwien.ac.at/anton/euroforth/ef16/papers/paysan.pdf https://fossil.net2o.de/net2o/doc/trunk/wiki/net2o.md
4:29:38
burzos
The difficulty I think is that we have the technical ability to do that^ piece-by-piece but that won't get critical adoption.
4:30:04
burzos
You'd need a facebook competitor, not just something that did encrypted chat correctly.
4:40:11
didi
Thank you, everybody. Now everything is good and well. Tho, IMO, SBCL shouldn't accept calls for functions with more arguments it can handle. I even got some wrong answers from the offending function, so it didn't crash every time.
7:30:15
Shinmera
It is a bit funny to me that two reviewers note that the paper is too short, despite the fact that demo papers are supposed to be no more than two pages, which I've already exceeded.