freenode/#lisp - IRC Chatlog
Search
0:03:22
emaczen
Is CFFI just a portability library using the FFI of whatever CL implementation is being used?
0:04:15
luis
CFFI-SYS is a portability layer. And then CFFI implements a bunch of features on top of that.
0:07:41
void_pointer
emaczen: if you want to see how cffi-sys uses the features of whatever implementation it is on (out of a particular list), take a look at the different implementation specific files in https://github.com/cffi/cffi/tree/master/src
0:08:45
void_pointer
emaczen: for example, if you look in the SBCL one (https://github.com/cffi/cffi/blob/master/src/cffi-sbcl.lisp), you will see heavy use of the sb-sys package that is builtin to SBCL
0:09:49
void_pointer
emaczen: there are probably some uses of it there too. Just, sb-sys was what stood out to me just a minute ago.
0:11:46
void_pointer
most of the time one doesn't need to access it directly, and just use cffi which uses it in the background
1:32:24
emaczen
How do cffi:defcvar cffi:defcfun and cffi:defcstruct work and how does C expose variables, functions and structs so that we can interface?
2:20:41
p_l
emaczen: usually whatever the operating environment has for dynamic symbol resolution, which gives back pointer, which is wrapper appropriately for the Lisp code
4:09:02
minion
specbot: #11911: You wrote the same thing twice here. The cardinal rule of programming is that you never ever write the same thing twice.
4:13:03
minion
#11918: Well, then get one that *does* do auto-indent. You can't do good work with bad tools.
7:41:04
meepdeew
is there an easy way to bind cursor position within BIND-BUTTON for trivial-gamekit?
7:43:42
meepdeew
or rather, just access the value. Or in a case like this does one just store those coords anytime the mouse had moved previously and reuse that value?
8:49:31
no-defun-allowed
is there a way to make a bidirectional stream? i'd like to test how cl-decentralise reacts to some commands
8:49:56
no-defun-allowed
i'm guessing flexi-streams does something but i'm not sure what i want from it
10:26:38
knobo
I suddenly realized that often I do (let ((key (getf var :key)) when I could have done (destructuring-bind (&key key &allow-other-keys) var..
10:30:09
pjb
What you should have done if you do it often, is (defmacro with-key ((key-var plist) &body body) `(let ((,key-var (getf ,plist ,(intern (symbol-name key-var) "KEYWORD")))) ,@body)) and write (with-key (key var) …)