freenode/#lisp - IRC Chatlog
Search
16:30:02
Bike
i guess dynamic wind is just unwind protect but there's also a nonlocal entry cleanup, that doesn't seem too bad
16:35:10
Bike
the first time i saw a detailed explanation of it it was combined with something like handler-bind, and it went in both directions
17:55:31
Bike
on sbcl the compiler does not run concurrently, so you have to do that kind of thing (not sure about ccl etc)
18:04:10
jasom
also note that a large fraction of quicklisp projects have :serial t set so poiu gets zero gain
18:04:20
flip214
Bike: for SBCL compilation itself there's SBCL_MAKE_PARALLEL, so why not do something similar in QL?
18:05:04
flip214
Eg. after compiling a new SBCL, recompiling all the QL systems might be done much faster.
18:05:24
jasom
forking rather than threads is more deterministic, as it will discard any changes to the global environment caused by compiling
18:08:05
jasom
It looks like poiu predates xcvb; it was clear that there was influence, and they both came from ITA
18:11:40
jasom
At a high level it's just a parallel{ fork() compile}; load, but getting it right is non-trivial, and there's a lot of inversion of control with ASDF
18:12:16
Bike
yeah what i mean is, i wanted to do compile instead of fork, but i tried to understandn action plans and something in me died
18:37:40
pjb
beach: Capability Hardware Enhanced RISC Instructions (CHERI) http://www.cl.cam.ac.uk/research/security/ctsrd/cheri/
19:15:52
dim
(I would like to select it from handler-case here, but maybe I just don't understand what I'm doing at this point)
19:16:23
jasom
dim: the restart needs to be available; with handler-case the stack has already unwound so it's not going to work
19:17:58
dim
well in my case I need to redo all I've done in the function, so I don't need to stay at my position in the stack
19:46:59
dim
(handler-bind ((condition (lambda (c) (format t "bind: ~a~%" c)))) (handler-case (error 'cl-postgres-error::crash-shutdown :message "plop") (cl-postgres-error::crash-shutdown (condition) (format t "case: ~a~%" condition))))
19:47:56
Bike
you mean, you have a handler case, and there's an error, and its handler isn't firing?
19:48:22
pjb
It may be clumsy to handle CONDITION, since there may be implementation specific non-error conditions that are essential to the good working of the implementation that need to be handled (by the implementation).
19:49:51
dim
condition, I should refrain yes, but then unexpected behavior happens leaving users in the interactive debugger
19:51:41
Posterdati
pjb: basically I export the gpio, then poll the stat of gpioXX to see if (and mode #o664) = #o664
20:01:02
pjb
ie. it doesn't matter if you can access the item thru the other, the group or the owned access rights.
22:29:23
mrottenkolber
When it says Mbps in an Intel whitepaper it means Megabits per second, right?
23:59:54
dim
now working on having pgloader resilient to PostgreSQL operator interventions such as a restart... people have strange ideas about what is a bug sometimes, but at the same time, if we can handle it?
0:03:35
dim
the bug report reads: “When server restarts, or there is an issue with network connection, import fails with error:“
0:04:09
dim
(but then adds “but pgloader does not stop and is running infinitely” unfortunately, or it would have been great)
3:03:32
vtomole
beach: I think I understand your Sequence Functions paper. What should i do now? (with respect to SICL)
3:05:18
beach
There is a lot of obsolete code in the Sequences subdirrectory, so be careful what you believe.
3:06:14
vtomole
Is this the most recent code? :https://github.com/robert-strandh/SICL/tree/master/Papers/Sequence-functions/Code/Find
3:09:28
beach
As you can see, in Common, there is code for utilities, condition reporting and the sequence functions FIND, POSITION, and COUNT.
3:11:59
beach
You will need to make sure ASDF does not fail on warnings, and you need to increase the inline limit of SBCL to 10000 or so.
3:12:33
vtomole
How long should it take? I have "CL-USER> (ql:quickload :paper-sequence) To load "paper-sequence": Load 1 ASDF system: paper-sequence ; Loading "paper-sequence" ........."
3:14:13
beach
As you can see from the paper, the body of the function (i.e. the LOOP) is duplicated many times, maybe thousands, so the code is very large for the compiler to process.
3:15:30
vtomole
Yeah you mentioned that to me yesterday. I didn't register that it would be minutes, maybe 1 min max.
3:16:25
beach
But there are warnings that can't be silenced, and by default, ASDF fails when there are warnings, so you need to make sure that ASDF does not do that.
3:17:27
beach
Then you need to bump SBCL inline limit, or it just won't do all the inlining that is required for things to be fast.
3:23:27
beach
Then, in Test there are tests from the Paul Dietz test suite for ANSI Common Lisp. It would be good to make sure that the three functions implemented so far pass those tests.
3:25:51
beach
Probably the best thing to do is to rename the obsolete ASDF systems so that they mention "-obsolete" or something, and then rename the paper-sequence.asd system to sicl-sequence-support to correspond to the test system.
3:37:20
beach
Normally, if you are using SLIME, you have a buffer named *inferior-lisp*. Check it please.
3:37:25
vtomole
Ah yes " *GC-PENDING* = true *STOP-FOR-GC-PENDING* = false fatal error encountered in SBCL pid 13093(tid 140737256617728): Heap exhausted, game over. Error opening /dev/tty: No such device or address Welcome to LDB, a low-level debugger for the Lisp runtime environment."
3:38:14
beach
In your .emacs, do (setq inferior-lisp-program "/usr/local/bin/sbcl --dynamic-space-size 10000") or something like that.
3:44:51
beach
vtomole: Maybe the sequence functions require too much fiddling at this point. If you want to, I can try to find something that requires less of that. But then you have to give me time.
3:55:14
beach
Maybe something smaller is enough for the sequence functions, but I need that much for the bootstrapping process.
3:58:03
vtomole
Okay i set it in .emacs, and started a new REPL, I get "Heap exhausted during garbage collection: 8144 bytes available, 8208 requested."
4:09:13
vtomole
CL-USER> (room) Dynamic space usage is: 120,958,224 bytes. Read-only space usage is: 4,944 bytes. Static space usage is: 3,168 bytes. Control stack usage is: 8,888 bytes. Binding stack usage is: 1,072 bytes. Control and binding stack usage is for the current thread only. Garbage collection is currently enabled. Breakdown for dynamic space: 31,682,096 bytes for 1,980,131 cons objects. 29,299,584 bytes for
4:28:24
beach
vtomole: Try doing it outside SLIME first. Just start SBCL from a shell with the --dynamic-space-size that I showed you.