libera/#sbcl - IRC Chatlog
Search
18:16:58
karlosz
stassats: why do we special case funcall_alien_callback on x86? is it actually much faster?
18:17:58
karlosz
i tried passing os_vm_thread into call_into_lisp instead of duplicating it in assembly and it seems to work
18:51:06
q3cpma
Hello, I'm using (loop for l = (read-line stream nil nil) while l <do some stuff with l as a string>), but I get a type error because SBCL doesn't understand that the if the while check passed, I have a string and not nil. What's the idiomatic way of saying "shut up"?
19:02:06
_death
well, a with clause would be valid there, but the order of evaluation is not what you'd expect
19:05:10
q3cpma
I used `with sym = (when line (read-from-string line))` in the end, but not very pretty
19:06:17
specbot
Local Variable Initializations: http://www.lispworks.com/reference/HyperSpec/Body/06_abb.htm
19:07:26
q3cpma
I actually read the entire loop spec a week ago, but it won't fully integrate 'til I've used it a lot, I guess
19:08:11
_death
loop is not expressive enough for this collection, so you'd need to push it to some list yourself, or use another operator (iterate does support it, but maybe you want to stick to CL operators)
19:35:02
stassats
but we should make callbacks call lisp functions that accept C arguments, none of that silly wrapper
21:45:22
karlosz
for loading static fun address, one way to get around the 64-bit address thing is just to do rip relative loads from the current assembly routine
21:52:02
karlosz
i don't remember how to do rip-relative loads from the current assembly routine though
21:59:20
karlosz
stassats: for example, in static-fun-addr, since that's only used from assembly routines, and assembly routines live within 32-bit displacements from the static-fun-addrs, i figured we can compute the static-fun-addrs just from the current instruction being emitted or something