freenode/lisp - IRC Chatlog
Search
9:29:34
pjb
shrdlu68: there are other fuzzers that take into account the paths taken by the program (they have to instrument it), to explore and find the right input to exercise all the paths.
9:58:19
pjb
Now, of course, http://lcamtuf.coredump.cx/afl/ instruments C code. Perhaps it could be adapted to instrument CL code (using something like eg. cl-stepper).
11:24:21
p_l
pjb: there's a story (legend or truth, who knows) that some intern at Google melted a rack while fuzzing libpng...
11:26:15
p_l
sounds like common problem whenever someone touches x509 (and that includes big commercial players)
11:27:37
p_l
I do as well, but ASN.1 shows in so many places that having a single, good implementation that is portable it would be great
11:28:18
p_l
shrdlu68: I often find myself thinking that OSI protocol stack etc. was probably better for *today* even if it was too heavy in the past
11:28:48
shrdlu68
p_l: I'll put cl-tls on github i the next hour or so. The ASN.1 code so far is mostly a prototype, but I'd like your opinion on it.
11:29:38
shrdlu68
It's not as comprehensive as I'd like at this point, but that's something I'll work on.
11:31:21
shrdlu68
I noticed the work I was doing was something that could be automatable. Mostly iterating over an octet vector while ensuring types match, lengths are okay, etc.
11:31:26
p_l
shrdlu68: there's a lot of that done already in cl-snmp, but ideally it would be a separate library/toolkit
12:29:50
acow
can i ask what the values of (subtypep 'integer 'signed-byte) and (subtypep 'signed-byte 'integer should be?)
12:34:46
acow
Yep, saw the hyperspec, but I'm just concerned that I'm either going crazy or its too late at night...
12:35:53
beach
I mean, that behavior on the part of SBCL is correct according to the Common Lisp HyperSpec.
12:36:52
beach
"The atomic type specifier signed-byte denotes the same type as is denoted by the type specifier integer"
12:53:49
shka_
secondly, i think that your code is more or less correct, but now i have to check what sbcl does here
14:39:13
drmeister
beach: In your approach to fast GF dispatch - what needs to be considered in a multithreaded environment? (1) Generic function call-history needs to be updated atomically. (2) The funcallable-instance function needs to be updated so that it reflects the most recent generic-function call history?
14:40:16
drmeister
This was my big motivator for incorporating multi-threading into Clasp now - the fast GF dispatch issues.
14:59:02
drmeister
froggey: Hello - and you were able to run the DOOM C source code through it and the product runs?
15:09:00
froggey
I wrote a new SDL backend, which doom links against. the SDL backend bolts on to some graphics syscalls provided by the runtime
15:09:46
froggey
and the runtime implements graphics using either mezzano's native gui or lispbuilder-sdl on other implementations
15:10:29
froggey
libsdl - https://www.libsdl.org/ a C library that provides a basic platform independent graphics api
15:12:16
froggey
the translator (the program that converts LLVM bitcode files to CL source) is written in C++ because I wanted to use LLVM's C++ API. I found the C API is missing bits and pieces
15:13:10
drmeister
So you read bitcode and then iterate through the functions/basic-blocks/instructions and write out CL?
15:16:18
drmeister
In terms of the level of difficulty of supporting it vs generating CL for the rest of llvm-IR?
15:17:09
froggey
I'm not sure it's possible to implement DWARF-style unwinding directly, but there's an LLVM pass for converting invoke instructions to calls to setjmp/longjmp
15:18:30
froggey
to get exceptions working I think I'd have to make it run that pass, implement whatever runtime requirements that pass has, and get libc++abi running
15:19:29
froggey
those would be the major tasks, I probably missed something & haven't looked into the details
15:22:45
pjb
There's a difference between signed-byte and integer however; signed-byte is a type, while integer is a system-class.
15:23:58
drmeister
https://docs.google.com/document/d/1Bub1bV_IIDZDhdld-zTULE2Sv0KNbOXk33KOW8o0aR4/edit#heading=h.whtnf7s9ugr9
15:24:26
froggey
drmeister: whoops, it was written by the PNaCl people, not emscripten. afaik it's part of their llvm fork and not in the main llvm repo
15:24:52
froggey
https://chromium.googlesource.com/native_client/pnacl-llvm/+/master/lib/Transforms/NaCl/PNaClSjLjEH.cpp
15:41:34
froggey
it's a bit complicated. were you thinking of using it for something? I can't think of any use for a transform like that aside from weird llvm backends
15:49:36
drmeister
No - I'm interested in learning more about how people deal with C++ exception handling in different contexts. It's a less central feature of C++ and it's complicated and so it doesn't get much support.
15:56:24
fsmunoz
Is anyone using gmane for mailing lists hosted by common-lisp.net? I received a 550 Reverse DNS verification failed and I'm trying to see if it's something on my end.
17:22:56
gigamonkey
nyef: Yeah, they were DEFPARSER and DEFTERM. I eventually found my way to the font-lock-add-keywords gorp and added a custom rule. Maybe I can figure out something more clever than that later.
18:21:39
phoe
cheryllium: "Of course, Common Lisp is not designed to accommodate multiprocessing, and it would take more than uniting of the function and value namespaces to allow Common Lisp to seriously support multiprocessing."
18:30:16
Bike
it, of course, did take more work than namespaces or whatever, you need locks and shit
18:34:17
shrdlu68_
I've finally gotten cl-tls to a semblance of a working ssl implementation. Still a lot of work to do: https://github.com/shrdlu68/cl-tls
18:36:11
shrdlu68_
Since it's still in early dev, there's bound to be bugs and quirky behavior. Let me know.
18:45:39
trocado
I'm running some time-intensive functions and I notice that sbcl only takes up 25% cpu... Any ideias on how to make it use more?
18:48:43
phoe
Bike: https://www.howtogeek.com/wp-content/uploads/2013/08/cpu-and-memory-usage-in-task-manager.png
18:51:40
jurov
if you can split the problem into 4 or more datasets that can be ran concurrently, do that
18:54:27
Bike
you think about what parts of your program are actually required to be sequential, and set it up so that the expensive stuff that isn't can run nonsequentially.
18:57:10
trocado
at first glance the time-consuming parts must be sequential, it seems... it's analysis on a large data-set
19:29:38
cheryllium
I'm stumped. ASDF cannot find a .asd file in the current working directory, can anyone suggest what to try to debug this?
19:31:36
cheryllium
I guess I shouldn't have assumed it would fall back to cwd if it wasn't found in the paths
19:36:57
cheryllium
I did actually... but was intimidated by it (this is entirely my problem, of course)
19:37:29
cheryllium
this is the page I ended up on, I wasn't sure which part was relevant to me: https://common-lisp.net/project/asdf/asdf.html#Controlling-where-ASDF-searches-for-systems
19:42:01
Grue`
read this instead https://common-lisp.net/project/asdf/asdf.html#Configuring-ASDF-to-find-your-systems
19:42:27
Grue`
just make it search under :tree and never worry about it not finding your systems again
19:45:09
cheryllium
Grue`: It says "In earlier versions of ASDF, the system source registry was configured using a global variable, asdf:*central-registry*"
19:58:23
jcarr
I'm having trouble getting asdf working. My current directory (as #P"./") is in the *central-registry*
19:58:50
jcarr
I have the .asd file, and two lisp files, they're all in the same directory (my current one)
20:01:55
jcarr
There's some extras in here but my *central-registry* is (#P"./" "./" "." #P"/home/xxx/quicklisp/quicklisp/")
20:06:35
jcarr
;;;; scss.asd (asdf:defsystem #:scss :description "Scss compiler in common lisp" :author "... <...@gmail.com>" :license "MIT" :depends-on (#:smug) :serial t :components ((:file "package") (:file "scss")))
20:06:52
PuercoPop
jcarr: I don't think it is a good idea to put #P"./" into the ASDF central-registry.
20:08:13
shrdlu68
jcarr: Create a soft link to your project directory within a direcotyr that is in *central-registry*
20:09:29
PuercoPop
they linked you the ADSF manual. Basically (:tree "/path/to/theparent/dir/of/all/the/other/folders") or (:directory "/home/puercopop/.emacs.d/site-lisp/sly/slynk/")
20:12:01
PuercoPop
or if you prefer to use the deprecated central-register write the absolute path instead instead of a relative one.
20:25:58
Grue`
jcarr: https://common-lisp.net/project/asdf/asdf.html#Configuring-ASDF-to-find-your-systems
20:37:35
cheryllium
what would you say is the easiest way to remove a list of keys from an alist? (as in, given a list of keys and an alist, return that alist with all entries matching those keys removed)
20:38:00
cheryllium
I found the remove functions for lists, was wondering if there is something specialized for alists however since they are so common?
20:38:59
cheryllium
To "show my effort" i suppose, I found this answer: http://stackoverflow.com/questions/8703479/common-lisp-remove-a-pair-in-an-alist-via-setq-and-assoc
20:39:23
cheryllium
The only difference here is I have a list of keys I want to filter out, so to speak
20:40:09
cheryllium
(er - just the remove part of that answer i mean, I know not to use setf and I don't wish to destroy/overwrite the original list)
20:42:39
mazoe
what’s the format magic to print a readable keyword? (e.g. (format t “~A” :bla) prints “BLA” and I want “:bla”)
20:42:51
Bike
for multiple i'd do (loop for pair in alist unless (find (car pair) keys-to-remove) collect pair)
20:52:13
cheryllium
not to prematurely optimize but does that match up performance-wise as well, do you know?
20:52:48
Grue`
if you want to optimize, make bad-keys a hash-table or something (if you have a lot of bad keys)
20:53:12
cheryllium
also, I'm now getting an error "The function STREAM is undefined" but I thought this was a built-in function?
20:55:32
cheryllium
ah.. I assumed it was to create a stream for i/o, for instance when calling with-open-file
20:57:02
cheryllium
I guess my question is, how to take a filename and create a stream object from it?
21:11:59
phoe
everyone - mazoe is the amazing guy today, for he created a mapping between symbols in the CL package and their respective CLHS and *CLUS* pages