freenode/lisp - IRC Chatlog
Search
12:12:09
drmeister
jackdaniel: ECL has this thing ECL_USE_MPROTECT that uses mprotect to trap access to the environment to indicate that there is a pending signal. I don't understand why that is faster than the alternative of calling ecl_check_pending_interrupts(env) in https://gitlab.com/embeddable-common-lisp/ecl/blob/develop/src/h/external.h#L1865
12:13:03
drmeister
I don't know if you have dug into this part of ECL - but do you have any insight as to why using mprotect is faster than the alternative?
12:16:40
flip214
drmeister: probably because checking a flag in tight loops costs performance in each iteration, while the "memory protection fault" comes mostly free with the next access
12:26:51
jackdaniel
didi: ASDF manual is updated frequently and ASDF's API change, you probably have version bundled with your implementation
12:28:48
jackdaniel
oh, then you'll probably be out of luck with getting help here (people rarely use lisp-controller from my observation)
12:29:36
didi
jackdaniel: I don't think lisp-controller is used much nowadays in Debian, but I might be wrong.
12:30:08
iago
that's something I was asking on clnoobs. What is better use the libraries provided by your package manager or to set up your own environment ?
12:30:52
jackdaniel
for development its better to use quicklisp (and that's what most people do) – deployment is another story
12:31:24
flip214
Sorry. I'd *like* to use debian packages (because they'd be kept up to date "automatically"!), but unfortunately most are too old. So I use Quicklisp too.
12:32:01
flip214
jackdaniel: QL can use older package sets as well, so some fixed-version deployment is easy as well
12:34:14
flip214
z0d: well, debian testing/unstable is quite nice for most packages... sadly the CL stuff isn't that regularly updated as in QL
12:35:10
jackdaniel
didi: if you stick to debian version, then you don't want asdf manual, but rather documentation installed with the package
12:40:13
flip214
I even pin "sbcl" to "experimental" to get the good stuff as early as possible... ;)
13:26:13
jackdaniel
jdz: you may want to use :initial-bindings argument to make-thread, so you don't have to declare it locally
13:27:17
jdz
This way it's more flexible -- I don't have to control the thread creation to use the facility.
13:27:54
flip214
jdz: depending on how small the loops are where this is checked, you could also have a global hash-table
13:28:00
jdz
OK, so it's not too horrible. I'll leave this in my code, and see when I trip up on it myself :)
13:29:07
flip214
jdz: could have weak keys, so that threads quitting would clean that up automatically
13:29:40
warweasle
minion: memo for XachX: I think I fixed clinch. It built with (ql:quickload :clinch :verbose t)
13:30:04
warweasle
jackdaniel: I've been awayish for a while. Trying to get back to my roots as a lisper.
13:30:50
jackdaniel
warweasle: I'm waiting impatiently until clinch api stabilizes, so I can get back to hacking with it – it was fun afair :)
13:32:29
warweasle
Xach: I had to do some old asdf style manual package management. I should be thanking you.
13:33:43
warweasle
jackdaniel: I have several new examples. It's much nicer now. I expect the API to remain fairly constant. I have a couple of issues but I'll leave them for a while to keep things stable. (pango still uses bad key names :pango_alignment_left, etc)
13:35:20
kuba-orlik
Hi! Could you help me figure out why the last line throws an error? http://pastebin.com/9TmHCHSj
13:42:59
ogamita
kuba-orlik: notice that even emacs lisp has structures and objects, so you don't really need to use this old fashioned style.
13:50:45
daemoz
Is there a way to have emacs store my fasl files somewhere cleaner? Or is it pretty standard for them to live in the source code directory?